10-04-2026

This commit is contained in:
Kevin Adametz 2026-04-10 17:18:17 +02:00
parent 4d6b4930b2
commit 4bb89aad8c
836 changed files with 52961 additions and 5950 deletions

View file

@ -0,0 +1,291 @@
<?php
namespace Database\Seeders;
use App\Models\Display;
use App\Models\DisplayVersion;
use App\Models\DisplayVersionItem;
use Illuminate\Database\Seeder;
class DisplayVersionSeeder extends Seeder
{
/**
* Seed display versions, items, and displays with example data.
*/
public function run(): void
{
// ========================================
// 1. Video-Display Version
// ========================================
$videoVersion = DisplayVersion::create([
'name' => 'Schaufenster Video',
'type' => 'video-display',
'settings' => [],
'is_active' => true,
]);
$videos = [
['filename' => 'herbst_2025.mp4', 'title' => 'Herbst Kollektion 2025', 'position' => 25],
['filename' => 'fruehjahr_2025.mp4', 'title' => 'Frühjahr Kollektion 2025', 'position' => 30],
['filename' => 'herbst_2024.mp4', 'title' => 'Herbst Kollektion 2024', 'position' => 25],
['filename' => 'fruehjahr_2024.mp4', 'title' => 'Frühjahr Kollektion 2024', 'position' => 25],
];
foreach ($videos as $i => $video) {
DisplayVersionItem::create([
'display_version_id' => $videoVersion->id,
'item_type' => 'video',
'content' => $video,
'sort_order' => $i,
'is_active' => true,
]);
}
$footers = [
['headline' => 'Beratung & Termin', 'subline' => 'Jetzt Termin vereinbaren.', 'url' => 'https://b2in.de/termin'],
['headline' => 'Neue Kollektion', 'subline' => 'Entdecken Sie die aktuellen Trends.', 'url' => null],
];
foreach ($footers as $i => $footer) {
DisplayVersionItem::create([
'display_version_id' => $videoVersion->id,
'item_type' => 'footer',
'content' => $footer,
'sort_order' => $i,
'is_active' => true,
]);
}
// ========================================
// 2. B2in Version (Dark)
// ========================================
$b2inDark = DisplayVersion::create([
'name' => 'B2in Immobilien Dark',
'type' => 'b2in',
'settings' => [
'theme' => 'dark',
'footer_name' => 'Marcel Scheibe',
'footer_url' => 'b2in.de',
'transition' => ['type' => 'crossfade', 'duration_ms' => 800],
'default_image_duration' => 10,
'rotation_weights' => ['immobilien' => 70, 'moebel' => 30],
'display_active' => true,
],
'is_active' => true,
]);
$b2inItems = [
[
'category' => 'immobilien',
'media_type' => 'video',
'media_url' => '../assets/334716_medium.mp4',
'headline' => 'Internationale Immobilien — Ihr Einstieg.',
'subline' => 'Beratung, Begleitung und Vermittlung. Persönlich. Transparent.',
'duration_seconds' => 10,
],
[
'category' => 'immobilien',
'media_type' => 'video',
'media_url' => '../assets/48504-454713939_medium.mp4',
'headline' => 'Ihr Zuhause. Weltweit.',
'subline' => 'Von Dubai bis Europa wir finden Ihre Immobilie.',
'duration_seconds' => 10,
],
[
'category' => 'moebel',
'media_type' => 'image',
'media_url' => 'https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?w=1920&h=1080&fit=crop',
'headline' => 'Exklusive Einrichtung — Lokal. Für Sie.',
'subline' => 'Kuratierte Möbelkonzepte von lokalen Fachhändlern.',
'duration_seconds' => 10,
],
];
foreach ($b2inItems as $i => $item) {
DisplayVersionItem::create([
'display_version_id' => $b2inDark->id,
'item_type' => 'media',
'content' => $item,
'sort_order' => $i,
'is_active' => true,
]);
}
// ========================================
// 3. B2in Version (Light)
// ========================================
$b2inLight = DisplayVersion::create([
'name' => 'B2in Immobilien Light',
'type' => 'b2in',
'settings' => [
'theme' => 'light',
'footer_name' => 'Marcel Scheibe',
'footer_url' => 'b2in.de',
'transition' => ['type' => 'crossfade', 'duration_ms' => 800],
'default_image_duration' => 10,
'rotation_weights' => ['immobilien' => 70, 'moebel' => 30],
'display_active' => true,
],
'is_active' => true,
]);
foreach ($b2inItems as $i => $item) {
DisplayVersionItem::create([
'display_version_id' => $b2inLight->id,
'item_type' => 'media',
'content' => $item,
'sort_order' => $i,
'is_active' => true,
]);
}
// ========================================
// 4. Offers Version
// ========================================
$offersVersion = DisplayVersion::create([
'name' => 'Angebote Schauraum',
'type' => 'offers',
'settings' => [
'loop' => true,
'transition' => ['type' => 'fade', 'duration' => 600],
],
'is_active' => true,
]);
$slides = [
[
'type' => 'intro',
'duration' => 8000,
'image_url' => '../assets/cabinet-intro.jpg',
'badge_text' => 'Ausstellungsdeals solange verfügbar',
'eyebrow' => 'Heute im Fokus',
'title' => "Kuratiert.\nHochwertig.\nSofort.",
'subline' => '',
'price' => '',
'original_price' => '',
'tag_text' => '',
'bullets' => [],
'disclaimer' => 'Zwischenverkauf vorbehalten',
'qr_url' => 'https://cabinet-bielefeld.de',
'qr_title' => 'Kontakt',
'contact' => "0521 98620100\nTel. oder WhatsApp",
'show_brand_text' => true,
'brand_tagline' => "Planung • Beratung\nLieferung & Montage",
],
[
'type' => 'product-hero',
'duration' => 10000,
'image_url' => '../assets/goya1.jpg',
'badge_text' => 'Einzelstück',
'eyebrow' => 'Hersteller: Sudbrock',
'title' => 'GOYA Sideboard',
'subline' => '',
'price' => '489 €',
'original_price' => 'statt 4.744 €',
'tag_text' => '',
'bullets' => [],
'disclaimer' => '',
'qr_url' => 'https://cabinet-bielefeld.de',
'qr_title' => 'Reservieren',
'contact' => "0521 98620100\nTel. oder WhatsApp",
'show_brand_text' => false,
'brand_tagline' => '',
],
[
'type' => 'product-details',
'duration' => 12000,
'image_url' => '../assets/goya2.jpg',
'badge_text' => 'Einzelstück',
'eyebrow' => 'Auf einen Blick',
'title' => 'GOYA Sideboard',
'subline' => '',
'price' => '',
'original_price' => '',
'tag_text' => '',
'bullets' => [
'Eingelagertes Einzelstück',
'Abholung in Rheda-Wiedenbrück',
'Lieferung optional',
'Deckel weiß matt (neu)',
],
'disclaimer' => '',
'qr_url' => 'https://cabinet-bielefeld.de',
'qr_title' => 'Reservieren',
'contact' => "0521 98620100\nTel. oder WhatsApp",
'show_brand_text' => false,
'brand_tagline' => '',
],
[
'type' => 'product-impulse',
'duration' => 10000,
'image_url' => '../assets/tango.jpg',
'badge_text' => 'Ausstellungsstück',
'eyebrow' => 'Nur 1×',
'title' => 'TANDO Spiegel',
'subline' => 'Heute mitnehmen',
'price' => '199 €',
'original_price' => '',
'tag_text' => 'Im Store verfügbar',
'bullets' => [],
'disclaimer' => '',
'qr_url' => 'https://cabinet-bielefeld.de',
'qr_title' => 'Sichern',
'contact' => "0521 98620100\nTel. oder WhatsApp",
'show_brand_text' => false,
'brand_tagline' => '',
],
];
foreach ($slides as $i => $slide) {
DisplayVersionItem::create([
'display_version_id' => $offersVersion->id,
'item_type' => 'slide',
'content' => $slide,
'sort_order' => $i,
'is_active' => true,
]);
}
// ========================================
// Displays
// ========================================
$display1 = Display::create([
'name' => 'Display 1 Eingang',
'location' => 'Schaufenster links',
'is_active' => true,
]);
$display1->versions()->attach([
$videoVersion->id => ['sort_order' => 0],
$b2inDark->id => ['sort_order' => 1],
]);
$display2 = Display::create([
'name' => 'Display 2 Mitte',
'location' => 'Schaufenster Mitte',
'is_active' => true,
]);
$display2->versions()->attach([
$offersVersion->id => ['sort_order' => 0],
]);
$display3 = Display::create([
'name' => 'Display 3 Rechts',
'location' => 'Schaufenster rechts',
'is_active' => true,
]);
$display3->versions()->attach([
$b2inLight->id => ['sort_order' => 0],
$offersVersion->id => ['sort_order' => 1],
$videoVersion->id => ['sort_order' => 2],
]);
$display4 = Display::create([
'name' => 'Display 4 Innen',
'location' => 'Schauraum',
'is_active' => true,
]);
$display4->versions()->attach([
$b2inDark->id => ['sort_order' => 0],
]);
}
}