<?php

namespace Database\Seeders;

use App\Models\Admin\Menu;
use Illuminate\Database\Seeder;

class MenuSeeder extends Seeder
{
    public function run(): void
    {
        // Menú principal: Dashboard
        $dashboard = Menu::updateOrCreate(
            ['route_pattern' => 'dashboard'],
            [
                'nombre' => 'Dashboard',
                'route_name' => 'dashboard',
                'url' => null,
                'icon' => 'fas fa-home',
                'parent_id' => null,
                'orden' => 1,
                'estado' => 'AC',
            ]
        );

        // Contenedor: Administrar
        $admin = Menu::updateOrCreate(
            ['nombre' => 'Administrar', 'parent_id' => null],
            [
                'route_pattern' => null,
                'route_name' => null,
                'url' => null,
                'icon' => 'fas fa-cog',
                'orden' => 2,
                'estado' => 'AC',
            ]
        );

        Menu::updateOrCreate(
            ['route_pattern' => 'admin.tipo-usuario.*'],
            [
                'nombre' => 'Tipo Usuario',
                'route_name' => 'admin.tipo-usuario.index',
                'url' => null,
                'icon' => 'fas fa-tag',
                'parent_id' => $admin->id,
                'orden' => 1,
                'estado' => 'AC',
            ]
        );

        Menu::updateOrCreate(
            ['route_pattern' => 'admin.usuario.*'],
            [
                'nombre' => 'Usuarios',
                'route_name' => 'admin.usuario.index',
                'url' => null,
                'icon' => 'fas fa-users',
                'parent_id' => $admin->id,
                'orden' => 2,
                'estado' => 'AC',
            ]
        );

        // Nuevo: Mantenimiento de Menús/Submenús (solo Super Admin)
        Menu::updateOrCreate(
            ['route_pattern' => 'admin.menu.*'],
            [
                'nombre' => 'Menús',
                'route_name' => 'admin.menu.index',
                'url' => null,
                'icon' => 'fas fa-sitemap',
                'parent_id' => $admin->id,
                'orden' => 3,
                'estado' => 'AC',
            ]
        );

        Menu::updateOrCreate(
            ['route_pattern' => 'admin.privilegios.*'],
            [
                'nombre' => 'Privilegios',
                'route_name' => 'admin.privilegios.index',
                'url' => null,
                'icon' => 'fas fa-key',
                'parent_id' => $admin->id,
                'orden' => 4,
                'estado' => 'AC',
            ]
        );

        // Perfil
        Menu::updateOrCreate(
            ['route_pattern' => 'profile.*'],
            [
                'nombre' => 'Perfil',
                'route_name' => 'profile.edit',
                'url' => null,
                'icon' => 'fas fa-user',
                'parent_id' => null,
                'orden' => 3,
                'estado' => 'AC',
            ]
        );
    }
}
