'Bio-PLA+ (Kindvriendelijk)', 'code' => 'pla', 'description' => 'Plantaardig, biologisch afbreekbaar en geurloos. Dé ideale keuze voor speelgoed, fidgets en gedetailleerde figuren.', 'badge_color' => 'emerald', 'price_multiplier' => 1.00, ], [ 'name' => 'PETG Tough (Extra Sterk)', 'code' => 'petg', 'description' => 'Slagvast, kan tegen een stootje en waterdicht. Perfect voor intensief speelgoed en plantenpotjes.', 'badge_color' => 'blue', 'price_multiplier' => 1.20, ], [ 'name' => 'TPU Flexibel (Rubberachtig)', 'code' => 'tpu', 'description' => 'Buigzaam, onbreekbaar elastomeer. Heerlijk zacht en kneedbaar voor fidget gadgets.', 'badge_color' => 'amber', 'price_multiplier' => 1.35, ], [ 'name' => 'Silk / Regenboog Glans', 'code' => 'silk', 'description' => 'Extra glanzende zijdelook met sprankelende kleurwisselingen bij lichtinval.', 'badge_color' => 'purple', 'price_multiplier' => 1.25, ], ]; foreach ($materials as $m) { Material::updateOrCreate(['code' => $m['code']], $m); } // 2. Kleuren $colors = [ ['name' => 'Zon Geel (Pikachu)', 'hex' => '#FBBF24', 'in_stock' => true], ['name' => 'Vurig Rood (Charizard)', 'hex' => '#EF4444', 'in_stock' => true], ['name' => 'Hemelsblauw (Squirtle)', 'hex' => '#38BDF8', 'in_stock' => true], ['name' => 'Muntgroen (Bulbasaur)', 'hex' => '#34D399', 'in_stock' => true], ['name' => 'Spooky Paars (Gengar)', 'hex' => '#A855F7', 'in_stock' => true], ['name' => 'Koper Zijdeglans', 'hex' => '#D97706', 'in_stock' => true], ['name' => 'Regenboog Multi-Color', 'hex' => '#EC4899', 'in_stock' => true], ['name' => 'Mat Zwart', 'hex' => '#1E293B', 'in_stock' => true], ['name' => 'Sneeuwwit', 'hex' => '#F8FAFC', 'in_stock' => true], ]; foreach ($colors as $c) { Color::updateOrCreate(['name' => $c['name']], $c); } // 3. Categorieën (Alleen Fidget Toys, Pokémon, Film & Popculture, Eigen Model) $catFidget = Category::updateOrCreate(['slug' => 'fidget-toys'], [ 'name' => 'Fidget Toys & Sensory', 'slug' => 'fidget-toys', 'description' => 'Articulated draken, wriemel slakken, oneindige kubussen en bevredigende clickers.', 'icon' => 'sparkles', 'is_featured' => true, 'sort_order' => 1, ]); $catPokemon = Category::updateOrCreate(['slug' => 'pokemon-3d'], [ 'name' => 'Pokémon 3D Prints', 'slug' => 'pokemon-3d', 'description' => 'Beweegbare Charizards, Pikachu potjes, Pokéballs en iconische figuren.', 'icon' => 'zap', 'is_featured' => true, 'sort_order' => 2, ]); $catFilm = Category::updateOrCreate(['slug' => 'film-popculture'], [ 'name' => 'Film, Popculture & Gaming', 'slug' => 'film-popculture', 'description' => 'Star Wars Grogu & Lightsabers, Marvel Mjolnir, Harry Potter en anime prints.', 'icon' => 'film', 'is_featured' => true, 'sort_order' => 3, ]); $catCustom = Category::updateOrCreate(['slug' => 'eigen-model'], [ 'name' => 'Eigen 3D Model Printen', 'slug' => 'eigen-model', 'description' => 'Upload jouw eigen STL of 3MF bestand en bestel direct online op maat.', 'icon' => 'printer', 'is_featured' => true, 'sort_order' => 4, ]); // Verwijder oude niet-relevante categorieën Category::whereNotIn('slug', ['fidget-toys', 'pokemon-3d', 'film-popculture', 'eigen-model'])->delete(); // 4. Producten (Verwijder oude vazen, gereedschap, etc.) Product::truncate(); $products = [ // --- FIDGET TOYS --- [ 'category_id' => $catFidget->id, 'name' => 'Articulated Kristaldraak (Flexibel Beweegbaar)', 'slug' => 'articulated-kristaldraak-flexibel', 'short_description' => 'De virale 3D kristaldraak! Print-in-place scharnieren met tientallen soepele schakels.', 'description' => 'Deze iconische kristaldraak wordt in één geheel geprint met ingenieuze scharnierverbindingen. De draak beweegt soepel en natuurlijk in je handen en maakt een heerlijk zacht klikkend geluid. Een ultieme fidget toy en een fantastisch pronkstuk voor op je bureau of kast.', 'base_price' => 17.95, 'sku' => 'J3D-FID-DRAAK', 'is_featured' => true, 'dimensions' => '45 x 6 x 4 cm', 'weight_grams' => 135, 'print_time_hours' => 6.5, 'image_url' => 'https://images.unsplash.com/photo-1563089145-599997674d42?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'silk'], 'available_colors' => ['Regenboog Multi-Color', 'Koper Zijdeglans', 'Spooky Paars (Gengar)', 'Hemelsblauw (Squirtle)', 'Mat Zwart'], ], [ 'category_id' => $catFidget->id, 'name' => 'Articulated Fidget Slug (Wriemel Slak)', 'slug' => 'articulated-fidget-slug-wriemel-slak', 'short_description' => 'Vrolijke scharnierende slak die rustgevend ratelt en beweegt. Perfect tegen stress en friemelen!', 'description' => 'De originele 3D Fidget Slug is gemaakt van concentrische flexibele segmenten. Wanneer je hem schudt of vasthoudt, beweegt hij golvend en produceert hij een zacht, bevredigend ASMR-geluid. Zeer geliefd bij zowel kinderen als volwassenen!', 'base_price' => 9.95, 'sku' => 'J3D-FID-SLUG', 'is_featured' => true, 'dimensions' => '18 x 5 x 4 cm', 'weight_grams' => 75, 'print_time_hours' => 3.5, 'image_url' => 'https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'silk'], 'available_colors' => ['Zon Geel (Pikachu)', 'Muntgroen (Bulbasaur)', 'Hemelsblauw (Squirtle)', 'Regenboog Multi-Color'], ], [ 'category_id' => $catFidget->id, 'name' => 'Infinity Fidget Cube (Oneindige Kubus)', 'slug' => 'infinity-fidget-cube-oneindige-kubus', 'short_description' => 'Vouw hem oneindig in elkaar van rechthoek naar kubus. Ideaal voor focus tijdens werk of school.', 'description' => 'Een precisie-geprinte kubus bestaande uit 8 onderling verbonden minikubussen. Vouw hem met één hand om en om terwijl je leert, belt of gamet. Compact formaat dat makkelijk in je broekzak past.', 'base_price' => 11.50, 'sku' => 'J3D-FID-CUBE', 'is_featured' => false, 'dimensions' => '4 x 4 x 4 cm', 'weight_grams' => 50, 'print_time_hours' => 2.5, 'image_url' => 'https://images.unsplash.com/photo-1596461404969-9ae70f2830c1?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Mat Zwart', 'Zon Geel (Pikachu)', 'Hemelsblauw (Squirtle)', 'Spooky Paars (Gengar)'], ], [ 'category_id' => $catFidget->id, 'name' => 'Gyroscope Tri-Ring Fidget Spinner', 'slug' => 'gyroscope-tri-ring-fidget-spinner', 'short_description' => 'Multi-axis gyroscoop met onafhankelijk draaiende ringen. Draait soepel in elke dimensie.', 'description' => 'Drie concentrische ringen die in elkaar hangen en tegelijkertijd in verschillende richtingen kunnen tuimelen. Geeft een heerlijk gevoel van gewichtloosheid in je vingers.', 'base_price' => 8.95, 'sku' => 'J3D-FID-GYRO', 'is_featured' => false, 'dimensions' => '7 x 7 x 1 cm', 'weight_grams' => 35, 'print_time_hours' => 2.0, 'image_url' => 'https://images.unsplash.com/photo-1508873696983-2df5293cb32f?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'silk'], 'available_colors' => ['Regenboog Multi-Color', 'Koper Zijdeglans', 'Zon Geel (Pikachu)'], ], // --- POKÉMON 3D PRINTS --- [ 'category_id' => $catPokemon->id, 'name' => 'Low-Poly Pikachu Plantenpotje & Bureau-Organizer', 'slug' => 'low-poly-pikachu-plantenpotje', 'short_description' => 'Iconische vrolijke Pikachu met geometrische low-poly vlakken. Perfect voor vetplantjes of pennen!', 'description' => 'Een absolute fan-favorite! Deze vrolijke Pikachu is ontworpen in een stijlvolle low-poly facetstijl. Bovenop bevindt zich een uitsparing van ca. 6 cm doorsnede, uitermate geschikt voor kleine vetplantjes, cactussen of pennen op je bureau.', 'base_price' => 14.95, 'sku' => 'J3D-POK-PIKA', 'is_featured' => true, 'dimensions' => '12 x 10 x 14 cm', 'weight_grams' => 110, 'print_time_hours' => 4.5, 'image_url' => 'https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Zon Geel (Pikachu)', 'Sneeuwwit', 'Mat Zwart', 'Koper Zijdeglans'], ], [ 'category_id' => $catPokemon->id, 'name' => 'Articulated Beweegbare Charizard Draak', 'slug' => 'articulated-beweegbare-charizard-draak', 'short_description' => 'Volledig scharnierende Charizard met beweegbare vleugels, kop en vlamstaart. Print-in-place spektakel!', 'description' => 'De ultieme vuurdraak in flexibele 3D print uitvoering! De segmenten van zijn staart, rug en nek bewegen soepel met elkaar mee. Geprint in vurige oranje/rode filamentkleuren of shiny zwart.', 'base_price' => 22.50, 'sku' => 'J3D-POK-CHAR', 'is_featured' => true, 'dimensions' => '32 x 20 x 8 cm', 'weight_grams' => 160, 'print_time_hours' => 7.5, 'image_url' => 'https://images.unsplash.com/photo-1542751371-adc38448a05e?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'silk'], 'available_colors' => ['Vurig Rood (Charizard)', 'Mat Zwart', 'Koper Zijdeglans', 'Zon Geel (Pikachu)'], ], [ 'category_id' => $catPokemon->id, 'name' => 'Pokéball Opbergdoosje met Kliksluiting', 'slug' => 'pokeball-opbergdoosje-met-kliksluiting', 'short_description' => 'Functionele 3D geprinte Pokéball die echt open en dicht klikt! Ideaal voor kleine schatten of sieraden.', 'description' => 'Geprint in meerdere losse kleuren en met precisie geassembleerd. Druk op de witte middenknop om de bal te openen. Voorzien van een stabiele bodem zodat hij netjes rechtop op je bureau staat.', 'base_price' => 13.95, 'sku' => 'J3D-POK-BALL', 'is_featured' => false, 'dimensions' => '8 x 8 x 8 cm', 'weight_grams' => 85, 'print_time_hours' => 4.0, 'image_url' => 'https://images.unsplash.com/photo-1563089145-599997674d42?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Vurig Rood (Charizard)', 'Spooky Paars (Gengar)', 'Hemelsblauw (Squirtle)'], ], [ 'category_id' => $catPokemon->id, 'name' => 'Bulbasaur Geometrisch Vetplant Potje', 'slug' => 'bulbasaur-geometrisch-vetplant-potje', 'short_description' => 'De klassieke Bulbasaur met plantenruimte op zijn rug. Schattig en super populair!', 'description' => 'Zet een echt klein vetplantje op Bulbasaur zijn rug om zijn beroemde plantenknop na te bootsen! Voorzien van waterafvoergaatje aan de onderzijde bij gebruik met echte plantjes.', 'base_price' => 14.95, 'sku' => 'J3D-POK-BULBA', 'is_featured' => false, 'dimensions' => '13 x 10 x 9 cm', 'weight_grams' => 105, 'print_time_hours' => 4.0, 'image_url' => 'https://images.unsplash.com/photo-1509198397868-475647b2a1e5?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Muntgroen (Bulbasaur)', 'Sneeuwwit', 'Hemelsblauw (Squirtle)'], ], [ 'category_id' => $catPokemon->id, 'name' => 'Gengar Grijns Schaduw Figuur', 'slug' => 'gengar-grijns-schaduw-figuur', 'short_description' => 'De ondeugende Gengar met zijn beruchte brede grijns en puntige oren in paars filament.', 'description' => 'Spooky en iconisch! Deze Gengar is met zorg gemodelleerd en heeft strakke detaillijnen. Prachtig in glanzend paars zijdefilament of spooky glow-in-the-dark effect.', 'base_price' => 16.95, 'sku' => 'J3D-POK-GENG', 'is_featured' => true, 'dimensions' => '11 x 11 x 10 cm', 'weight_grams' => 120, 'print_time_hours' => 5.0, 'image_url' => 'https://images.unsplash.com/photo-1566576912321-d58ddd74b508?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'silk'], 'available_colors' => ['Spooky Paars (Gengar)', 'Mat Zwart', 'Sneeuwwit'], ], // --- FILM, POPCULTURE & GAMING --- [ 'category_id' => $catFilm->id, 'name' => 'Grogu Baby Yoda 3D Bureaufiguur', 'slug' => 'grogu-baby-yoda-3d-bureaufiguur', 'short_description' => 'De schattigste Jedi uit het universum! Prachtig gedetailleerd beeldje van Grogu in zijn mantel.', 'description' => 'This is the way! Schattig beeldje van Grogu (The Child) met zijn iconische grote oren en plooien in zijn gewaad. Geprint in hoge resolutie (0.12mm laaghoogte) voor maximale detailweergave.', 'base_price' => 19.95, 'sku' => 'J3D-POP-GROGU', 'is_featured' => true, 'dimensions' => '12 x 14 x 10 cm', 'weight_grams' => 140, 'print_time_hours' => 6.0, 'image_url' => 'https://images.unsplash.com/photo-1608889175123-8ee362201f81?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Muntgroen (Bulbasaur)', 'Sneeuwwit', 'Koper Zijdeglans', 'Mat Zwart'], ], [ 'category_id' => $catFilm->id, 'name' => 'Lightsaber Horizontale Bureaustandaard', 'slug' => 'lightsaber-horizontale-bureaustandaard', 'short_description' => 'Strakke displaystandaard met Star Wars thema om jouw lightsaber handvat horizontaal te tonen.', 'description' => 'Laat jouw lightsaber hilt schitteren op je bureau of wandplank. Universele wieg-uitsparingen geschikt voor vrijwel elk verzamel- of FX-model.', 'base_price' => 15.95, 'sku' => 'J3D-POP-SABER', 'is_featured' => false, 'dimensions' => '22 x 7 x 8 cm', 'weight_grams' => 100, 'print_time_hours' => 4.0, 'image_url' => 'https://images.unsplash.com/photo-1579783900882-c0d3dad7b119?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Mat Zwart', 'Sneeuwwit', 'Galaxy Grijs'], ], [ 'category_id' => $catFilm->id, 'name' => "Marvel Thor's Mjolnir Pennen- & Toolhouder", 'slug' => 'marvel-thors-mjolnir-pennenhouder', 'short_description' => 'De mythische hamer gestoken in een rotssokkel met uitsparingen voor pennen en gadgets.', 'description' => 'Alleen degenen die waardig zijn kunnen deze pen pakken! Een stoere bureau-organizer in de vorm van de iconische Mjolnir hamer in een rotsachtig plateau.', 'base_price' => 18.50, 'sku' => 'J3D-POP-THOR', 'is_featured' => true, 'dimensions' => '14 x 12 x 15 cm', 'weight_grams' => 175, 'print_time_hours' => 6.5, 'image_url' => 'https://images.unsplash.com/photo-1568605117036-5fe5e7bab0b7?auto=format&fit=crop&w=800&q=80', 'available_materials' => ['pla', 'petg'], 'available_colors' => ['Mat Zwart', 'Koper Zijdeglans', 'Sneeuwwit'], ], ]; foreach ($products as $p) { Product::create($p); } } }