10-04-2026
This commit is contained in:
parent
4d6b4930b2
commit
4bb89aad8c
836 changed files with 52961 additions and 5950 deletions
291
database/seeders/DisplayVersionSeeder.php
Normal file
291
database/seeders/DisplayVersionSeeder.php
Normal 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],
|
||||
]);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue