<?php

namespace Database\Seeders;

use Botble\Base\Supports\BaseSeeder;
use Botble\CookieConsent\Database\Traits\HasCookieConsentSeeder;
use Botble\Location\Models\City;
use Botble\Location\Models\State;
use Botble\Page\Database\Traits\HasPageSeeder;
use Botble\Shortcode\Facades\Shortcode;
use Illuminate\Support\Arr;

class PageSeeder extends BaseSeeder
{
    use HasPageSeeder;
    use HasCookieConsentSeeder;

    public function run(): void
    {
        $this->truncatePages();

        $this->uploadFiles('pages');
        $this->uploadFiles('partners');

        $this->createPages([
            [
                'name' => 'Homepage 1',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'hero-banner',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Find Your',
                            'animation_text' => 'Dream Home,Perfect Home,Real Estate',
                            'description' => 'We are a real estate agency that will help you find the best residence you dream of, let’s discuss for your dream house?',
                            'background_image' => $this->filePath('pages/slider-1.jpg'),
                            'search_box_enabled' => true,
                            'projects_search_enabled' => true,
                            'default_search_type' => 'project',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Recommended For You',
                            'subtitle' => 'Features Properties',
                            'category_ids' => '1,2,3,4,5,6',
                            'type' => 'rent',
                            'is_featured' => false,
                            'limit' => 6,
                            'button_label' => 'View All Properties',
                            'button_url' => '/properties',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'location',
                        'attributes' => [
                            'title' => 'Our Location For You',
                            'subtitle' => 'Explore Cities',
                            'type' => 'city',
                            'city_ids' => City::query()->limit(7)->oldest()->pluck('id')->implode(','),
                            'destination' => 'property',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'What We Do?',
                            'subtitle' => 'Our Services',
                            'background_color' => 'transparent',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Discover your dream home effortlessly. Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Discover your perfect rental effortlessly. Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Sell A Home',
                            'services_description_3' => "Sell confidently with expert guidance and effective strategies, showcasing your property's best features for a successful sale.",
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'counters_quantity' => 4,
                            'counters_label_1' => 'SATISFIED CLIENTS',
                            'counters_number_1' => 85,
                            'counters_label_2' => 'AWARDS RECEIVED',
                            'counters_number_2' => 112,
                            'counters_label_3' => 'SUCCESSFUL TRANSACTIONS',
                            'counters_number_3' => 32,
                            'counters_label_4' => 'MONTHLY TRAFFIC',
                            'counters_number_4' => 66,
                            'button_label' => 'View All Services',
                            'button_url' => '/',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Why Choose Homzen',
                            'subtitle' => 'Our Benefit',
                            'background_color' => '#f7f7f7',
                            'services_quantity' => 3,
                            'services_title_1' => 'Proven Expertise',
                            'services_description_1' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Customized Solutions',
                            'services_description_2' => 'We pride ourselves on crafting personalized strategies to match your unique goals, ensuring a seamless real estate journey.',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Transparent Partnerships',
                            'services_description_3' => 'Transparency is key in our client relationships. We prioritize clear communication and ethical practices, fostering trust and reliability throughout.',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'counters_quantity' => 1,
                            'centered_content' => true,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Best Property Value',
                            'subtitle' => 'Top Properties',
                            'is_featured' => true,
                            'limit' => 4,
                            'button_label' => 'View All',
                            'button_url' => '/properties',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'Top Properties',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'testimonial_ids' => '1,2,3,4',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'agents',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Meet Our Agents',
                            'subtitle' => 'Our Teams',
                            'account_ids' => '1,2,3,4',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'blog-posts',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Helpful Homzen Guides',
                            'subtitle' => 'Latest News',
                            'type' => 'recent',
                            'limit' => 3,
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'image-slider',
                        'attributes' => [
                            'background_color' => 'transparent',
                            'quantity' => 7,
                            'name_1' => 'GitHub',
                            'image_1' => $this->filePath('partners/github.png'),
                            'url_1' => 'https://github.com',
                            'open_in_new_tab_1' => false,
                            'name_2' => 'LH.Tech',
                            'image_2' => $this->filePath('partners/lhtech.png'),
                            'url_2' => 'https://lhtech.com.my',
                            'open_in_new_tab_2' => false,
                            'name_3' => 'Panadoxn',
                            'image_3' => $this->filePath('partners/panadoxn.png'),
                            'url_3' => '/',
                            'open_in_new_tab_3' => false,
                            'name_4' => 'Shangxi',
                            'image_4' => $this->filePath('partners/shangxi.png'),
                            'url_4' => '/',
                            'open_in_new_tab_4' => false,
                            'name_5' => 'Tyaalpha',
                            'image_5' => $this->filePath('partners/tyaalpha.png'),
                            'url_5' => '/',
                            'open_in_new_tab_5' => false,
                            'name_6' => 'Vanfaba',
                            'image_6' => $this->filePath('partners/vanfaba.png'),
                            'url_6' => '/',
                            'open_in_new_tab_6' => false,
                            'name_7' => 'Asana',
                            'image_7' => $this->filePath('partners/asana.png'),
                            'url_7' => 'https://asana.com',
                            'open_in_new_tab_7' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'template' => 'full-width',
                'metadata' => [
                    'breadcrumb' => 'no',
                ],
            ],
            [
                'name' => 'Homepage 2',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'hero-banner',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Find A Home That',
                            'animation_text' => 'Perfectly,Dream Home',
                            'description' => 'We are a real estate agency that will help you find the best residence you dream of.',
                            'background_image' => $this->filePath('pages/slider-left.jpg'),
                            'slider_image_1' => $this->filePath('pages/slider-2.jpg'),
                            'slider_image_2' => $this->filePath('pages/slider-3.jpg'),
                            'slider_image_3' => $this->filePath('pages/slider-4.jpg'),
                            'slider_image_4' => $this->filePath('pages/slider-5.jpg'),
                            'search_box_enabled' => true,
                            'projects_search_enabled' => true,
                            'default_search_type' => 'project',
                        ],
                    ],
                    [
                        'name' => 'property-categories',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Try Searching For',
                            'subtitle' => 'PROPERTY TYPE',
                            'category_ids' => '1,2,3,4,5,6',
                            'background_color' => 'transparent',
                            'button_label' => 'View All',
                            'button_url' => '/categories',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 4,
                            'title' => "Discover Homzen's Finest Properties For Your Dream Home",
                            'subtitle' => 'Featured Properties',
                            'limit' => 8,
                            'button_label' => 'View All Properties',
                            'button_url' => '/properties',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 3,
                            'title' => 'Discover What Sets Our Real Estate Expertise Apart',
                            'subtitle' => 'Why Choose Us',
                            'description' => 'At Homzen, our unwavering commitment lies in crafting unparalleled real estate journeys. Our seasoned professionals, armed with extensive market knowledge, walk alongside you through every phase of your property endeavor. We prioritize understanding your unique aspirations, tailoring our expertise to match your vision.',
                            'checklist' => 'Transparent Partnerships,Proven Expertise,Customized Solutions,Local Area Knowledge',
                            'background_color' => '#f7f7f7',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Discover your dream home effortlessly. Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Discover your perfect rental effortlessly. Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Sell A Home',
                            'services_description_3' => "Sell confidently with expert guidance and effective strategies, showcasing your property's best features for a successful sale.",
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'counters_quantity' => 1,
                            'button_label' => 'Contact Us',
                            'button_url' => '/contact-us',
                            'centered_content' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'location',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Our Location For You',
                            'subtitle' => 'Explore States',
                            'type' => 'state',
                            'state_ids' => State::query()->limit(6)->oldest()->pluck('id')->implode(','),
                            'destination' => 'property',
                            'background_color' => 'transparent',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 3,
                            'title' => 'Best Property Value',
                            'subtitle' => 'Top Properties',
                            'is_featured' => true,
                            'limit' => 4,
                            'button_label' => 'View All',
                            'button_url' => '/properties',
                            'enable_lazy_loading' => 'yes',
                            'background_color' => '#f7f7f7',
                        ],
                    ],
                    [
                        'name' => 'agents',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Meet Our Agents',
                            'subtitle' => 'Our Teams',
                            'account_ids' => '1,2,3,4',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 3,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'Our Testimonials',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'testimonial_ids' => '1,2,3,4',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'blog-posts',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Helpful Homzen Guides',
                            'subtitle' => 'Latest News',
                            'type' => 'recent',
                            'limit' => 3,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'template' => 'full-width',
                'metadata' => [
                    'breadcrumb' => 'no',
                ],
            ],
            [
                'name' => 'Homepage 3',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'hero-banner',
                        'attributes' => [
                            'style' => 3,
                            'title' => 'Indulge in Your',
                            'animation_text' => 'Sanctuary,Safe House',
                            'description' => 'Discover your private oasis at Homzen, where every corner, from the spacious garden to the relaxing pool, is crafted for your comfort and enjoyment.',
                            'background_image' => $this->filePath('pages/slider-6.png'),
                            'search_box_enabled' => true,
                            'projects_search_enabled' => true,
                            'default_search_type' => 'project',
                            'button_label' => 'Contact Us',
                            'button_url' => '/contact',
                        ],
                    ],
                    [
                        'name' => 'location',
                        'attributes' => [
                            'style' => 3,
                            'title' => 'Properties By Cities',
                            'subtitle' => 'EXPLORE CITIES',
                            'type' => 'city',
                            'city_ids' => '1,2,3,4,5,6,7,21,24',
                            'destination' => 'property',
                            'background_color' => '#f7f7f7',
                            'button_label' => 'View All Properties',
                            'button_url' => '/properties',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Recommended For You',
                            'subtitle' => 'Features Properties',
                            'category_ids' => '1,2,3,4,5,6',
                            'type' => 'rent',
                            'is_featured' => false,
                            'limit' => 6,
                            'button_label' => 'View All Properties',
                            'button_url' => '/properties',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'property-categories',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Try Searching For',
                            'subtitle' => 'PROPERTY TYPE',
                            'category_ids' => '1,2,3,4,5,6',
                            'background_color' => '#161e2d',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'What We Do?',
                            'subtitle' => 'Our Services',
                            'background_color' => 'transparent',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Discover your dream home effortlessly. Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Discover your perfect rental effortlessly. Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Sell A Home',
                            'services_description_3' => "Sell confidently with expert guidance and effective strategies, showcasing your property's best features for a successful sale.",
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 4,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'Our Testimonials',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'testimonial_ids' => '1,2,3,4',
                            'background_color' => '#f7f7f7',
                            'background_image' => $this->filePath('pages/testimonial-banner.png'),
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'agents',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Meet Our Agents',
                            'subtitle' => 'Our Teams',
                            'account_ids' => '1,2,3,4',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'blog-posts',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Helpful Homzen Guides',
                            'subtitle' => 'Latest News',
                            'type' => 'recent',
                            'limit' => 4,
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'template' => 'full-width',
                'metadata' => [
                    'breadcrumb' => 'no',
                ],
            ],
            [
                'name' => 'Homepage 4',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'hero-banner',
                        'attributes' => [
                            'style' => 4,
                            'search_box_enabled' => true,
                            'projects_search_enabled' => true,
                            'default_search_type' => 'project',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 5,
                            'title' => "Discover Homzen's Finest Properties For Your Dream Home",
                            'subtitle' => 'FEATURED PROPERTIES',
                            'is_featured' => true,
                            'limit' => 6,
                            'button_label' => 'View All Properties',
                            'button_url' => '/properties',
                            'background_color' => 'transparent',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 4,
                            'title' => 'Discover What Sets Our',
                            'subtitle' => 'WHAT WE DO',
                            'description' => 'At Homzen, our unwavering commitment lies in crafting unparalleled real estate journeys.',
                            'background_color' => 'transparent',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_icon_1' => 'ti ti-12-hours',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/contact',
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/contact',
                            'services_title_3' => 'Buy A New Home',
                            'services_description_3' => "Showcasing your property's best features for a successful sale.",
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/contact',
                            'counters_quantity' => 1,
                            'background_image' => $this->filePath('pages/house-service.png'),
                            'centered_content' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'location',
                        'attributes' => [
                            'title' => 'Our Location For You',
                            'subtitle' => 'Explore Cities',
                            'type' => 'city',
                            'city_ids' => City::query()->limit(6)->oldest()->pluck('id')->implode(','),
                            'destination' => 'property',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'agents',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Meet Our Agents',
                            'subtitle' => 'OUR TEAMS',
                            'account_ids' => '1,2,3',
                            'background_color' => 'transparent',
                            'items_per_row' => 3,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 6,
                            'title' => 'Recommended for you',
                            'subtitle' => 'TOP PROPERTIES',
                            'is_featured' => true,
                            'limit' => 4,
                            'background_image' => $this->filePath('pages/properties.png'),
                            'background_color' => 'transparent',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'OUR TESTIMONIALS',
                            'testimonial_ids' => '1,2,3,4',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 5,
                            'title' => 'Why Choose Homzen',
                            'subtitle' => 'OUR BENIFIT',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'background_color' => 'transparent',
                            'services_quantity' => 8,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_icon_1' => 'ti ti-home',
                            'services_title_2' => 'Sell Your Property',
                            'services_description_2' => 'Get the best value with our professional selling strategies and market insights.',
                            'services_icon_2' => 'ti ti-currency-dollar',
                            'services_title_3' => 'Rent A Property',
                            'services_description_3' => 'Find the perfect rental property with our extensive listings and support.',
                            'services_icon_3' => 'ti ti-building',
                            'services_title_4' => 'Property Management',
                            'services_description_4' => 'Professional management services to keep your property in top condition.',
                            'services_icon_4' => 'ti ti-settings',
                            'services_title_5' => 'Real Estate Consulting',
                            'services_description_5' => 'Expert advice and insights to help you make informed real estate decisions.',
                            'services_icon_5' => 'ti ti-chart-bar',
                            'services_title_6' => 'Mortgage Services',
                            'services_description_6' => 'Find the best mortgage rates and options with our comprehensive services.',
                            'services_icon_6' => 'ti ti-credit-card',
                            'services_title_7' => 'Investment Properties',
                            'services_description_7' => 'Discover lucrative investment opportunities and maximize your returns.',
                            'services_icon_7' => 'ti ti-briefcase',
                            'services_title_8' => 'Relocation Services',
                            'services_description_8' => 'Smooth and hassle-free relocation services to help you move with ease.',
                            'services_icon_8' => 'ti ti-truck',
                            'counters_quantity' => 1,
                            'centered_content' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'blog-posts',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Helpful Homzen Guides',
                            'subtitle' => 'LATEST NEWS',
                            'type' => 'recent',
                            'limit' => 3,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'call-to-action',
                        'attributes' => [
                            'title' => 'List Your Properties On Homzen, Join Us Now!',
                            'subtitle' => 'BECOME PARTNERS',
                            'button_label' => 'Become A Hosting',
                            'button_url' => '/contact',
                            'image' => 'pages/call-to-action.png',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'template' => 'full-width',
            ],
            [
                'name' => 'Homepage 5',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'hero-banner',
                        'attributes' => [
                            'style' => 5,
                            'property_id' => '4',
                            'search_box_enabled' => true,
                            'projects_search_enabled' => true,
                            'default_search_type' => 'project',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Why Choose Homzen',
                            'subtitle' => 'Our Benefit',
                            'background_color' => '#f7f7f7',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Discover your dream home effortlessly. Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Discover your perfect rental effortlessly. Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Sell A Home',
                            'services_description_3' => 'Sell confidently with expert guidance and effective strategies, showcasing your property\'s best features for a successful sale.',
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'counters_quantity' => 1,
                            'centered_content' => true,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 4,
                            'title' => 'Discover Homzen\'s Finest Properties For Your Dream Home',
                            'subtitle' => 'FEATURED PROPERTIES',
                            'is_featured' => true,
                            'limit' => 8,
                            'button_label' => 'View All Properties',
                            'button_url' => '/properties',
                            'background_color' => 'transparent',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'location',
                        'attributes' => [
                            'style' => 4,
                            'title' => 'Our Location For You',
                            'subtitle' => 'EXPLORE CITIES',
                            'type' => 'city',
                            'city_ids' => '1,3,5,6,11,23',
                            'destination' => 'property',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'properties',
                        'attributes' => [
                            'style' => 7,
                            'title' => 'Recommended For You',
                            'subtitle' => 'TOP PROPERTIES',
                            'is_featured' => true,
                            'limit' => 4,
                            'background_color' => 'transparent',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 5,
                            'title' => 'Why Choose Homzen',
                            'subtitle' => 'OUR BENIFIT',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'background_color' => 'transparent',
                            'services_quantity' => 8,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_icon_1' => 'ti ti-home',
                            'services_title_2' => 'Sell Your Property',
                            'services_description_2' => 'Get the best value with our professional selling strategies and market insights.',
                            'services_icon_2' => 'ti ti-currency-dollar',
                            'services_title_3' => 'Rent A Property',
                            'services_description_3' => 'Find the perfect rental property with our extensive listings and support.',
                            'services_icon_3' => 'ti ti-building',
                            'services_title_4' => 'Property Management',
                            'services_description_4' => 'Professional management services to keep your property in top condition.',
                            'services_icon_4' => 'ti ti-settings',
                            'services_title_5' => 'Real Estate Consulting',
                            'services_description_5' => 'Expert advice and insights to help you make informed real estate decisions.',
                            'services_icon_5' => 'ti ti-chart-bar',
                            'services_title_6' => 'Mortgage Services',
                            'services_description_6' => 'Find the best mortgage rates and options with our comprehensive services.',
                            'services_icon_6' => 'ti ti-credit-card',
                            'services_title_7' => 'Investment Properties',
                            'services_description_7' => 'Discover lucrative investment opportunities and maximize your returns.',
                            'services_icon_7' => 'ti ti-briefcase',
                            'services_title_8' => 'Relocation Services',
                            'services_description_8' => 'Smooth and hassle-free relocation services to help you move with ease.',
                            'services_icon_8' => 'ti ti-truck',
                            'counters_quantity' => 1,
                            'centered_content' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'agents',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Meet Our Agents',
                            'subtitle' => 'OUR TEAMS',
                            'account_ids' => '1,2,3,4',
                            'background_color' => 'transparent',
                            'items_per_row' => 2,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'TOP PROPERTIES',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'testimonial_ids' => '1,2,3,4',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'blog-posts',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'The Most Recent Estate',
                            'subtitle' => 'LATEST NEWS',
                            'type' => 'recent',
                            'limit' => 4,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'template' => 'full-width',
                'metadata' => [
                    'breadcrumb' => 'no',
                ],
            ],
            [
                'name' => 'Blog',
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
            [
                'name' => 'Contact Us',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'contact-form',
                        'attributes' => [
                            'display_fields' => 'phone,email,subject,address',
                            'mandatory_fields' => 'email',
                            'style' => 1,
                            'title' => 'Drop Us A Line',
                            'description' => 'Feel free to connect with us through our online channels for updates, news, and more.',
                            'show_information_box' => true,
                            'contact_title' => 'Contact Us',
                            'quantity' => '3',
                            'label_1' => 'Address:',
                            'content_1' => '101 E 129th St, East Chicago, IN 46312 United States',
                            'label_2' => 'Information:',
                            'content_2' => '1-333-345-6868 hi.themesflat@gmail.com',
                            'label_3' => 'Open time:',
                            'content_3' => 'Monday - Friday: 08:00 - 20:00 Saturday - Sunday: 10:00 - 18:00',
                            'show_social_links' => true,
                        ],
                    ],
                    [
                        'name' => 'google-map',
                        'content' => '101 E 129th St, East Chicago, IN 46312 United States',
                    ],
                ]),
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
            [
                'name' => 'Our Services',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'Why Choose Homzen',
                            'subtitle' => 'Our Benefit',
                            'background_color' => '#ffffff',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Discover your dream home effortlessly. Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Discover your perfect rental effortlessly. Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Sell A Home',
                            'services_description_3' => "Sell confidently with expert guidance and effective strategies, showcasing your property's best features for a successful sale.",
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'counters_quantity' => 1,
                            'centered_content' => true,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'Top Properties',
                            'description' => 'Our seasoned team excels in real estate with years of successful market navigation, offering informed decisions and optimal results.',
                            'testimonial_ids' => '1,2,3,4',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'faqs',
                        'attributes' => [
                            'title' => 'Quick Answers To Questions',
                            'subtitle' => 'FAQs',
                            'category_ids' => '1,2,3,4',
                            'display_type' => 'list',
                            'limit' => 5,
                            'expand_first_time' => true,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'call-to-action',
                        'attributes' => [
                            'title' => 'List your Properties on Homzen, join Us Now!',
                            'subtitle' => 'Become Partners',
                            'button_label' => 'Become A Hosting',
                            'button_url' => '/',
                            'image' => $this->filePath('pages/call-to-action.png'),
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'template' => 'full-width',
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
            [
                'name' => 'FAQs',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'faqs',
                        'attributes' => [
                            'category_ids' => '1,2,3',
                            'display_type' => 'group',
                            'expand_first_time' => true,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
            [
                'name' => 'About Us',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'about-us',
                        'attributes' => [
                            'title' => htmlentities('Welcome To The <br> Homzen'),
                            'description' => 'Welcome to Homzen, where we turn houses into homes and dreams into reality. At Homzen, we understand that a home is more than just a physical space; it\'s a place where memories are created, families grow, and life unfolds.',
                            'button_label' => 'Learn More',
                            'button_url' => '/',
                            'image' => $this->filePath('pages/about-us-video.jpg'),
                            'video_url' => 'https://youtu.be/tRxGSHL8bI0',
                        ],
                    ],
                    [
                        'name' => 'services',
                        'attributes' => [
                            'style' => 3,
                            'title' => 'Discover What Sets Our Real Estate Expertise Apart',
                            'subtitle' => 'Why Choose Us',
                            'description' => 'At Homzen, our unwavering commitment lies in crafting unparalleled real estate journeys. Our seasoned professionals, armed with extensive market knowledge, walk alongside you through every phase of your property endeavor. We prioritize understanding your unique aspirations, tailoring our expertise to match your vision.',
                            'checklist' => 'Transparent Partnerships,Proven Expertise,Customized Solutions,Local Area Knowledge',
                            'background_color' => '#f7f7f7',
                            'services_quantity' => 3,
                            'services_title_1' => 'Buy A New Home',
                            'services_description_1' => 'Discover your dream home effortlessly. Explore diverse properties and expert guidance for a seamless buying experience.',
                            'services_button_label_1' => 'Learn More',
                            'services_button_url_1' => '/',
                            'services_icon_image_1' => $this->filePath('pages/service-1.png'),
                            'services_title_2' => 'Rent A Home',
                            'services_description_2' => 'Discover your perfect rental effortlessly. Explore a diverse variety of listings tailored precisely to suit your unique lifestyle needs.',
                            'services_button_label_2' => 'Learn More',
                            'services_button_url_2' => '/',
                            'services_icon_image_2' => $this->filePath('pages/service-2.png'),
                            'services_title_3' => 'Sell A Home',
                            'services_description_3' => "Sell confidently with expert guidance and effective strategies, showcasing your property's best features for a successful sale.",
                            'services_button_label_3' => 'Learn More',
                            'services_button_url_3' => '/',
                            'services_icon_image_3' => $this->filePath('pages/service-3.png'),
                            'counters_quantity' => 1,
                            'button_label' => 'Contact Us',
                            'button_url' => '/contact-us',
                            'centered_content' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'testimonials',
                        'attributes' => [
                            'style' => 2,
                            'title' => 'What’s People Say’s',
                            'subtitle' => 'Top Properties',
                            'testimonial_ids' => '1,2,3,4',
                            'background_color' => '#f7f7f7',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'image-slider',
                        'attributes' => [
                            'background_color' => 'transparent',
                            'quantity' => 7,
                            'name_1' => 'GitHub',
                            'image_1' => $this->filePath('partners/github.png'),
                            'url_1' => 'https://github.com',
                            'open_in_new_tab_1' => false,
                            'name_2' => 'LH.Tech',
                            'image_2' => $this->filePath('partners/lhtech.png'),
                            'url_2' => 'https://lhtech.com.my',
                            'open_in_new_tab_2' => false,
                            'name_3' => 'Panadoxn',
                            'image_3' => $this->filePath('partners/panadoxn.png'),
                            'url_3' => '/',
                            'open_in_new_tab_3' => false,
                            'name_4' => 'Shangxi',
                            'image_4' => $this->filePath('partners/shangxi.png'),
                            'url_4' => '/',
                            'open_in_new_tab_4' => false,
                            'name_5' => 'Tyaalpha',
                            'image_5' => $this->filePath('partners/tyaalpha.png'),
                            'url_5' => '/',
                            'open_in_new_tab_5' => false,
                            'name_6' => 'Vanfaba',
                            'image_6' => $this->filePath('partners/vanfaba.png'),
                            'url_6' => '/',
                            'open_in_new_tab_6' => false,
                            'name_7' => 'Asana',
                            'image_7' => $this->filePath('partners/asana.png'),
                            'url_7' => 'https://asana.com',
                            'open_in_new_tab_7' => false,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'contact-form',
                        'attributes' => [
                            'display_fields' => 'phone,email,subject,address',
                            'mandatory_fields' => 'email',
                            'style' => 2,
                            'title' => "We're Always Eager To Hear From You!",
                            'subtitle' => 'Contact Us',
                            'description' => 'Sed ullamcorper nulla egestas at. Aenean eget tortor nec elit sagittis molestie. Pellentesque tempus massa in.r nulla egestas at. Aenean eget tortor nec elit sagittis mole',
                            'background_image' => $this->filePath('pages/about-us-contact.jpg'),
                        ],
                    ],
                    [
                        'name' => 'agents',
                        'attributes' => [
                            'style' => 1,
                            'title' => 'Meet Our Agents',
                            'subtitle' => 'Our Teams',
                            'account_ids' => '1,2,3,4',
                            'items_per_row' => 4,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'call-to-action',
                        'attributes' => [
                            'title' => 'List your Properties on Homzen, join Us Now!',
                            'subtitle' => 'Become Partners',
                            'button_label' => 'Become A Hosting',
                            'button_url' => '/',
                            'image' => $this->filePath('pages/call-to-action.png'),
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
                'template' => 'full-width',
            ],
            [
                'name' => 'Pricing Plans',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'pricing-plan',
                        'attributes' => [
                            'title' => 'Our Subscription',
                            'subtitle' => 'Pricing',
                            'package_ids' => '1,2,3,4',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                    [
                        'name' => 'faqs',
                        'attributes' => [
                            'title' => 'Quick Answers To Questions',
                            'subtitle' => 'FAQs',
                            'category_ids' => '1',
                            'display_type' => 'list',
                            'limit' => 5,
                            'expand_first_time' => true,
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
            [
                'name' => 'Privacy Policy',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'content-tab',
                        'attributes' => [
                            'title' => 'Terms Of Use',
                            'quantity' => 5,
                            'title_1' => 'Terms',
                            'content_1' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sed euismod justo, sit amet efficitur dui. Aliquam sodales vestibulum velit, eget sollicitudin quam. Donec non aliquam eros. Etiam sit amet lectus vel justo dignissim condimentum. In malesuada neque quis libero laoreet posuere. In consequat vitae ligula quis rutrum. Morbi dolor orci, maximus a pulvinar sed, bibendum ac lacus. Suspendisse in consectetur lorem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam elementum, est sed interdum cursus, felis ex pharetra nisi, ut elementum tortor urna eu nulla. Donec rhoncus in purus quis blandit. Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie',
                            'title_2' => 'Limitations',
                            'content_2' => 'Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie a, finibus nec ex. Aliquam elementum, est sed interdum cursus, felis ex pharetra nisi, ut elementum tortor urna eu nulla. Donec rhoncus in purus quis blandit. Etiam eleifend metus at nunc ultricies facilisis. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie a, finibus nec ex. Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie',
                            'title_3' => 'Revisions and errata',
                            'content_3' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sed euismod justo, sit amet efficitur dui. Aliquam sodales vestibulum velit, eget sollicitudin quam. Donec non aliquam eros. Etiam sit amet lectus vel justo dignissim condimentum. In malesuada neque quis libero laoreet posuere. In consequat vitae ligula quis rutrum. Morbi dolor orci, maximus a pulvinar sed, bibendum ac lacus. Suspendisse in consectetur lorem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam elementum, est sed interdum cursus, felis ex pharetra nisi, ut elementum tortor urna eu nulla. Donec rhoncus in purus quis Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie a, finibus nec ex.',
                            'title_4' => 'Site terms of use modifications',
                            'content_4' => 'Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie Aliquam elementum, est sed interdum cursus, felis ex pharetra nisi, ut elementum tortor urna eu nulla. Donec rhoncus in purus quis blandit. Etiam eleifend metus at nunc ultricies facilisis. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie a, finibus nec ex. Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie',
                            'title_5' => 'Risks',
                            'content_5' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sed euismod justo, sit amet efficitur dui. Aliquam sodales vestibulum velit, eget sollicitudin quam. Donec non aliquam eros. Etiam sit amet lectus vel justo dignissim condimentum. In malesuada neque quis libero laoreet posuere. In consequat vitae ligula quis rutrum. Morbi dolor orci, maximus a pulvinar sed, bibendum ac lacus. Suspendisse in consectetur lorem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam elementum, est sed interdum cursus, felis ex pharetra nisi, ut elementum tortor urna eu nulla. Donec rhoncus in purus quis blandit. Etiam eleifend metus at nunc ultricies facilisis. Morbi finibus tristique interdum. Nullam vel eleifend est, eu posuere risus. Vestibulum ligula ex, ullamcorper sit amet molestie',
                            'enable_lazy_loading' => 'yes',
                        ],
                    ],
                ]),
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
            [
                'name' => 'Coming Soon',
                'content' => $this->generateShortcodeContent([
                    [
                        'name' => 'coming-soon',
                        'attributes' => [
                            'title' => 'Get Notified When We Launch',
                            'countdown_time' => $this->now()->addDays(30)->format('Y-m-d H:i:s'),
                            'address' => '58 Street Commercial Road Fratton, Australia',
                            'hotline' => '+123456789',
                            'business_hours' => 'Mon – Sat: 8 am – 5 pm, Sunday: CLOSED',
                            'show_social_links' => true,
                            'image' => $this->filePath('pages/properties.png'),
                        ],
                    ],
                ]),
                'metadata' => [
                    'breadcrumb' => 'no',
                ],
                'template' => 'no-layout',
            ],
            [
                'name' => 'Properties',
                'content' => '',
                'template' => 'no-layout',
            ],
            [
                'name' => 'Projects',
                'content' => '',
                'template' => 'no-layout',
            ],
            [
                'name' => $this->getCookieConsentPageName(),
                'content' => $this->getCookieConsentPageContent(),
                'metadata' => [
                    'breadcrumb' => 'yes',
                ],
            ],
        ]);
    }

    protected function generateShortcodeContent(array $shortcodes): string
    {
        return implode(
            PHP_EOL,
            array_map(
                fn ($shortcode): string => Shortcode::generateShortcode($shortcode['name'], Arr::get($shortcode, 'attributes', []), Arr::get($shortcode, 'content')),
                $shortcodes
            )
        );
    }
}
