<?php

namespace Database\Seeders;

use App\Models\Category;
use App\Models\Product;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;

class DatabaseSeeder extends Seeder
{
    public function run(): void
    {
        // Admin user
        User::updateOrCreate(
            ['email' => 'admin@adamservice.dz'],
            [
                'name'     => 'Administrateur',
                'email'    => 'admin@adamservice.dz',
                'password' => Hash::make('Admin@1234'),
                'is_admin' => true,
            ]
        );

        // Category icons as Unsplash CDN URLs (stable, tested)
        $categories = [
            [
                'name'        => 'Coques iPhone',
                'description' => 'Coques et protections pour tous les modèles iPhone',
                'image'       => 'https://images.unsplash.com/photo-1565849904461-04a58ad377e0?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Coques Android',
                'description' => 'Coques et protections pour smartphones Android',
                'image'       => 'https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Chargeurs',
                'description' => 'Chargeurs rapides, câbles USB-C, Lightning, Micro-USB',
                'image'       => 'https://images.unsplash.com/photo-1585771724684-38269d6639fd?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Batteries',
                'description' => 'Batteries de remplacement et powerbanks',
                'image'       => 'https://images.unsplash.com/photo-1582979512210-99b6a53386f9?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Écouteurs',
                'description' => 'Écouteurs filaires et sans fil, casques audio',
                'image'       => 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Protection écran',
                'description' => 'Films de protection, verres trempés',
                'image'       => 'https://images.unsplash.com/photo-1598327105666-5b89351aff97?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Accessoires Auto',
                'description' => 'Supports voiture, chargeurs auto',
                'image'       => 'https://images.unsplash.com/photo-1609091839311-d5365f9ff1c5?auto=format&fit=crop&w=400&q=80',
            ],
            [
                'name'        => 'Câbles',
                'description' => 'Câbles de données et de charge',
                'image'       => 'https://images.unsplash.com/photo-1558618666-fcd25c85cd64?auto=format&fit=crop&w=400&q=80',
            ],
        ];

        $createdCategories = [];
        foreach ($categories as $cat) {
            $c = Category::updateOrCreate(
                ['slug' => Str::slug($cat['name'])],
                [
                    'name'        => $cat['name'],
                    'description' => $cat['description'],
                    'image'       => $cat['image'],
                    'is_active'   => true,
                ]
            );
            $createdCategories[] = $c;
        }

        // Products — images stored in storage/app/public/products/ (local files downloaded)
        $products = [
            // Coques iPhone (cat 0)
            [
                'cat'       => 0,
                'name'      => 'Coque iPhone 15 Pro Max Silicone Premium',
                'price'     => 850,
                'old_price' => 1200,
                'brand'     => 'CoverLux',
                'sku'       => 'COQ-IP15-001',
                'stock'     => 50,
                'featured'  => true,
                'image'     => 'products/iphone-case-1.jpg',
                'short'     => 'Coque en silicone liquide ultra-doux, compatible iPhone 15 Pro Max. Protection 360° avec absorption des chocs.',
                'desc'      => "Fabriquée en silicone liquide de qualité supérieure, cette coque offre une protection optimale pour votre iPhone 15 Pro Max.\n\nCaractéristiques :\n• Silicone liquide doux au toucher\n• Protection contre les chutes jusqu'à 2m\n• Compatible avec la charge sans fil MagSafe\n• Accès facile à tous les boutons et ports\n• Disponible en plusieurs coloris",
            ],
            [
                'cat'       => 0,
                'name'      => 'Coque iPhone 14 Transparente Antichoc',
                'price'     => 650,
                'old_price' => null,
                'brand'     => 'ClearShield',
                'sku'       => 'COQ-IP14-002',
                'stock'     => 30,
                'featured'  => false,
                'image'     => 'products/iphone-case-2.jpg',
                'short'     => 'Coque transparente ultra-résistante pour iPhone 14, laisse voir le design original de votre téléphone.',
                'desc'      => "Coque transparente en polycarbonate rigide + TPU souple pour iPhone 14.\n\nCaractéristiques :\n• Transparence totale pour montrer votre iPhone\n• Double protection PC+TPU\n• Coins renforcés antichoc\n• Ultra-mince 1.5mm\n• Anti-jaunissement garanti 1 an",
            ],
            [
                'cat'       => 0,
                'name'      => 'Coque iPhone 13 Cuir Véritable Premium',
                'price'     => 1500,
                'old_price' => 1800,
                'brand'     => 'LuxLeather',
                'sku'       => 'COQ-IP13-003',
                'stock'     => 15,
                'featured'  => true,
                'image'     => 'products/iphone-case-3.jpg',
                'short'     => 'Coque en cuir véritable pour iPhone 13, coutures à la main et finitions soignées.',
                'desc'      => "Coque de luxe en cuir véritable pleine fleur pour iPhone 13.\n\nCaractéristiques :\n• Cuir naturel de vachette tannée\n• Coutures contrastées à la main\n• Intérieur microfibre doux\n• Protection des bords et coins\n• Patine qui s'embellit avec le temps",
            ],
            // Coques Android (cat 1)
            [
                'cat'       => 1,
                'name'      => 'Coque Samsung Galaxy S24 Ultra Armor',
                'price'     => 750,
                'old_price' => 950,
                'brand'     => 'ArmorCase',
                'sku'       => 'COQ-SGS24-001',
                'stock'     => 40,
                'featured'  => false,
                'image'     => 'products/samsung-case.jpg',
                'short'     => 'Protection militaire MIL-STD-810H pour Samsung Galaxy S24 Ultra, résiste aux chutes les plus violentes.',
                'desc'      => "Coque de protection militaire pour Samsung Galaxy S24 Ultra.\n\nCaractéristiques :\n• Certification militaire MIL-STD-810H\n• Double couche PC+TPU\n• Béquille intégrée pour regarder des vidéos\n• Compatible S-Pen\n• Protection des angles renforcée",
            ],
            [
                'cat'       => 1,
                'name'      => 'Coque Xiaomi 14 Pro Slim Fit',
                'price'     => 600,
                'old_price' => 800,
                'brand'     => 'SlimTech',
                'sku'       => 'COQ-XMI14-001',
                'stock'     => 25,
                'featured'  => true,
                'image'     => 'products/xiaomi-case.jpg',
                'short'     => 'Coque ultra-fine pour Xiaomi 14 Pro, seulement 0.8mm d\'épaisseur tout en protégeant votre appareil.',
                'desc'      => "Coque ultra-mince en polycarbonate pour Xiaomi 14 Pro.\n\nCaractéristiques :\n• Épaisseur seulement 0.8mm\n• Polycarbonate rigide anti-rayures\n• Ne masque pas le design original\n• Léger : 8g seulement\n• Protection anti-choc basique",
            ],
            // Chargeurs (cat 2)
            [
                'cat'       => 2,
                'name'      => 'Chargeur Rapide 65W GaN USB-C + USB-A',
                'price'     => 1800,
                'old_price' => 2500,
                'brand'     => 'Baseus',
                'sku'       => 'CHG-65W-001',
                'stock'     => 60,
                'featured'  => true,
                'image'     => 'products/charger-65w.jpg',
                'short'     => 'Chargeur GaN 65W compact avec 2 ports USB-C et 1 port USB-A, charge 3 appareils simultanément.',
                'desc'      => "Chargeur multi-ports GaN (Gallium Nitride) 65W ultra-compact.\n\nCaractéristiques :\n• Puissance totale : 65W\n• 2x USB-C PD (Power Delivery)\n• 1x USB-A QuickCharge 3.0\n• Technologie GaN : 40% plus compact que les chargeurs classiques\n• Compatible iPhone 15, Samsung, MacBook\n• Certifié CE/FCC",
            ],
            [
                'cat'       => 2,
                'name'      => 'Câble USB-C vers Lightning MFi 1.2m',
                'price'     => 900,
                'old_price' => null,
                'brand'     => 'Anker',
                'sku'       => 'CBL-USBC-LTG-001',
                'stock'     => 100,
                'featured'  => false,
                'image'     => 'products/cable-lightning.jpg',
                'short'     => 'Câble certifié MFi (Made for iPhone) USB-C vers Lightning pour charge rapide iPhone.',
                'desc'      => "Câble de charge rapide USB-C vers Lightning certifié Apple MFi.\n\nCaractéristiques :\n• Certification Apple MFi officielle\n• Charge rapide jusqu'à 30W\n• Longueur 1.2m\n• Gaine tressée nylon résistante\n• Compatible : iPhone 12/13/14/15 (Pro, Plus, Max)",
            ],
            [
                'cat'       => 2,
                'name'      => 'Chargeur Sans Fil MagSafe 15W',
                'price'     => 2200,
                'old_price' => 3000,
                'brand'     => 'Belkin',
                'sku'       => 'CHG-WLESS-001',
                'stock'     => 20,
                'featured'  => true,
                'image'     => 'products/wireless-charger.jpg',
                'short'     => 'Chargeur sans fil à induction 15W compatible MagSafe pour iPhone 12/13/14/15.',
                'desc'      => "Chargeur sans fil 15W avec alignement magnétique MagSafe pour iPhone.\n\nCaractéristiques :\n• 15W de charge rapide sans fil\n• Alignement magnétique précis (MagSafe)\n• Compatible Qi universel\n• Indicateur LED de charge\n• Câble USB-C inclus (1m)",
            ],
            // Batteries (cat 3)
            [
                'cat'       => 3,
                'name'      => 'Powerbank 20000mAh Charge Rapide PD 65W',
                'price'     => 3500,
                'old_price' => 4500,
                'brand'     => 'Xiaomi',
                'sku'       => 'PWB-20000-001',
                'stock'     => 35,
                'featured'  => true,
                'image'     => 'products/powerbank.jpg',
                'short'     => 'Batterie externe 20000mAh avec charge rapide PD 65W, peut charger un MacBook Pro.',
                'desc'      => "Powerbank haute capacité avec charge rapide Power Delivery.\n\nCaractéristiques :\n• Capacité : 20000mAh\n• Charge rapide PD 65W (charge MacBook!)\n• 2x USB-A + 1x USB-C\n• Affichage numérique du niveau de batterie\n• Charge simultanée de 3 appareils",
            ],
            [
                'cat'       => 3,
                'name'      => 'Batterie iPhone 12 Haute Capacité 2815mAh',
                'price'     => 2800,
                'old_price' => null,
                'brand'     => 'AmpliCell',
                'sku'       => 'BAT-IP12-001',
                'stock'     => 10,
                'featured'  => false,
                'image'     => 'products/battery.jpg',
                'short'     => 'Batterie de remplacement haute capacité pour iPhone 12, compatible avec le kit de réparation Apple.',
                'desc'      => "Batterie de remplacement pour iPhone 12.\n\nCaractéristiques :\n• Capacité : 2815mAh (identique à l'originale)\n• Cellule Li-Ion haute qualité\n• Compatibilité totale avec iOS\n• Cycles de charge garantis : 500+\n• Inclus : kit d'outils de remplacement",
            ],
            // Écouteurs (cat 4)
            [
                'cat'       => 4,
                'name'      => 'Écouteurs TWS Pro ANC Bluetooth 5.3',
                'price'     => 2500,
                'old_price' => 3200,
                'brand'     => 'JBL',
                'sku'       => 'ECT-TWS-001',
                'stock'     => 45,
                'featured'  => true,
                'image'     => 'products/earphones.jpg',
                'short'     => 'Écouteurs True Wireless avec réduction active du bruit (ANC), 30h d\'autonomie totale.',
                'desc'      => "Écouteurs sans fil True Wireless Stereo avec suppression active du bruit.\n\nCaractéristiques :\n• Réduction active du bruit (ANC) -30dB\n• Bluetooth 5.3 (portée 10m)\n• 8h d'autonomie + 22h avec boîtier\n• Résistance à l'eau IPX5\n• Commandes tactiles\n• Microphones intégrés pour les appels",
            ],
            // Protection écran (cat 5)
            [
                'cat'       => 5,
                'name'      => 'Verre Trempé iPhone 15 Pro — 9H Anti-espion',
                'price'     => 450,
                'old_price' => 600,
                'brand'     => 'PrivaShield',
                'sku'       => 'VTR-IP15-001',
                'stock'     => 200,
                'featured'  => false,
                'image'     => 'products/screen-protector.jpg',
                'short'     => 'Film de verre trempé 9H avec filtre anti-espion pour iPhone 15 Pro, installation sans bulles garantie.',
                'desc'      => "Protection d'écran en verre trempé avec filtre de confidentialité pour iPhone 15 Pro.\n\nCaractéristiques :\n• Dureté 9H (résistant aux rayures)\n• Filtre anti-espion 30°/60°\n• Épaisseur ultra-fine 0.33mm\n• Installation sans bulles avec kit fourni\n• Compatible Face ID\n• Pack de 2 pièces",
            ],
        ];

        foreach ($products as $p) {
            $cat = $createdCategories[$p['cat']] ?? $createdCategories[0];
            Product::updateOrCreate(
                ['slug' => Str::slug($p['name'])],
                [
                    'category_id'       => $cat->id,
                    'name'              => $p['name'],
                    'short_description' => $p['short'],
                    'description'       => $p['desc'],
                    'price'             => $p['price'],
                    'old_price'         => $p['old_price'],
                    'brand'             => $p['brand'],
                    'sku'               => $p['sku'],
                    'stock'             => $p['stock'],
                    'is_featured'       => $p['featured'],
                    'is_active'         => true,
                    'image'             => $p['image'],
                ]
            );
        }
    }
}
