feat: simplify homepage layout by removing redundant sections, enhancing the hero section, and updating testimonials for improved clarity and engagement

This commit is contained in:
2025-12-04 09:35:58 -05:00
parent 71a4d044fe
commit 93bd9b74c4

View File

@@ -1,53 +1,13 @@
<div class="min-h-screen">
@if(theme('homepage_layout', 'landing') === 'landing')
<!-- Landing Page Layout -->
<!-- Custom HTML Section -->
<!-- Homepage-specific custom HTML -->
@if(theme('custom_homepage_html'))
<div class="custom-homepage-content">
{!! theme('custom_homepage_html') !!}
</div>
@endif
<!-- Hero Section -->
<section class="relative isolate overflow-hidden bg-gradient-to-b from-background-primary via-background to-background-secondary/50 pt-18 pb-32 px-8">
@if(theme('background_image_url'))
<div class="background-image-layer"
style="position: absolute;
top: 0;
left: 0;
width: 100%;
min-height: 100%;
background-image: url('{{ theme('background_image_url') }}');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: scroll;
opacity: {{ theme('background_image_opacity', 30) / 100 }};
filter: blur({{ theme('background_image_blur', 5) }}px);
z-index: -2;
pointer-events: none;
-webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%);
mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: center;
mask-position: center;">
</div>
@endif
<svg class="absolute inset-0 -z-10 h-full w-full stroke-primary/15 [mask-image:radial-gradient(100%_100%_at_top_right,white,transparent)]" aria-hidden="true">
<defs>
<pattern id="grid-pattern" width="80" height="80" x="50%" y="-1" patternUnits="userSpaceOnUse">
<path d="M.5 80V.5H80" fill="none" />
</pattern>
</defs>
<rect width="100%" height="100%" strokeWidth="0" fill="url(#grid-pattern)" />
</svg>
<div class="mt-20 container mx-auto px-4 lg:px-8 relative z-10">
<div class="max-w-7xl lg:grid lg:grid-cols-12 lg:gap-x-8 lg:px-0">
<div class="lg:col-span-7 lg:px-0 lg:pt-4">
<div class="relative overflow-hidden">
<div class="container mx-auto px-4 py-20 md:py-24 relative z-10">
<div class="text-center max-w-5xl mx-auto">
<!-- Hero Badge -->
<div class="inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-primary/30 bg-primary/10 text-primary text-xs font-semibold mb-6 animate-fade-in-up">
@@ -132,22 +92,8 @@
</div>
</div>
</div>
<!-- Hero Image/Illustration -->
<div class="mt-16 sm:mt-24 lg:col-span-5 lg:mt-0">
<div class="relative mb-8">
@php
$heroImg = theme('homepage_hero_illustration_url') ?: 'https://pngimg.com/d/minecraft_PNG40.png';
$heroAlt = theme('homepage_hero_illustration_alt', 'Hero Illustration');
@endphp
<div class="absolute -inset-4 rounded-full bg-gradient-to-r from-primary/20 to-secondary/20 blur-2xl opacity-25 pointer-events-none"></div>
<img src="{{ $heroImg }}" alt="{{ $heroAlt }}" class="relative w-full h-auto object-contain animate-float" />
</div>
</div>
</div>
</div>
</section>
<!-- Stats Section -->
<div class="py-16 md:py-24">
@@ -480,116 +426,89 @@
</div>
</div>
</div>
<!--
<!-- Testimonials Section -->
<section class="relative py-20 bg-gradient-to-b from-background/50 via-background-secondary/20 to-background-secondary/40 px-8">
<div class="py-20">
<div class="container mx-auto px-4">
<div class="text-center mb-16">
<h2 class="text-4xl font-bold text-color-base mb-4">
{{ theme('testimonials_title', 'What Customers Say') }}
<h2 class="text-4xl md:text-5xl font-bold text-color-base mb-6">
{{ theme('testimonials_title', 'What Gamers Say') }}
</h2>
<p class="text-lg text-color-muted max-w-2xl mx-auto">
{{ theme('testimonials_subtitle', 'Join thousands of satisfied customers') }}
<p class="text-xl text-color-muted max-w-2xl mx-auto">
{{ theme('testimonials_subtitle', 'Join thousands of satisfied customers who\'ve made the switch to premium hosting') }}
</p>
</div>
<div class="grid md:grid-cols-3 gap-8">
@for ($i = 1; $i <= 3; $i++)
<div class="p-8 rounded-2xl bg-background-secondary/80 border border-neutral hover:border-primary/30 transition-all duration-300">
<div class="flex items-center gap-4 mb-6">
<div class="w-12 h-12 rounded-full bg-gradient-to-br from-primary to-primary/60 flex items-center justify-center text-white font-bold">
{{ substr(theme("testimonial_{$i}_name", 'Customer'), 0, 1) }}
<div class="bg-gradient-to-br from-background-secondary/80 to-background-secondary/40 backdrop-blur-sm border border-primary/20 p-8 rounded-2xl transform transition-all duration-300 hover:scale-105 hover:border-primary/40">
<div class="flex items-center mb-6">
<div class="w-12 h-12 bg-gradient-to-br from-primary to-primary/80 rounded-full flex items-center justify-center mr-4">
<span class="text-white font-bold">{{ substr(theme('testimonial_1_name', 'John Doe'), 0, 1) }}{{ substr(explode(' ', theme('testimonial_1_name', 'John Doe'))[1] ?? '', 0, 1) }}</span>
</div>
<div>
<h4 class="font-bold text-color-base">{{ theme("testimonial_{$i}_name", 'Customer Name') }}</h4>
<p class="text-sm text-color-muted">{{ theme("testimonial_{$i}_role", 'Role') }}</p>
<h4 class="font-bold text-color-base">{{ theme('testimonial_1_name', 'John Doe') }}</h4>
<p class="text-color-muted text-sm">{{ theme('testimonial_1_role', 'Minecraft Server Admin') }}</p>
</div>
</div>
<p class="text-color-muted italic mb-4">"{{ theme("testimonial_{$i}_quote", 'Great service!') }}"</p>
<div class="flex gap-1">
@for ($j = 0; $j < 5; $j++)
<x-ri-star-fill class="h-4 w-4 text-warning" />
@endfor
<p class="text-color-muted italic mb-4 text-lg">"{{ theme('testimonial_1_quote', 'Best hosting service I\'ve ever used. Zero downtime and lightning-fast support response!') }}"</p>
<div class="flex text-warning text-lg">
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
</div>
</div>
@endfor
</div>
</div>
</section>
<!-- FAQ Section -->
<section class="relative py-20 bg-gradient-to-b from-background-secondary/40 via-background to-background-secondary/20 px-8">
<div class="container mx-auto px-4">
<div class="text-center mb-16">
<h2 class="text-4xl font-bold text-color-base mb-4">
{{ theme('faq_title', 'Frequently Asked Questions') }}
</h2>
<p class="text-lg text-color-muted max-w-2xl mx-auto">
{{ theme('faq_subtitle', 'Find answers to common questions about our services') }}
</p>
</div>
<div class="max-w-7xl mx-auto w-full" x-data="{ openFaq: null }">
<div class="space-y-4">
@php
$faqs = [
[
'question' => 'How quickly can I get my server up and running?',
'answer' => 'Your server will be automatically deployed within 60 seconds after payment confirmation. Our automated system ensures instant setup with zero manual intervention required.'
],
[
'question' => 'What payment methods do you accept?',
'answer' => 'We accept all major payment methods including credit/debit cards, PayPal, cryptocurrency, and local payment options. All transactions are secured with industry-standard encryption.'
],
[
'question' => 'Can I upgrade or downgrade my plan anytime?',
'answer' => 'Yes! You can upgrade or downgrade your hosting plan at any time through your dashboard. Changes take effect immediately, and we\'ll pro-rate any pricing differences.'
],
[
'question' => 'Do you offer refunds if I\'m not satisfied?',
'answer' => 'We offer a 30-day money-back guarantee. If you\'re not completely satisfied with our service within the first 30 days, contact our support team for a full refund.'
],
[
'question' => 'What kind of support do you provide?',
'answer' => 'We provide 24/7 customer support through live chat, email, and ticket system. Our expert team is always ready to help you with technical issues, setup assistance, or any questions.'
],
[
'question' => 'How do you handle DDoS attacks?',
'answer' => 'All our servers come with enterprise-grade DDoS protection that automatically detects and mitigates attacks in real-time, ensuring your server stays online even during large-scale attacks.'
]
];
@endphp
@foreach($faqs as $index => $faq)
<div class="group border border-neutral rounded-xl overflow-hidden bg-background-secondary hover:border-primary/30 transition-all duration-300">
<button
@click="openFaq = openFaq === {{ $index }} ? null : {{ $index }}"
class="w-full flex items-center justify-between p-6 text-left"
:aria-expanded="openFaq === {{ $index }}"
>
<span class="text-lg font-semibold text-color-base pr-8">
{{ theme('faq_'.($index + 1).'_question', $faq['question']) }}
</span>
<span class="flex-shrink-0 transition-transform duration-300"
:class="{ 'rotate-45': openFaq === {{ $index }} }">
<x-ri-add-line class="h-6 w-6 text-primary" />
</span>
</button>
<div
x-show="openFaq === {{ $index }}"
x-collapse
class="overflow-hidden"
>
<div class="px-6 pb-6 text-color-muted leading-relaxed">
{{ theme('faq_'.($index + 1).'_answer', $faq['answer']) }}
<div class="bg-gradient-to-br from-background-secondary/80 to-background-secondary/40 backdrop-blur-sm border border-secondary/20 p-8 rounded-2xl transform transition-all duration-300 hover:scale-105 hover:border-secondary/40">
<div class="flex items-center mb-6">
<div class="w-12 h-12 bg-gradient-to-br from-secondary to-secondary/80 rounded-full flex items-center justify-center mr-4">
<span class="text-white font-bold">{{ substr(theme('testimonial_2_name', 'Sarah Anderson'), 0, 1) }}{{ substr(explode(' ', theme('testimonial_2_name', 'Sarah Anderson'))[1] ?? '', 0, 1) }}</span>
</div>
<div>
<h4 class="font-bold text-color-base">{{ theme('testimonial_2_name', 'Sarah Anderson') }}</h4>
<p class="text-color-muted text-sm">{{ theme('testimonial_2_role', 'Gaming Community Leader') }}</p>
</div>
</div>
<p class="text-color-muted italic mb-4 text-lg">"{{ theme('testimonial_2_quote', 'The performance boost was incredible. My players love the zero-lag experience!') }}"</p>
<div class="flex text-warning text-lg">
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
</div>
</div>
<div class="bg-gradient-to-br from-background-secondary/80 to-background-secondary/40 backdrop-blur-sm border border-success/20 p-8 rounded-2xl transform transition-all duration-300 hover:scale-105 hover:border-success/40">
<div class="flex items-center mb-6">
<div class="w-12 h-12 bg-gradient-to-br from-success to-success/80 rounded-full flex items-center justify-center mr-4">
<span class="text-white font-bold">{{ substr(theme('testimonial_3_name', 'Mike Rodriguez'), 0, 1) }}{{ substr(explode(' ', theme('testimonial_3_name', 'Mike Rodriguez'))[1] ?? '', 0, 1) }}</span>
</div>
<div>
<h4 class="font-bold text-color-base">{{ theme('testimonial_3_name', 'Sarah Anderson') }}</h4>
<p class="text-color-muted text-sm">{{ theme('testimonial_3_role', 'Gaming Community Leader') }}</p>
</div>
</div>
<p class="text-color-muted italic mb-4 text-lg">"{{ theme('testimonial_3_quote', 'Professional grade hosting at an affordable price. Couldn\'t ask for more!') }}"</p>
<div class="flex text-warning text-lg">
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
<x-ri-star-fill class="size-5 text-warning" />
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</section>
-->
<!-- CTA Section -->
<div class="py-12 md:py-16 bg-gradient-to-br from-background-secondary/50 to-background-secondary/30 rounded-2xl">
@@ -627,15 +546,4 @@
<div class="mt-16 mb-8">
{!! hook('pages.home') !!}
</div>
@else
<!-- Portal Page Layout - To be added in next step -->
<!-- Custom HTML Section -->
@if(theme('custom_homepage_html'))
<div class="custom-homepage-content">
{!! theme('custom_homepage_html') !!}
</div>
@endif
<!-- Portal layout content will be added here -->
@endif
</div>