<?php

declare(strict_types=1);

namespace Database\Seeders;

// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Models\Menu;
use App\Models\User;
use Illuminate\Database\Seeder;

class MenusTableFooterSeeder extends Seeder
{
    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        $admin = User::role('admin')->first();

        $footerMenu = Menu::updateOrCreate(
            ['title' => 'فوتر'],
            [
                'url' => '',
                'order_id' => 0,
                'icon' => '',
                'created_by' => $admin->id,
                'parent_id' => null,
            ]
        );

        $footerCategoryMenu = Menu::updateOrCreate(
            ['title' => 'دسته بندی ها'],
            [
                'url' => '#',
                'order_id' => 1,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
                'parent_id' => $footerMenu->id,
            ]
        );

        $footerCompanyMenu = Menu::updateOrCreate(
            ['title' => 'شرکت'],
            [
                'url' => '#',
                'order_id' => 2,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
                'parent_id' => $footerMenu->id,
            ]
        );

        $footerAccountMenu = Menu::updateOrCreate(
            ['title' => 'حساب کاربری'],
            [
                'url' => '#',
                'order_id' => 3,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
                'parent_id' => $footerMenu->id,
            ]
        );

        $footerContactMenu = Menu::updateOrCreate(
            ['title' => 'ارتباط با ما'],
            [
                'url' => '#',
                'order_id' => 4,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
                'parent_id' => $footerMenu->id,
            ]
        );

        $categoryChildren = [
            [
                'title' => 'دسته بندی آیتم ۱',
                'url' => '#',
                'order_id' => 1,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'دسته بندی آیتم ۲',
                'url' => '#',
                'order_id' => 2,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'دسته بندی آیتم ۳',
                'url' => '#',
                'order_id' => 3,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
        ];

        $companyChildren = [
            [
                'title' => 'شرکت آیتم ۱',
                'url' => '#',
                'order_id' => 1,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'شرکت آیتم ۲',
                'url' => '#',
                'order_id' => 2,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'شرکت آیتم ۳',
                'url' => '#',
                'order_id' => 3,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
        ];

        $accountChildren = [
            [
                'title' => 'حساب کاربری آیتم ۱',
                'url' => '#',
                'order_id' => 1,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'حساب کاربری آیتم ۲',
                'url' => '#',
                'order_id' => 2,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'حساب کاربری آیتم ۳',
                'url' => '#',
                'order_id' => 3,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
        ];

        $contactChildren = [
            [
                'title' => 'ارتباط با ما آیتم ۱',
                'url' => '#',
                'order_id' => 1,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'ارتباط با ما آیتم ۲',
                'url' => '#',
                'order_id' => 2,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
            [
                'title' => 'ارتباط با ما آیتم ۳',
                'url' => '#',
                'order_id' => 3,
                'icon' => 'files/default_icon.png',
                'created_by' => $admin->id,
            ],
        ];

        foreach ($categoryChildren as $child) {
            Menu::updateOrCreate(
                ['title' => $child['title']],
                array_merge($child, ['parent_id' => $footerCategoryMenu->id])
            );
        }

        foreach ($companyChildren as $child) {
            Menu::updateOrCreate(
                ['title' => $child['title']],
                array_merge($child, ['parent_id' => $footerCompanyMenu->id])
            );
        }

        foreach ($accountChildren as $child) {
            Menu::updateOrCreate(
                ['title' => $child['title']],
                array_merge($child, ['parent_id' => $footerAccountMenu->id])
            );
        }

        foreach ($contactChildren as $child) {
            Menu::updateOrCreate(
                ['title' => $child['title']],
                array_merge($child, ['parent_id' => $footerContactMenu->id])
            );
        }
    }
}
