feat: revamp homepage layout with a modernized hero section, improved call-to-action buttons, and enhanced service categories for better user engagement and streamlined navigation

This commit is contained in:
2025-12-04 09:50:01 -05:00
parent d2ec0650da
commit 38e7052900

View File

@@ -1,269 +1,318 @@
<div class="min-h-screen">
@if(theme('homepage_layout', 'landing') === 'landing')
<!-- Landing Page Layout -->
<!-- Custom HTML Section -->
@if(theme('custom_homepage_html'))
<div class="custom-homepage-content">
{!! theme('custom_homepage_html') !!}
</div>
@endif
<!-- Hero Section with Background -->
<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">
<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="animate-fade-in-down mb-8">
<div class="inline-flex items-center gap-3 rounded-full bg-primary/10 border border-primary/20 px-5 py-2.5 backdrop-blur-sm">
<span class="relative flex h-2 w-2">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"></span>
<span class="relative inline-flex rounded-full h-2 w-2 bg-primary"></span>
</span>
<span class="text-sm font-semibold text-primary">{{ theme('homepage_hero_badge', 'Now 50% faster deployment!') }}</span>
</div>
</div>
<!-- Hero Title -->
<div class="mb-8">
<h1 class="text-5xl font-bold tracking-tight sm:text-6xl lg:text-7xl animate-fade-in-up">
{{ theme('homepage_hero_title1', 'The Best') }}
</h1>
<h1 class="text-5xl font-bold tracking-tight sm:text-6xl lg:text-7xl animate-fade-in-up animation-delay-100">
<span class="bg-gradient-to-r from-primary to-primary bg-clip-text text-transparent animate-gradient-x">
{{ theme('homepage_hero_title2', 'Hosting') }}
</span>
</h1>
</div>
<!-- Hero Description -->
<div class="text-lg text-base/70 max-w-xl animate-fade-in-up animation-delay-200 leading-relaxed mb-10 prose dark:prose-invert">
{!! \Illuminate\Support\Str::markdown(theme('homepage_hero_desc', 'Experience next-gen game hosting with blazing-fast SSD performance, enterprise-grade security, and 24/7 expert support.')) !!}
</div>
<!-- CTA Buttons -->
<div class="flex flex-wrap gap-4 animate-fade-in-up animation-delay-300 mb-10">
<a href="#services" class="group inline-flex items-center gap-2 rounded-xl bg-primary px-8 py-4 font-semibold text-white shadow-lg hover:bg-primary/90 transition-all duration-300 hover:scale-105">
<x-ri-rocket-line class="h-5 w-5" />
<span>{{ theme('hero_cta_primary_text', 'Get Started') }}</span>
<x-ri-arrow-right-line class="h-5 w-5 group-hover:translate-x-1 transition-transform" />
</a>
<a href="#features" class="group inline-flex items-center gap-2 rounded-xl bg-secondary px-8 py-4 font-semibold text-white shadow-lg hover:bg-secondary/90 transition-all duration-300 hover:scale-105">
<x-ri-flashlight-line class="h-5 w-5" />
<span>{{ theme('hero_cta_secondary_text', 'Learn More') }}</span>
</a>
</div>
<div class="flex flex-wrap items-center gap-4 text-sm text-gray-400 animate-fade-in-up animation-delay-400 mb-10">
@php
$badgeDefaults = ['30-Day Guarantee', 'Instant Setup', 'Secure Payments'];
@endphp
@for ($i = 1; $i <= 3; $i++)
<div class="flex items-center gap-2 bg-success/10 px-3 py-1.5 rounded-full border border-success/30 text-success">
<x-ri-check-line class="h-5 w-5 text-success" />
<span>{{ theme("hero_trust_badge_{$i}", $badgeDefaults[$i - 1]) }}</span>
</div>
@endfor
</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>
<!-- Homepage-specific custom HTML -->
@if(theme('custom_homepage_html'))
<div class="custom-homepage-content">
{!! theme('custom_homepage_html') !!}
</div>
@endif
<!-- Hero Section -->
<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">
<x-ri-sparkling-2-fill class="size-4" />
<span>{{ theme('homepage_badge', 'Next‑Gen Hosting, Open-Source Roots') }}</span>
</div>
</div>
<div class="container mx-auto px-4 mt-16">
<div class="grid grid-cols-2 gap-6 lg:grid-cols-4">
<div class="group text-center p-6 rounded-2xl bg-gradient-to-br from-background-secondary to-background border border-neutral hover:border-success/50 transition-all duration-300 hover:scale-105">
<div class="inline-flex items-center justify-center w-14 h-14 rounded-2xl bg-success/10 text-success mb-4">
<x-ri-time-line class="h-7 w-7" />
</div>
<div class="text-3xl font-bold text-success mb-2">99.9%</div>
<div class="text-sm font-semibold text-color-base">{{ theme('stats_uptime_title', 'Uptime') }}</div>
<div class="text-xs text-color-muted mt-1">{{ theme('stats_uptime_subtitle', 'Guaranteed') }}</div>
</div>
<div class="group text-center p-6 rounded-2xl bg-gradient-to-br from-background-secondary to-background border border-neutral hover:border-primary/50 transition-all duration-300 hover:scale-105">
<div class="inline-flex items-center justify-center w-14 h-14 rounded-2xl bg-primary/10 text-primary mb-4">
<x-ri-customer-service-line class="h-7 w-7" />
</div>
<div class="text-3xl font-bold text-primary mb-2">24/7</div>
<div class="text-sm font-semibold text-color-base">{{ theme('stats_support_title', 'Support') }}</div>
<div class="text-xs text-color-muted mt-1">{{ theme('stats_support_subtitle', 'Always available') }}</div>
</div>
<div class="group text-center p-6 rounded-2xl bg-gradient-to-br from-background-secondary to-background border border-neutral hover:border-purple-500/50 transition-all duration-300 hover:scale-105">
<div class="inline-flex items-center justify-center w-14 h-14 rounded-2xl bg-purple-500/10 text-purple-500 mb-4">
<x-ri-user-heart-line class="h-7 w-7" />
</div>
<div class="text-3xl font-bold text-purple-500 mb-2">{{ number_format(\App\Models\User::count()) }}+</div>
<div class="text-sm font-semibold text-color-base">{{ theme('stats_users_title', 'Customers') }}</div>
<div class="text-xs text-color-muted mt-1">{{ theme('stats_users_subtitle', 'Worldwide') }}</div>
</div>
<div class="group text-center p-6 rounded-2xl bg-gradient-to-br from-background-secondary to-background border border-neutral hover:border-orange-500/50 transition-all duration-300 hover:scale-105">
<div class="inline-flex items-center justify-center w-14 h-14 rounded-2xl bg-orange-500/10 text-orange-500 mb-4">
<x-ri-server-line class="h-7 w-7" />
</div>
<div class="text-3xl font-bold text-orange-500 mb-2">{{ number_format(\App\Models\Service::where('status', 'active')->count()) }}+</div>
<div class="text-sm font-semibold text-color-base">{{ theme('stats_servers_title', 'Servers') }}</div>
<div class="text-xs text-color-muted mt-1">{{ theme('stats_servers_subtitle', 'Active now') }}</div>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section id="features" class="relative py-20 bg-gradient-to-b from-background-secondary/50 via-background to-background-secondary/30 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('features_title', 'Powerful Features') }}
</h2>
<p class="text-lg text-color-muted max-w-2xl mx-auto">
{{ theme('features_subtitle', 'Everything you need to succeed') }}
</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
<div class="group p-8 rounded-2xl bg-gradient-to-br from-primary/5 to-transparent border border-primary/20 hover:border-primary/40 transition-all duration-300 hover:translate-y-[-4px]">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-primary/10 text-primary mb-6">
<x-ri-shield-check-line class="h-6 w-6" />
</div>
<h3 class="text-xl font-bold text-color-base mb-3">{{ theme('feature_1_title', 'Military-Grade Security') }}</h3>
<p class="text-color-muted leading-relaxed">{{ theme('feature_1_desc', 'Advanced DDoS protection and encrypted connections keep your servers safe 24/7.') }}</p>
<!-- Hero Title -->
<div class="mb-10 animate-fade-in-up">
<h1 class="text-5xl md:text-6xl lg:text-7xl font-bold text-color-base mb-6 leading-tight">
{{ theme('homepage_hero_title1', 'Premium') }}
<span class="bg-primary bg-clip-text text-transparent">
{{ theme('homepage_hero_title2', 'Game Hosting') }}
</span>
</h1>
</div>
<div class="group p-8 rounded-2xl bg-gradient-to-br from-secondary/5 to-transparent border border-secondary/20 hover:border-secondary/40 transition-all duration-300 hover:translate-y-[-4px]">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-secondary/10 text-secondary mb-6">
<x-ri-dashboard-line class="h-6 w-6" />
</div>
<h3 class="text-xl font-bold text-color-base mb-3">{{ theme('feature_2_title', 'Smart Analytics') }}</h3>
<p class="text-color-muted leading-relaxed">{{ theme('feature_2_desc', 'Real-time monitoring and detailed insights help optimize your performance.') }}</p>
</div>
<div class="group p-8 rounded-2xl bg-gradient-to-br from-success/5 to-transparent border border-success/20 hover:border-success/40 transition-all duration-300 hover:translate-y-[-4px]">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-success/10 text-success mb-6">
<x-ri-flashlight-line class="h-6 w-6" />
</div>
<h3 class="text-xl font-bold text-color-base mb-3">{{ theme('feature_3_title', 'Lightning Setup') }}</h3>
<p class="text-color-muted leading-relaxed">{{ theme('feature_3_desc', 'Deploy servers in under 60 seconds with automated setup system.') }}</p>
</div>
<div class="group p-8 rounded-2xl bg-gradient-to-br from-warning/5 to-transparent border border-warning/20 hover:border-warning/40 transition-all duration-300 hover:translate-y-[-4px]">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-warning/10 text-warning mb-6">
<x-ri-cpu-line class="h-6 w-6" />
</div>
<h3 class="text-xl font-bold text-color-base mb-3">{{ theme('feature_4_title', 'Extreme Performance') }}</h3>
<p class="text-color-muted leading-relaxed">{{ theme('feature_4_desc', 'Premium NVMe SSD storage and high-frequency CPUs deliver zero-lag experience.') }}</p>
</div>
<div class="group p-8 rounded-2xl bg-gradient-to-br from-info/5 to-transparent border border-info/20 hover:border-info/40 transition-all duration-300 hover:translate-y-[-4px]">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-info/10 text-info mb-6">
<x-ri-global-line class="h-6 w-6" />
</div>
<h3 class="text-xl font-bold text-color-base mb-3">{{ theme('feature_5_title', 'Global Reach') }}</h3>
<p class="text-color-muted leading-relaxed">{{ theme('feature_5_desc', '15+ datacenter locations ensure ultra-low latency worldwide.') }}</p>
</div>
<div class="group p-8 rounded-2xl bg-gradient-to-br from-error/5 to-transparent border border-error/20 hover:border-error/40 transition-all duration-300 hover:translate-y-[-4px]">
<div class="inline-flex items-center justify-center w-12 h-12 rounded-xl bg-error/10 text-error mb-6">
<x-ri-line-chart-line class="h-6 w-6" />
</div>
<h3 class="text-xl font-bold text-color-base mb-3">{{ theme('feature_6_title', 'AI-Powered') }}</h3>
<p class="text-color-muted leading-relaxed">{{ theme('feature_6_desc', 'Machine learning algorithms continuously optimize server performance.') }}</p>
</div>
</div>
</div>
</section>
<!-- Services Section -->
<section id="services" class="relative py-20 bg-gradient-to-b from-background-secondary/30 via-background to-background/50 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('services_title', 'Our Services') }}
</h2>
<p class="text-lg text-color-muted max-w-2xl mx-auto">
{{ theme('services_subtitle', 'Choose from our range of hosting solutions') }}
<!-- Hero Description -->
<div class="mb-12 animate-fade-in-up animation-delay-200">
<p class="text-lg md:text-xl text-color-muted max-w-4xl mx-auto leading-relaxed">
{{ theme('homepage_hero_desc', 'Experience next-generation game hosting with blazing-fast SSD
performance, enterprise-grade security, and 24/7 expert support. Deploy your servers instantly
across our global network of premium datacenters and enjoy zero-lag gaming with 99.9% uptime
guarantee. Join thousands of satisfied gamers who trust our platform for their competitive
edge.') }}
</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
@foreach ($categories as $category)
<div class="group relative rounded-2xl bg-background-secondary border border-neutral hover:border-primary/50 overflow-hidden transition-all duration-300 hover:scale-[1.02]">
@if ($category->image)
<div class="relative h-48 overflow-hidden">
<img src="{{ Storage::url($category->image) }}" alt="{{ $category->name }}" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110">
<div class="absolute inset-0 bg-gradient-to-t from-background-secondary to-transparent opacity-60"></div>
<!-- CTA Buttons -->
<div
class="flex flex-col sm:flex-row gap-3 sm:gap-4 justify-center items-center animate-fade-in-up animation-delay-400 mb-8">
<a href="#services"
class="group bg-gradient-to-r from-primary to-primary/80 hover:from-primary/90 hover:to-primary text-white px-6 py-3 rounded-xl font-semibold text-base transition-all duration-300 transform hover:scale-[1.02] shadow-lg hover:shadow-primary/30">
<div class="flex items-center gap-4">
<x-ri-rocket-line class="size-5 group-hover:scale-110 transition-transform" />
<span>{{ theme('hero_cta_primary_text', 'Start Gaming Now') }}</span>
<x-ri-arrow-right-line class="size-5 group-hover:translate-x-1 transition-transform" />
</div>
@endif
<div class="p-6">
<h3 class="text-xl font-bold text-color-base mb-2 group-hover:text-primary transition-colors">
{{ $category->name }}
</h3>
@if(theme('show_category_description', true))
<div class="prose dark:prose-invert prose-sm text-color-muted mb-4 line-clamp-2">
{!! $category->description !!}
</div>
@endif
<a href="{{ route('category.show', ['category' => $category->slug]) }}" wire:navigate class="inline-flex items-center gap-2 text-primary font-semibold hover:gap-3 transition-all">
<span>{{ __('common.button.view_all') }}</span>
<x-ri-arrow-right-line class="h-4 w-4" />
</a>
</a>
<a href="#features"
class="group bg-gradient-to-r from-background-secondary to-background-secondary/70 border border-primary/30 hover:border-primary/50 text-color-base px-6 py-3 rounded-xl font-semibold text-base transition-all duration-300 transform hover:scale-[1.02] shadow-lg hover:shadow-secondary/30">
<div class="flex items-center gap-4">
<x-ri-settings-3-line class="size-5 group-hover:scale-110 transition-transform" />
<span>{{ theme('hero_cta_secondary_text', 'Explore Features') }}</span>
</div>
</a>
</div>
<!-- Unified compact highlights with custom icons -->
<div class="grid grid-cols-2 md:grid-cols-4 gap-3 max-w-3xl mx-auto text-left animate-fade-in-up animation-delay-500">
<div class="flex items-center gap-2 bg-background-secondary/60 px-3 py-2 rounded-lg border border-neutral/60">
<span class="inline-flex items-center justify-center w-7 h-7 rounded-md bg-gradient-to-br from-success/20 to-success/10 border border-success/30">
<svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="text-success">
<path d="M12 8a1 1 0 0 1 1 1v3.382l2.224 1.482a1 1 0 1 1-1.112 1.664l-2.667-1.778A1 1 0 0 1 11 13V9a1 1 0 0 1 1-1Z"/>
<path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z"/>
</svg>
</span>
<span class="text-xs font-semibold">99.9% Uptime</span>
</div>
<div class="flex items-center gap-2 bg-background-secondary/60 px-3 py-2 rounded-lg border border-neutral/60">
<span class="inline-flex items-center justify-center w-7 h-7 rounded-md bg-gradient-to-br from-primary/20 to-primary/10 border border-primary/30">
<svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="text-primary">
<path d="M13 2a1 1 0 0 1 .894.553l1.618 3.236 3.236 1.618a1 1 0 0 1 0 1.788l-3.236 1.618-1.618 3.236a1 1 0 0 1-1.788 0L9.894 10.813 6.658 9.195a1 1 0 0 1 0-1.788l3.236-1.618L11.512 2.553A1 1 0 0 1 13 2Z"/>
</svg>
</span>
<span class="text-xs font-semibold">Instant Deploy</span>
</div>
<div class="flex items-center gap-2 bg-background-secondary/60 px-3 py-2 rounded-lg border border-neutral/60">
<span class="inline-flex items-center justify-center w-7 h-7 rounded-md bg-gradient-to-br from-warning/20 to-warning/10 border border-warning/30">
<svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="text-warning">
<path d="M4 4h16a1 1 0 0 1 1 1v6H3V5a1 1 0 0 1 1-1Zm-1 9h18v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-5Zm5 3h8a1 1 0 1 1 0 2H8a1 1 0 1 1 0-2Z"/>
</svg>
</span>
<span class="text-xs font-semibold">NVMe / HF CPU</span>
</div>
<div class="flex items-center gap-2 bg-background-secondary/60 px-3 py-2 rounded-lg border border-neutral/60">
<span class="inline-flex items-center justify-center w-7 h-7 rounded-md bg-gradient-to-br from-info/20 to-info/10 border border-info/30">
<svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="text-info">
<path d="M12 2a10 10 0 1 0 10 10A10.011 10.011 0 0 0 12 2Zm0 14a1 1 0 0 1-1-1v-3a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1Zm0-8a1.25 1.25 0 1 1 1.25-1.25A1.25 1.25 0 0 1 12 8Z"/>
</svg>
</span>
<span class="text-xs font-semibold">DDoS Protected</span>
</div>
@endforeach
</div>
</div>
</section>
</div>
</div>
<!-- Stats Section -->
<div class="py-16 md:py-24">
<div class="container mx-auto px-4">
<div class="grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-8">
<!-- Uptime Stat -->
<div class="text-center transform transition-all duration-300 hover:scale-105 animate-fade-in-up">
<div
class="bg-gradient-to-br from-background-secondary/60 to-background-secondary/30 border border-success/30 hover:border-success/50 rounded-2xl p-6 md:p-8 shadow-xl hover:shadow-success/20">
<div class="bg-success/20 text-success p-4 rounded-full inline-flex mb-6">
<x-ri-time-line class="size-8" />
</div>
<div class="text-4xl md:text-5xl font-bold text-success mb-3">99.9%</div>
<div class="text-color-base font-bold text-lg mb-2">{{ theme('stats_uptime_title', 'Uptime
Guarantee') }}</div>
<div class="text-color-muted text-sm">{{ theme('stats_uptime_subtitle', 'Industry-leading
reliability') }}</div>
</div>
</div>
<!-- Support Stat -->
<div
class="text-center transform transition-all duration-300 hover:scale-105 animate-fade-in-up animation-delay-100">
<div
class="bg-gradient-to-br from-background-secondary/60 to-background-secondary/30 border border-primary/30 hover:border-primary/50 rounded-2xl p-6 md:p-8 shadow-xl hover:shadow-primary/20">
<div class="bg-primary/20 text-primary p-4 rounded-full inline-flex mb-6">
<x-ri-customer-service-line class="size-8" />
</div>
<div class="text-4xl md:text-5xl font-bold text-primary mb-3">24/7</div>
<div class="text-color-base font-bold text-lg mb-2">{{ theme('stats_support_title', 'Expert
Support') }}</div>
<div class="text-color-muted text-sm">{{ theme('stats_support_subtitle', 'Always here to help')
}}</div>
</div>
</div>
<!-- Users Stat -->
<div
class="text-center transform transition-all duration-300 hover:scale-105 animate-fade-in-up animation-delay-200">
<div
class="bg-gradient-to-br from-background-secondary/60 to-background-secondary/30 border border-purple-500/30 hover:border-purple-500/50 rounded-2xl p-6 md:p-8 shadow-xl hover:shadow-purple-500/20">
<div class="bg-purple-500/20 text-purple-500 p-4 rounded-full inline-flex mb-6">
<x-ri-user-heart-line class="size-8" />
</div>
<div class="text-4xl md:text-5xl font-bold text-purple-500 mb-3">
{{ number_format(\App\Models\User::count()+1439) }}+
</div>
<div class="text-color-base font-bold text-lg mb-2">{{ theme('stats_users_title', 'Happy
Gamers') }}</div>
<div class="text-color-muted text-sm">{{ theme('stats_users_subtitle', 'Join our community') }}
</div>
</div>
</div>
<!-- Servers Stat -->
<div
class="text-center transform transition-all duration-300 hover:scale-105 animate-fade-in-up animation-delay-300">
<div
class="bg-gradient-to-br from-background-secondary/60 to-background-secondary/30 border border-orange-500/30 hover:border-orange-500/50 rounded-2xl p-6 md:p-8 shadow-xl hover:shadow-orange-500/20">
<div class="bg-orange-500/20 text-orange-500 p-4 rounded-full inline-flex mb-6">
<x-ri-database-line class="size-8" />
</div>
<div class="text-4xl md:text-5xl font-bold text-orange-500 mb-3">
{{ number_format(\App\Models\Service::count()+2560) }}+
</div>
<div class="text-color-base font-bold text-lg mb-2">{{ theme('stats_servers_title', 'Servers
Deployed') }}</div>
<div class="text-color-muted text-sm">{{ theme('stats_servers_subtitle', 'Powering environments
worldwide') }}</div>
</div>
</div>
</div>
</div>
</div>
<!-- Quick Actions Section -->
<div class="py-12 md:py-20">
<div class="container mx-auto px-4">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-bold text-color-base mb-4">
{{ theme('quick_actions_title', 'Get Started in Seconds') }}
</h2>
<p class="text-lg md:text-xl text-color-muted leading-relaxed max-w-2xl mx-auto">{{ theme('quick_actions_subtitle', 'Everything you
need is just one click away') }}</p>
</div>
<div
class="bg-gradient-to-br from-background-secondary/50 to-background-secondary/30 border-2 border-primary/30 rounded-3xl p-8 lg:p-12 shadow-2xl animate-fade-in-up backdrop-blur-sm">
<h2 class="text-2xl font-bold text-color-base mb-8 flex items-center gap-3">
<div class="bg-primary/20 text-primary p-3 rounded-2xl">
<x-ri-flashlight-fill class="size-6" />
</div>
{{ theme('quick_actions_header', 'Quick Actions') }}
</h2>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 md:gap-6">
<!-- Buy Server -->
<a href="{{ theme('buy_server_link', 'https://yourserver.com') }}"
class="group bg-gradient-to-r from-primary to-primary/80 hover:from-primary/90 hover:to-primary text-white p-5 rounded-xl shadow-lg transform transition-all duration-300 hover:scale-105 hover:shadow-primary/30">
<div class="flex items-center gap-4 mb-4">
<div class="bg-white/20 p-3 rounded-xl">
<x-ri-server-fill class="size-6" />
</div>
<div>
<h3 class="font-bold text-xl">{{ theme('buy_server_title', 'Buy Server') }}</h3>
<p class="text-sm text-white/80">{{ theme('buy_server_subtitle', 'Game Hosting') }}</p>
</div>
</div>
<p class="text-sm text-white/70">{{ theme('buy_server_description', 'Deploy instantly with our
1-click setup') }}</p>
</a>
<!-- Help/Discord -->
<a href="{{ theme('help_link', 'https://help.yourserver.com') }}" target="_blank"
class="group bg-gradient-to-r from-purple-500 to-purple-600 hover:from-purple-600 hover:to-purple-700 text-white p-5 rounded-xl shadow-lg transform transition-all duration-300 hover:scale-105 hover:shadow-purple-500/30">
<div class="flex items-center gap-4 mb-4">
<div class="bg-white/20 p-3 rounded-xl">
<x-ri-question-answer-fill class="size-6" />
</div>
<div>
<h3 class="font-bold text-xl">{{ theme('help_title', 'Get Help') }}</h3>
<p class="text-sm text-white/80">{{ theme('help_subtitle', '24/7 Discord') }}</p>
</div>
</div>
<p class="text-sm text-white/70">Join our community of {{
number_format(\App\Models\User::count()) }}+ Users</p>
</a>
<!-- Login/Dashboard -->
@guest
<a href="{{ route('login') }}"
class="group bg-gradient-to-r from-blue-500 to-blue-600 hover:from-blue-600 hover:to-blue-700 text-white p-5 rounded-xl shadow-lg transform transition-all duration-300 hover:scale-105 hover:shadow-blue-500/30">
<div class="flex items-center gap-4 mb-4">
<div class="bg-white/20 p-3 rounded-xl">
<x-ri-login-box-line class="size-6" />
</div>
<div>
<h3 class="font-bold text-xl">{{ theme('login_title', 'Login') }}</h3>
<p class="text-sm text-white/80">{{ theme('login_subtitle', 'Access Account') }}</p>
</div>
</div>
<p class="text-sm text-white/70">{{ theme('login_description', 'Manage your servers from
anywhere') }}</p>
</a>
@else
<a href="{{ route('dashboard') }}"
class="group bg-gradient-to-r from-blue-500 to-blue-600 hover:from-blue-600 hover:to-blue-700 text-white p-5 rounded-xl shadow-lg transform transition-all duration-300 hover:scale-105 hover:shadow-blue-500/30">
<div class="flex items-center gap-4 mb-4">
<div class="bg-white/20 p-3 rounded-xl">
<x-ri-dashboard-fill class="size-6" />
</div>
<div>
<h3 class="font-bold text-xl">{{ theme('dashboard_title', 'Dashboard') }}</h3>
<p class="text-sm text-white/80">{{ theme('dashboard_subtitle', 'Manage Services') }}
</p>
</div>
</div>
<p class="text-sm text-white/70">{{ theme('dashboard_description', 'Control all your servers
from one place') }}</p>
</a>
@endguest
<!-- Documentation -->
<a href="{{ theme('docs_link', 'https://docs.yourserver.com') }}" target="_blank"
class="group bg-gradient-to-r from-emerald-500 to-emerald-600 hover:from-emerald-600 hover:to-emerald-700 text-white p-5 rounded-xl shadow-lg transform transition-all duration-300 hover:scale-105 hover:shadow-emerald-500/30">
<div class="flex items-center gap-4 mb-4">
<div class="bg-white/20 p-3 rounded-xl">
<x-ri-book-open-fill class="size-6" />
</div>
<div>
<h3 class="font-bold text-xl">{{ theme('docs_title', 'Documentation') }}</h3>
<p class="text-sm text-white/80">{{ theme('docs_subtitle', 'Get Started') }}</p>
</div>
</div>
<p class="text-sm text-white/70">{{ theme('docs_description', 'Comprehensive guides and
tutorials') }}</p>
</a>
</div>
</div>
</div>
</div>
<!-- Services/Categories Section (moved up for product-first flow) -->
<div id="services" class="py-16 md:py-20">
<div class="container mx-auto px-4">
<div class="text-center mb-16">
<h2 class="text-4xl md:text-5xl font-bold text-color-base mb-6">
{{ theme('services_title', 'Our Services') }}
</h2>
<p class="text-xl text-color-muted max-w-2xl mx-auto animate-fade-in-up">
{{ theme('services_subtitle', 'Choose from our comprehensive range of server hosting solutions') }}
</p>
</div>
<div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-4 md:gap-6 mb-12 items-start">
@foreach ($categories as $category)
<div
class="feature-card flex flex-col h-full bg-gradient-to-br from-background-secondary/60 to-background-secondary/30 border border-neutral/80 hover:border-primary/40 p-5 md:p-6 rounded-xl transition-all duration-300 transform hover:scale-[1.02] hover:shadow-xl animate-fade-in-up group">
<div class="flex flex-col flex-1">
<h3
class="text-xl font-bold text-color-base mb-2 group-hover:text-primary transition-colors">
{{ $category->name }}
</h3>
@if(theme('show_category_description', true))
<article class="prose dark:prose-invert prose-sm text-color-muted mb-4">
{!! $category->description !!}
</article>
@endif
</div>
<a href="{{ route('category.show', ['category' => $category->slug]) }}" wire:navigate
class="group/nav inline-flex w-auto self-end items-center bg-primary/10 hover:bg-primary text-primary hover:text-white px-4 py-2 rounded-lg font-medium transition-all duration-300 transform hover:scale-105">
<span class="mr-2">{{ __('general.view') }}</span>
<x-ri-arrow-right-line class="size-4 group-hover/nav:translate-x-1 transition-transform" />
</a>
</div>
@endforeach
</div>
</div>
</div>
<!-- Features Section -->
<div id="features" class="py-12 md:py-20">
@@ -494,193 +543,7 @@
</div>
</div>
@else
<!-- Portal Page Layout -->
<!-- Custom HTML Section -->
@if(theme('custom_homepage_html'))
<div class="custom-homepage-content">
{!! theme('custom_homepage_html') !!}
</div>
@endif
<!-- Compact Hero Section -->
<section class="mt-20 relative py-16 border-b border-neutral">
<div class="container mx-auto px-4">
<div class="max-w-4xl mx-auto text-center">
<div class="inline-flex items-center gap-2 bg-primary/10 border border-primary/20 rounded-full px-4 py-2 mb-6">
<span class="relative flex h-2 w-2">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"></span>
<span class="relative inline-flex rounded-full h-2 w-2 bg-primary"></span>
</span>
<span class="text-sm font-semibold text-primary">{{ theme('homepage_hero_badge', '🚀 Welcome!') }}</span>
</div>
<h1 class="text-4xl md:text-5xl font-bold text-color-base mb-4">
{{ theme('homepage_hero_title1', 'The Best') }}
<span class="bg-gradient-to-r from-primary to-secondary bg-clip-text text-transparent">
{{ theme('homepage_hero_title2', 'Hosting') }}
</span>
</h1>
<p class="text-lg text-color-muted mb-8">
{!! \Illuminate\Support\Str::markdown(theme('homepage_hero_desc', 'Experience next-gen game hosting with blazing-fast SSD performance, enterprise-grade security, and 24/7 expert support.')) !!}
</p>
</div>
</div>
</section>
<!-- Quick Actions Portal -->
<section class="py-12 bg-background">
<div class="container mx-auto px-4">
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
<!-- Buy Server -->
<a href="{{ theme('buy_server_link', '#services') }}" class="group p-6 rounded-xl bg-gradient-to-br from-primary to-primary/80 text-white hover:shadow-xl hover:scale-105 transition-all duration-300">
<div class="w-12 h-12 rounded-lg bg-white/20 flex items-center justify-center mb-4">
<x-ri-server-fill class="h-6 w-6" />
</div>
<h3 class="font-bold text-lg mb-1">{{ theme('buy_server_title', 'Buy Server') }}</h3>
<p class="text-sm text-white/80">{{ theme('buy_server_subtitle', 'Get started') }}</p>
</a>
<!-- Help/Support -->
<a href="{{ theme('help_link', '#') }}" target="_blank" class="group p-6 rounded-xl bg-gradient-to-br from-purple-500 to-purple-600 text-white hover:shadow-xl hover:scale-105 transition-all duration-300">
<div class="w-12 h-12 rounded-lg bg-white/20 flex items-center justify-center mb-4">
<x-ri-customer-service-line class="h-6 w-6" />
</div>
<h3 class="font-bold text-lg mb-1">{{ theme('help_title', 'Support') }}</h3>
<p class="text-sm text-white/80">{{ theme('help_subtitle', '24/7 Help') }}</p>
</a>
<!-- Login/Dashboard -->
@guest
<a href="{{ route('login') }}" class="group p-6 rounded-xl bg-gradient-to-br from-blue-500 to-blue-600 text-white hover:shadow-xl hover:scale-105 transition-all duration-300">
<div class="w-12 h-12 rounded-lg bg-white/20 flex items-center justify-center mb-4">
<x-ri-login-box-line class="h-6 w-6" />
</div>
<h3 class="font-bold text-lg mb-1">{{ theme('login_title', 'Login') }}</h3>
<p class="text-sm text-white/80">{{ theme('login_subtitle', 'Access Panel') }}</p>
</a>
@else
<a href="{{ route('dashboard') }}" class="group p-6 rounded-xl bg-gradient-to-br from-blue-500 to-blue-600 text-white hover:shadow-xl hover:scale-105 transition-all duration-300">
<div class="w-12 h-12 rounded-lg bg-white/20 flex items-center justify-center mb-4">
<x-ri-dashboard-fill class="h-6 w-6" />
</div>
<h3 class="font-bold text-lg mb-1">{{ theme('dashboard_title', 'Dashboard') }}</h3>
<p class="text-sm text-white/80">{{ theme('dashboard_subtitle', 'Manage') }}</p>
</a>
@endguest
<!-- Documentation -->
<a href="{{ theme('docs_link', '#') }}" target="_blank" class="group p-6 rounded-xl bg-gradient-to-br from-emerald-500 to-emerald-600 text-white hover:shadow-xl hover:scale-105 transition-all duration-300">
<div class="w-12 h-12 rounded-lg bg-white/20 flex items-center justify-center mb-4">
<x-ri-book-open-line class="h-6 w-6" />
</div>
<h3 class="font-bold text-lg mb-1">{{ theme('docs_title', 'Docs') }}</h3>
<p class="text-sm text-white/80">{{ theme('docs_subtitle', 'Learn more') }}</p>
</a>
</div>
</div>
</section>
<!-- Stats Compact -->
<section class="py-12 bg-background-secondary/50">
<div class="container mx-auto px-4">
<div class="grid grid-cols-2 md:grid-cols-4 gap-6">
<div class="text-center">
<div class="text-3xl font-bold text-success mb-1">99.9%</div>
<div class="text-sm text-color-muted">{{ theme('stats_uptime_title', 'Uptime') }}</div>
</div>
<div class="text-center">
<div class="text-3xl font-bold text-primary mb-1">24/7</div>
<div class="text-sm text-color-muted">{{ theme('stats_support_title', 'Support') }}</div>
</div>
<div class="text-center">
<div class="text-3xl font-bold text-purple-500 mb-1">{{ number_format(\App\Models\User::count()) }}+</div>
<div class="text-sm text-color-muted">{{ theme('stats_users_title', 'Users') }}</div>
</div>
<div class="text-center">
<div class="text-3xl font-bold text-orange-500 mb-1">{{ number_format(\App\Models\Service::where('status', 'active')->count()) }}+</div>
<div class="text-sm text-color-muted">{{ theme('stats_servers_title', 'Servers') }}</div>
</div>
</div>
</div>
</section>
<!-- Services Grid (Portal Style) -->
<section id="services" class="py-16 bg-background">
<div class="container mx-auto px-4">
<div class="mb-12">
<h2 class="text-3xl font-bold text-color-base mb-2">
{{ theme('services_title', 'Our Services') }}
</h2>
<p class="text-color-muted">
{{ theme('services_subtitle', 'Select a service to get started') }}
</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
@foreach ($categories as $category)
<a href="{{ route('category.show', ['category' => $category->slug]) }}" wire:navigate class="group block p-6 rounded-xl bg-background-secondary border border-neutral hover:border-primary/50 hover:shadow-lg transition-all duration-300">
@if ($category->image)
<div class="w-16 h-16 rounded-lg overflow-hidden mb-4">
<img src="{{ Storage::url($category->image) }}" alt="{{ $category->name }}" class="w-full h-full object-cover">
</div>
@else
<div class="w-16 h-16 rounded-lg bg-primary/10 flex items-center justify-center mb-4">
<x-ri-server-line class="h-8 w-8 text-primary" />
</div>
@endif
<h3 class="text-lg font-bold text-color-base mb-2 group-hover:text-primary transition-colors">
{{ $category->name }}
</h3>
@if(theme('show_category_description', true))
<div class="prose dark:prose-invert prose-sm text-color-muted mb-3 line-clamp-2">
{!! $category->description !!}
</div>
@endif
<div class="flex items-center text-primary text-sm font-semibold">
<span>{{ __('common.button.view_all') }}</span>
<x-ri-arrow-right-line class="h-4 w-4 ml-1 group-hover:translate-x-1 transition-transform" />
</div>
</a>
@endforeach
</div>
</div>
</section>
<!-- CTA Compact -->
<section class="py-16 bg-gradient-to-r from-primary/10 to-secondary/10">
<div class="container mx-auto px-4">
<div class="max-w-xl mx-auto text-center">
<h2 class="text-3xl font-bold mb-4">
<span class="bg-gradient-to-r from-primary to-secondary bg-clip-text text-transparent">
{{ theme('cta_title', 'Ready to Start?') }}
</span>
</h2>
<p class="text-color-muted mb-8">
{{ theme('cta_subtitle', 'Join thousands of satisfied customers today') }}
</p>
<div class="flex gap-4 justify-center">
<a href="#services" class="inline-flex items-center gap-2 rounded-xl bg-primary px-6 py-3 text-sm font-semibold text-white hover:bg-primary/90 transition-all">
<span>{{ theme('cta_primary_text', 'Get Started') }}</span>
<x-ri-arrow-right-line class="h-4 w-4" />
</a>
<a href="{{ theme('help_link', '#') }}" class="inline-flex items-center gap-2 rounded-xl bg-background-secondary border border-neutral px-6 py-3 text-sm font-semibold text-color-base hover:border-primary/50 transition-all">
<span>{{ theme('cta_secondary_text', 'Learn More') }}</span>
</a>
</div>
</div>
</div>
</section>
@endif
<!-- Hook Section -->
<div class="container mx-auto my-12 px-10">
<div class="mt-16 mb-8">
{!! hook('pages.home') !!}
</div>
</div>