@extends("landingpage::themes.{$activeTheme}.layouts.app") @php // $page is the LpPage for 'home' $siteName = setting('site_name', 'Digital Vocano'); $heroTitle = $page->hero_title ?? $page->title ?? "Expert Freelance Services & Digital Products"; // For hero subtitle, you might have a dedicated field or take an excerpt from content $heroSubtitle = $page->hero_subtitle ?? \Illuminate\Support\Str::limit(strip_tags($page->content ?? 'Innovative solutions for your web and mobile needs. High-quality Laravel modules, scripts, and custom development services.'), 150); $heroCtaText = $page->hero_cta_text ?? 'View Our Portfolio'; $projectsListingPage = \Modules\LandingPage\Entities\LpPage::where('slug', 'projects')->where('is_published', true)->first(); $heroCtaLink = $page->hero_cta_link ?? ($projectsListingPage ? route('landingpage.page.show', $projectsListingPage->slug) : '#_'); // Fetch Featured Projects (LpPage entries) // To identify projects, we'll assume they use the 'project_detail' theme_template // Or you could have a setting for featured project slugs, or a category/tag system later $featuredProjects = \Modules\LandingPage\Entities\LpPage::where('is_published', true) // ->where('theme_template', 'project_detail') // Option 1: by template ->whereIn('slug', ['project-alpha', 'project-beta', 'project-gamma']) // Option 2: by specific slugs (UPDATE THESE with actual project slugs) ->orderBy('sort_order') ->take(3) ->get(); if ($featuredProjects->isEmpty()) { // Fallback if specific project slugs aren't found, get any 3 published non-core pages $featuredProjects = \Modules\LandingPage\Entities\LpPage::where('is_published', true) ->whereNotIn('slug', ['home', 'about-us', 'services', 'contact', 'privacy-policy', 'terms-of-service']) ->orderBy('sort_order') ->take(3) ->get(); } // Define Services - for a world-class page, these should be distinct items. // For now, we'll hardcode a few examples. Ideally, these would come from LpPages, a dedicated Services module, or settings. $servicesLpPage = \Modules\LandingPage\Entities\LpPage::where('slug', 'services')->where('is_published', true)->first(); $services = [ [ 'title' => 'Custom Web Application Development', 'description' => 'Bespoke web solutions tailored to your business needs, built with modern technologies like Laravel, Vue.js, and React.', 'iconSvg' => '', 'link' => ($servicesLpPage ? route('landingpage.page.show', $servicesLpPage->slug) : '#_') . '#custom-development', ], [ 'title' => 'Laravel Module & Script Sales', 'description' => 'High-quality, ready-to-use Laravel modules and PHP scripts available on CodeCanyon to kickstart your projects.', 'iconSvg' => '', 'link' => setting('codecanyon_profile_url', '#_'), // Replace with your actual CodeCanyon profile URL or use a setting ], [ 'title' => 'API Integration & Development', 'description' => 'Seamlessly connect your applications with third-party services or build robust APIs for your own platforms.', 'iconSvg' => '', 'link' => ($servicesLpPage ? route('landingpage.page.show', $servicesLpPage->slug) : '#_') . '#api-integration', ], ]; // Define Technology Stack - replace with your actual stack and logo URLs // Store logos in `public/modules/landingpage/themes/general/img/tech/` and publish assets $techStack = [ ['name' => 'Laravel', 'imageUrl' => asset('modules/landingpage/themes/general/img/tech/laravel.svg')], ['name' => 'PHP', 'imageUrl' => asset('modules/landingpage/themes/general/img/tech/php.svg')], ['name' => 'Vue.js', 'imageUrl' => asset('modules/landingpage/themes/general/img/tech/vue.svg')], ['name' => 'Tailwind CSS', 'imageUrl' => asset('modules/landingpage/themes/general/img/tech/tailwind.svg')], ['name' => 'MySQL', 'imageUrl' => asset('modules/landingpage/themes/general/img/tech/mysql.svg')], ['name' => 'Alpine.js', 'imageUrl' => asset('modules/landingpage/themes/general/img/tech/alpinejs.svg')], // Add more... ]; $contactPage = \Modules\LandingPage\Entities\LpPage::where('slug', 'contact')->where('is_published', true)->first(); // Prepare sameAs URLs for JSON-LD, filtering out empty ones $sameAsUrls = []; if (setting('social_linkedin_url')) $sameAsUrls[] = '"' . e(setting('social_linkedin_url')) . '"'; if (setting('social_github_url')) $sameAsUrls[] = '"' . e(setting('social_github_url')) . '"'; if (setting('social_twitter_url')) $sameAsUrls[] = '"' . e(setting('social_twitter_url')) . '"'; if (setting('codecanyon_profile_url')) $sameAsUrls[] = '"' . e(setting('codecanyon_profile_url')) . '"'; @endphp @section('meta_title', $page->meta_title ?? $heroTitle) @section('meta_description', $page->meta_description ?? setting('landingpage_global_meta_description', 'Expert freelance services for web development, Laravel modules, and custom digital solutions.')) @section('meta_keywords', $page->meta_keywords ?? setting('landingpage_global_meta_keywords', 'laravel development, php scripts, codecanyon, freelance web developer, custom software')) @push('schema_markup') @endpush @push('styles') @endpush {{-- This section renders content based on the LpPage->sections relationship --}} @section('content') @if($page->sections->count() > 0) @foreach($page->sections as $section) @endforeach @else {{-- Fallback content if no sections are defined for the page --}} {{-- For the homepage, we'll render the hardcoded sections as a default experience --}} {{-- Hero Section (Fallback) --}}

{{ $heroTitle }}

{{ $heroSubtitle }}

@if($heroCtaLink && $heroCtaLink !== '#_') {{ $heroCtaText }} </a> @endif @if($contactPage) Contact Us </a> @endif </div> </div> </section> {{-- Services/Features Section (Fallback) --}}
<div class="container mx-auto px-4 sm:px-6 lg:px-8"> <div class="text-center mb-12 md:mb-16">

Our Core Services

Delivering high-impact digital solutions to elevate your business.

</div> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"> @foreach($services as $service) @endforeach </div> </div> </section> {{-- Featured Projects Section (Fallback) --}} @if($featuredProjects->count() > 0)
<div class="container mx-auto px-4 sm:px-6 lg:px-8"> <div class="text-center mb-12 md:mb-16">

Featured Projects & Products

Discover our latest creations and successful digital solutions available on CodeCanyon.

</div> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 md:gap-12"> @foreach ($featuredProjects as $project) @endforeach </div> @if($projectsListingPage)