From 6d53243ea6f0328c96b886972855b4436c2b3a72 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Fri, 28 Aug 2026 15:31:19 +0000 Subject: [PATCH 01/22] B2in Interior: Relaunch der Website, Kernmarken-CMS und Terminanfrage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Umsetzung von AP0-AP6 aus dev/2026-08-28/entwicklungsplan.md sowie der vorab gefundenen Befunde T1 und B1-B13. Befunde - CmsContentSeeder überschrieb bei jedem Lauf alle redaktionellen Inhalte; jetzt Redaktionsschutz plus gezielter Relaunch-Seeder (B1) - Magazin-CMS war nicht ans Frontend angebunden, Artikel jetzt über Slugs mit 301 von den alten numerischen URLs (B2) - Vier veröffentlichte Display-Playlists zeigten auf b2in.test und wären live nicht ladbar gewesen (B13) - Info-Tablet speicherte geleerte Öffnungszeiten nicht (T1) - /service und /portfolio lieferten seit Februar 500 (B12) Website - Startseite neu strukturiert und umgetextet, eigene Seite /marken mit Detailseite je Kernmarke, /netzwerk und Altrouten leiten dorthin - Galerie je Marke, getrennt nach realisierten Projekten und Visualisierungen; ohne gesetzte Kategorie gilt ein Bild als Entwurf - Seite /referenzen, gespeist aus den Markengalerien - Showroom-Display im 9:16-Rahmen über eine schreibgeschützte Embed-Route ohne Preview-Token - Terminanfrage-Widget auf allen Seiten, Markenauswahl aus dem CMS, WhatsApp per Klick-zum-Chat-Link mit vorbereitetem Text - FAQ, Über-uns, Kontakt und Magazin inhaltlich auf Interior umgestellt Sonstiges - Vorschau-Instanzen liefern noindex und verlinken sich bei unbekanntem Host auf sich selbst statt auf eine fremde Domain - Seeder-Zugangsdaten aus dem Code in die Konfiguration (B8) - Ablauf für die Vorschau: dev/2026-08-28/preview-deployment.md 833 Tests grün (3084 Assertions), Pint sauber. Co-Authored-By: Claude Opus 5 --- .env.example | 5 + .gitignore | 4 +- app/Helpers/ThemeHelper.php | 29 +- .../Controllers/DisplayEmbedController.php | 34 + app/Livewire/Admin/Cms/CabinetInfoTablet.php | 30 +- .../Components/Sections/AudienceSwitch.php | 25 + .../Web/Components/Sections/BrandDetail.php | 44 + .../Web/Components/Sections/BrandOverview.php | 25 + .../Web/Components/Sections/CoreBrands.php | 30 + .../Web/Components/Sections/DisplayFeed.php | 72 ++ .../Components/Sections/ImmobilienTeaser.php | 25 + .../Web/Components/Sections/MagazinDetail.php | 32 +- .../Web/Components/Sections/MagazinList.php | 14 +- .../Web/Components/Sections/MarkenCta.php | 25 + .../Web/Components/Sections/MarkenGrowth.php | 25 + .../Web/Components/Sections/MarkenNetwork.php | 25 + .../Web/Components/Sections/PageHero.php | 34 + .../Components/Sections/ReferenceProjects.php | 63 ++ .../Web/Components/Sections/Sponsoring.php | 25 + .../Web/Components/UI/AnnouncementBar.php | 19 + .../Web/Components/UI/AppointmentWidget.php | 129 +++ app/Livewire/Web/Components/UI/Footer.php | 9 + app/Models/CmsArticle.php | 96 ++ app/Models/CmsBrand.php | 225 ++++ app/Providers/ThemeServiceProvider.php | 12 + app/Support/DisplayModuleSettings.php | 6 +- app/helpers.php | 29 + config/app.php | 15 + config/cms_section_map.php | 15 + config/seeding.php | 21 + database/factories/CmsBrandFactory.php | 70 ++ ...6_08_28_110407_create_cms_brands_table.php | 40 + ...ary_and_highlights_to_cms_brands_table.php | 33 + database/seeders/CmsArticleSeeder.php | 30 +- database/seeders/CmsBrandSeeder.php | 139 +++ database/seeders/CmsContentSeeder.php | 46 +- database/seeders/DatabaseSeeder.php | 19 +- database/seeders/DemoBrandGallerySeeder.php | 67 ++ .../seeders/DisplayInteriorBrandingSeeder.php | 50 + .../DisplayMediaUrlNormalizerSeeder.php | 77 ++ .../seeders/InteriorRelaunchCmsSeeder.php | 70 ++ dev/2026-08-28/B2in_Interior-Konzept.md | 102 ++ dev/2026-08-28/deploy/dateiliste.txt | 113 ++ dev/2026-08-28/entwicklungsplan.md | 982 ++++++++++++++++++ ..._Interior-Logo-negativ-2025-09-22_CMYK.svg | 55 + ..._Interior-Logo-positiv-2025-09-22_CMYK.svg | 55 + dev/2026-08-28/preview-deployment.md | 322 ++++++ .../sponsoren-logos/Arminia_Club_1905.png | Bin 0 -> 127603 bytes dev/2026-08-28/sponsoren-logos/TCBWH_Logo.jpg | Bin 0 -> 72442 bytes dev/2026-08-28/sponsoren-logos/TCH.jpg | Bin 0 -> 175340 bytes dev/2026-08-28/sponsoren-logos/TCH.png | Bin 0 -> 72754 bytes dev/2026-08-28/sponsoren-logos/TCH_Logo.jpg | Bin 0 -> 251784 bytes dev/2026-08-28/sponsoren-logos/TCH_Logo.png | Bin 0 -> 135517 bytes .../sponsoren-logos/TCH_Logo_Year.jpg | Bin 0 -> 76656 bytes dev/2026-08-28/umsetzung-inhalte.md | 338 ++++++ dev/2026-08-28/umsetzungliste.md | 120 +++ dev/2026-08-28/unterseite_marke.md | 130 +++ .../assets/b2in-interior-logo-negative.svg | 54 + .../assets/b2in-interior-logo-positive.svg | 54 + public/_cabinet/display/index.html | 4 +- .../assets/sponsoring/arminia-bielefeld.png | Bin 0 -> 77316 bytes .../sponsoring/tc-bad-waldliesborn-horn.jpg | Bin 0 -> 38925 bytes public/img/assets/sponsoring/tc-hoevelhof.png | Bin 0 -> 14408 bytes .../img/logos/b2in-interior-logo-negative.png | Bin 0 -> 5383 bytes .../img/logos/b2in-interior-logo-negative.svg | 54 + .../img/logos/b2in-interior-logo-positive.png | Bin 0 -> 6864 bytes .../img/logos/b2in-interior-logo-positive.svg | 54 + resources/lang/de/b2in.php | 401 +++++-- resources/lang/de/ui.php | 51 + resources/lang/en/b2in.php | 388 +++++-- resources/lang/en/ui.php | 51 + .../livewire/admin/cms/brands-index.blade.php | 504 +++++++++ .../admin/cms/cabinet-info-tablet.blade.php | 38 +- .../admin/cms/content-index.blade.php | 10 +- .../livewire/admin/cms/dashboard.blade.php | 15 + .../admin/cms/projects-index.blade.php | 2 +- .../sections/audience-switch.blade.php | 51 + .../sections/brand-detail.blade.php | 256 +++++ .../sections/brand-overview.blade.php | 59 ++ .../components/sections/core-brands.blade.php | 53 + .../sections/display-feed.blade.php | 37 + .../sections/immobilien-teaser.blade.php | 17 + .../sections/magazin-list.blade.php | 6 +- .../components/sections/marken-cta.blade.php | 22 + .../sections/marken-growth.blade.php | 9 + .../sections/marken-network.blade.php | 46 + .../components/sections/page-hero.blade.php | 36 + .../sections/reference-projects.blade.php | 48 + .../components/sections/sponsoring.blade.php | 33 + .../components/ui/announcement-bar.blade.php | 15 +- .../ui/appointment-widget.blade.php | 175 ++++ .../web/components/ui/footer.blade.php | 40 +- .../web/components/ui/header.blade.php | 2 +- .../views/vendor/mail/html/header.blade.php | 4 +- resources/views/web/about.blade.php | 4 +- resources/views/web/contact.blade.php | 4 +- resources/views/web/cookie-policy.blade.php | 1 + resources/views/web/faq.blade.php | 4 +- resources/views/web/home.blade.php | 13 +- resources/views/web/impressum.blade.php | 1 + .../views/web/layouts/web-master.blade.php | 21 +- resources/views/web/magazin-detail.blade.php | 3 +- resources/views/web/magazin.blade.php | 4 +- resources/views/web/marken-show.blade.php | 24 + resources/views/web/marken.blade.php | 20 + resources/views/web/netzwerk.blade.php | 4 +- resources/views/web/privacy.blade.php | 1 + resources/views/web/referenzen.blade.php | 19 + resources/views/web/terms.blade.php | 1 + routes/admin.php | 1 + routes/web.php | 53 +- .../Feature/Admin/Cms/CmsBrandsIndexTest.php | 246 +++++ tests/Feature/AnnouncementBarTest.php | 59 +- tests/Feature/AppointmentWidgetTest.php | 230 ++++ tests/Feature/BrandPageTest.php | 193 ++++ tests/Feature/CabinetInfoTabletTest.php | 117 +++ tests/Feature/Cms/CmsArticleTest.php | 14 +- tests/Feature/Cms/CmsBrandTest.php | 134 +++ tests/Feature/Cms/CmsContentSeederTest.php | 92 ++ tests/Feature/DisplayInteriorBrandingTest.php | 75 ++ .../Feature/DisplayMediaUrlNormalizerTest.php | 94 ++ tests/Feature/DisplayVersionApiTest.php | 2 +- tests/Feature/DisplayVersionTest.php | 2 +- tests/Feature/DisplayWebFeedTest.php | 142 +++ tests/Feature/FooterTest.php | 47 + tests/Feature/HomePageStructureTest.php | 197 ++++ tests/Feature/InteriorPageTest.php | 39 +- tests/Feature/LiveSiteReviewTest.php | 94 +- tests/Feature/MagazinPageTest.php | 146 ++- tests/Feature/MarkenPageTest.php | 181 ++++ tests/Feature/PreviewHostTest.php | 61 ++ tests/Feature/ReferenzenPageTest.php | 75 ++ 132 files changed, 8672 insertions(+), 335 deletions(-) create mode 100644 app/Http/Controllers/DisplayEmbedController.php create mode 100644 app/Livewire/Web/Components/Sections/AudienceSwitch.php create mode 100644 app/Livewire/Web/Components/Sections/BrandDetail.php create mode 100644 app/Livewire/Web/Components/Sections/BrandOverview.php create mode 100644 app/Livewire/Web/Components/Sections/CoreBrands.php create mode 100644 app/Livewire/Web/Components/Sections/DisplayFeed.php create mode 100644 app/Livewire/Web/Components/Sections/ImmobilienTeaser.php create mode 100644 app/Livewire/Web/Components/Sections/MarkenCta.php create mode 100644 app/Livewire/Web/Components/Sections/MarkenGrowth.php create mode 100644 app/Livewire/Web/Components/Sections/MarkenNetwork.php create mode 100644 app/Livewire/Web/Components/Sections/PageHero.php create mode 100644 app/Livewire/Web/Components/Sections/ReferenceProjects.php create mode 100644 app/Livewire/Web/Components/Sections/Sponsoring.php create mode 100644 app/Livewire/Web/Components/UI/AppointmentWidget.php create mode 100644 app/Models/CmsBrand.php create mode 100644 config/seeding.php create mode 100644 database/factories/CmsBrandFactory.php create mode 100644 database/migrations/2026_08_28_110407_create_cms_brands_table.php create mode 100644 database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php create mode 100644 database/seeders/CmsBrandSeeder.php create mode 100644 database/seeders/DemoBrandGallerySeeder.php create mode 100644 database/seeders/DisplayInteriorBrandingSeeder.php create mode 100644 database/seeders/DisplayMediaUrlNormalizerSeeder.php create mode 100644 database/seeders/InteriorRelaunchCmsSeeder.php create mode 100644 dev/2026-08-28/B2in_Interior-Konzept.md create mode 100644 dev/2026-08-28/deploy/dateiliste.txt create mode 100644 dev/2026-08-28/entwicklungsplan.md create mode 100644 dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg create mode 100644 dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg create mode 100644 dev/2026-08-28/preview-deployment.md create mode 100644 dev/2026-08-28/sponsoren-logos/Arminia_Club_1905.png create mode 100644 dev/2026-08-28/sponsoren-logos/TCBWH_Logo.jpg create mode 100644 dev/2026-08-28/sponsoren-logos/TCH.jpg create mode 100644 dev/2026-08-28/sponsoren-logos/TCH.png create mode 100644 dev/2026-08-28/sponsoren-logos/TCH_Logo.jpg create mode 100644 dev/2026-08-28/sponsoren-logos/TCH_Logo.png create mode 100644 dev/2026-08-28/sponsoren-logos/TCH_Logo_Year.jpg create mode 100644 dev/2026-08-28/umsetzung-inhalte.md create mode 100644 dev/2026-08-28/umsetzungliste.md create mode 100644 dev/2026-08-28/unterseite_marke.md create mode 100644 public/_cabinet/assets/b2in-interior-logo-negative.svg create mode 100644 public/_cabinet/assets/b2in-interior-logo-positive.svg create mode 100644 public/img/assets/sponsoring/arminia-bielefeld.png create mode 100644 public/img/assets/sponsoring/tc-bad-waldliesborn-horn.jpg create mode 100644 public/img/assets/sponsoring/tc-hoevelhof.png create mode 100644 public/img/logos/b2in-interior-logo-negative.png create mode 100644 public/img/logos/b2in-interior-logo-negative.svg create mode 100644 public/img/logos/b2in-interior-logo-positive.png create mode 100644 public/img/logos/b2in-interior-logo-positive.svg create mode 100644 resources/views/livewire/admin/cms/brands-index.blade.php create mode 100644 resources/views/livewire/web/components/sections/audience-switch.blade.php create mode 100644 resources/views/livewire/web/components/sections/brand-detail.blade.php create mode 100644 resources/views/livewire/web/components/sections/brand-overview.blade.php create mode 100644 resources/views/livewire/web/components/sections/core-brands.blade.php create mode 100644 resources/views/livewire/web/components/sections/display-feed.blade.php create mode 100644 resources/views/livewire/web/components/sections/immobilien-teaser.blade.php create mode 100644 resources/views/livewire/web/components/sections/marken-cta.blade.php create mode 100644 resources/views/livewire/web/components/sections/marken-growth.blade.php create mode 100644 resources/views/livewire/web/components/sections/marken-network.blade.php create mode 100644 resources/views/livewire/web/components/sections/page-hero.blade.php create mode 100644 resources/views/livewire/web/components/sections/reference-projects.blade.php create mode 100644 resources/views/livewire/web/components/sections/sponsoring.blade.php create mode 100644 resources/views/livewire/web/components/ui/appointment-widget.blade.php create mode 100644 resources/views/web/marken-show.blade.php create mode 100644 resources/views/web/marken.blade.php create mode 100644 resources/views/web/referenzen.blade.php create mode 100644 tests/Feature/Admin/Cms/CmsBrandsIndexTest.php create mode 100644 tests/Feature/AppointmentWidgetTest.php create mode 100644 tests/Feature/BrandPageTest.php create mode 100644 tests/Feature/Cms/CmsBrandTest.php create mode 100644 tests/Feature/DisplayInteriorBrandingTest.php create mode 100644 tests/Feature/DisplayMediaUrlNormalizerTest.php create mode 100644 tests/Feature/DisplayWebFeedTest.php create mode 100644 tests/Feature/FooterTest.php create mode 100644 tests/Feature/HomePageStructureTest.php create mode 100644 tests/Feature/MarkenPageTest.php create mode 100644 tests/Feature/PreviewHostTest.php create mode 100644 tests/Feature/ReferenzenPageTest.php diff --git a/.env.example b/.env.example index 4ffd7b09..c9d9b6a9 100644 --- a/.env.example +++ b/.env.example @@ -80,3 +80,8 @@ DISPLAY_PLAYER_URL=https://portal.b2in.test/_cabinet/display # Nützlich in der Entwicklung, um Seed-Daten und manuelle Testeinträge zu erhalten. # Hinweis: Migrationen müssen mindestens einmal für die Test-DB ausgeführt werden: DB_DATABASE=testing sail artisan migrate # TESTING_PRESERVE_DATABASE=false + +# Seed-Admin (DatabaseSeeder) +SEED_ADMIN_NAME="Admin" +SEED_ADMIN_EMAIL=admin@b2in.test +SEED_ADMIN_PASSWORD= diff --git a/.gitignore b/.gitignore index 8b98b037..427f4ebf 100644 --- a/.gitignore +++ b/.gitignore @@ -57,4 +57,6 @@ Icon _static/ _work/ _storage/ -dev/immobilien 07-05-2026/AZIZI SharePoint \ No newline at end of file +dev/immobilien 07-05-2026/AZIZI SharePoint +# Deployment-Archive werden bei Bedarf neu erzeugt +dev/**/deploy/*.tar.gz diff --git a/app/Helpers/ThemeHelper.php b/app/Helpers/ThemeHelper.php index 4d17ba6e..92cb95bf 100644 --- a/app/Helpers/ThemeHelper.php +++ b/app/Helpers/ThemeHelper.php @@ -10,6 +10,7 @@ class ThemeHelper public static function getLogoPath(string $type = 'positive'): string { $theme = config('app.theme', 'b2in'); + return self::getLogoPathForBrand($theme, $type); } @@ -22,21 +23,21 @@ class ThemeHelper $logoMap = [ 'b2in' => [ - 'positive' => 'img/logos/b2in-logo-positive.svg', - 'negative' => 'img/logos/b2in-logo-negative.svg' + 'positive' => 'img/logos/b2in-interior-logo-positive.svg', + 'negative' => 'img/logos/b2in-interior-logo-negative.svg', ], 'b2a' => [ 'positive' => 'img/logos/b2a-logo-positiv.svg', - 'negative' => 'img/logos/b2a-logo-negativ.svg' + 'negative' => 'img/logos/b2a-logo-negativ.svg', ], 'stileigentum' => [ 'positive' => 'img/logos/stileigentum-logo-positiv.svg', - 'negative' => 'img/logos/stileigentum-logo-negativ.svg' + 'negative' => 'img/logos/stileigentum-logo-negativ.svg', ], 'style2own' => [ 'positive' => 'img/logos/style2own-logo-positiv.svg', - 'negative' => 'img/logos/style2own-logo-negativ.svg' - ] + 'negative' => 'img/logos/style2own-logo-negativ.svg', + ], ]; return $logoMap[$brand][$type] ?? $logoMap['b2in'][$type]; @@ -48,6 +49,7 @@ class ThemeHelper public static function getFaviconPath(): string { $theme = config('app.theme', 'b2in'); + return "img/favicons/{$theme}-favicon.ico"; } @@ -57,6 +59,7 @@ class ThemeHelper public static function getThemeCssPath(): string { $theme = config('app.theme', 'b2in'); + return "resources/css/web/theme-{$theme}.css"; } @@ -66,6 +69,7 @@ class ThemeHelper public static function getDomainConfig(): array { $theme = config('app.theme', 'b2in'); + return config("domains.domains.{$theme}", []); } @@ -75,6 +79,7 @@ class ThemeHelper public static function getPrimaryColor(): string { $config = self::getDomainConfig(); + return $config['color_scheme']['primary'] ?? '#2b3f51'; } @@ -84,6 +89,7 @@ class ThemeHelper public static function getSecondaryColor(): string { $config = self::getDomainConfig(); + return $config['color_scheme']['secondary'] ?? '#20a0da'; } @@ -93,6 +99,7 @@ class ThemeHelper public static function getPrimaryFont(): string { $config = self::getDomainConfig(); + return $config['font_family']['primary'] ?? 'Inter'; } @@ -102,6 +109,7 @@ class ThemeHelper public static function getSecondaryFont(): string { $config = self::getDomainConfig(); + return $config['font_family']['secondary'] ?? 'IBM Plex Sans'; } @@ -111,12 +119,14 @@ class ThemeHelper public static function getDomainName(): string { $config = self::getDomainConfig(); + return $config['domain_name'] ?? 'B2IN'; } public static function getDomainUrl(): string { $config = self::getDomainConfig(); + return $config['url'] ?? config('app.url'); } @@ -127,7 +137,7 @@ class ThemeHelper { $brand = $brand ?? config('app.theme', 'b2in'); $config = config("domains.domains.{$brand}", []); - + return [ 'primary' => $config['color_scheme']['primary'] ?? '#2b3f51', 'secondary' => $config['color_scheme']['secondary'] ?? '#20a0da', @@ -141,14 +151,14 @@ class ThemeHelper public static function getBrandName(?string $brand = null): string { $brand = $brand ?? config('app.theme', 'b2in'); - + $brandNames = [ 'b2in' => 'B2IN', 'b2a' => 'B2A', 'stileigentum' => 'StilEigentum', 'style2own' => 'Style2Own', ]; - + return $brandNames[$brand] ?? strtoupper($brand); } @@ -158,6 +168,7 @@ class ThemeHelper public static function getBrandConfig(?string $brand = null): array { $brand = $brand ?? config('app.theme', 'b2in'); + return config("domains.domains.{$brand}", []); } } diff --git a/app/Http/Controllers/DisplayEmbedController.php b/app/Http/Controllers/DisplayEmbedController.php new file mode 100644 index 00000000..1216c724 --- /dev/null +++ b/app/Http/Controllers/DisplayEmbedController.php @@ -0,0 +1,34 @@ +is_active, 404); + + $playlist = $display->livePlaylist()->withCount('modules')->first(); + + abort_if($playlist === null || $playlist->modules_count === 0, 404); + + // Der Player liest die ID aus dem Pfad (/display/{id}) und holt sich die Konfiguration + // über die öffentliche Route /api/display/{display}/config – dieselbe Quelle wie das + // physische Display. Keine doppelte Pflege. + return response()->file(public_path('_cabinet/display/index.html'), [ + 'Cache-Control' => 'no-cache, must-revalidate', + 'X-Robots-Tag' => 'noindex', + ]); + } +} diff --git a/app/Livewire/Admin/Cms/CabinetInfoTablet.php b/app/Livewire/Admin/Cms/CabinetInfoTablet.php index 79711375..f9bb1828 100644 --- a/app/Livewire/Admin/Cms/CabinetInfoTablet.php +++ b/app/Livewire/Admin/Cms/CabinetInfoTablet.php @@ -98,13 +98,35 @@ class CabinetInfoTablet extends Component } /** - * @param array $hours Optional: Time picker values from DOM (bypasses wire:model sync issues) + * Zeit-Properties, die beim Speichern aus dem DOM uebernommen werden duerfen. + * + * @return array + */ + private function hourProperties(): array + { + return [ + 'hoursMondayOpen', 'hoursMondayClose', + 'hoursTuesdayOpen', 'hoursTuesdayClose', + 'hoursWednesdayOpen', 'hoursWednesdayClose', + 'hoursThursdayOpen', 'hoursThursdayClose', + 'hoursFridayOpen', 'hoursFridayClose', + 'hoursSaturdayOpen', 'hoursSaturdayClose', + 'hoursSundayOpen', 'hoursSundayClose', + ]; + } + + /** + * Der Flux-Zeit-Picker meldet das Leeren per X nicht zuverlaessig an wire:model. + * Deshalb liest das Formular die Werte beim Absenden aus dem DOM und uebergibt sie hier. + * Nur die Zeitfelder duerfen so gesetzt werden – alles andere kommt aus wire:model. + * + * @param array $hours Zeit-Picker-Werte aus dem DOM */ public function save(array $hours = []): void { - foreach ($hours as $prop => $value) { - if (property_exists($this, $prop)) { - $this->{$prop} = $value ?? ''; + foreach ($this->hourProperties() as $prop) { + if (array_key_exists($prop, $hours)) { + $this->{$prop} = is_string($hours[$prop]) ? $hours[$prop] : ''; } } diff --git a/app/Livewire/Web/Components/Sections/AudienceSwitch.php b/app/Livewire/Web/Components/Sections/AudienceSwitch.php new file mode 100644 index 00000000..83eea87c --- /dev/null +++ b/app/Livewire/Web/Components/Sections/AudienceSwitch.php @@ -0,0 +1,25 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('audience_switch'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.audience-switch'); + } +} diff --git a/app/Livewire/Web/Components/Sections/BrandDetail.php b/app/Livewire/Web/Components/Sections/BrandDetail.php new file mode 100644 index 00000000..64ccae65 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/BrandDetail.php @@ -0,0 +1,44 @@ + */ + public array $brand = []; + + /** @var array> */ + public array $otherBrands = []; + + /** + * Galerie getrennt nach realisierten Projekten und Inspirationen. + * + * @var array{projects: array>, inspirations: array>} + */ + public array $gallery = ['projects' => [], 'inspirations' => []]; + + public function mount(string $slug): void + { + $brands = CmsBrand::forFrontend(); + + abort_unless(isset($brands[$slug]), 404); + + $this->slug = $slug; + $this->brand = $brands[$slug]; + $this->gallery = CmsBrand::groupGallery($this->brand['gallery'] ?? []); + $this->otherBrands = collect($brands) + ->reject(fn (array $brand, string $key) => $key === $slug) + ->values() + ->all(); + } + + public function render() + { + return view('livewire.web.components.sections.brand-detail'); + } +} diff --git a/app/Livewire/Web/Components/Sections/BrandOverview.php b/app/Livewire/Web/Components/Sections/BrandOverview.php new file mode 100644 index 00000000..a810fe5d --- /dev/null +++ b/app/Livewire/Web/Components/Sections/BrandOverview.php @@ -0,0 +1,25 @@ +> */ + public array $brands = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $this->brands = array_values(CmsBrand::forFrontend()); + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.brand-overview'); + } +} diff --git a/app/Livewire/Web/Components/Sections/CoreBrands.php b/app/Livewire/Web/Components/Sections/CoreBrands.php new file mode 100644 index 00000000..521748f8 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/CoreBrands.php @@ -0,0 +1,30 @@ + */ + public array $content = []; + + /** @var array> */ + public array $brands = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('core_brands'); + $this->content = is_array($section) ? $section : []; + $this->brands = array_values(CmsBrand::forFrontend()); + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.core-brands'); + } +} diff --git a/app/Livewire/Web/Components/Sections/DisplayFeed.php b/app/Livewire/Web/Components/Sections/DisplayFeed.php new file mode 100644 index 00000000..2f70581d --- /dev/null +++ b/app/Livewire/Web/Components/Sections/DisplayFeed.php @@ -0,0 +1,72 @@ + */ + public array $content = []; + + public ?int $displayId = null; + + public string $bg = ''; + + public bool $showLink = true; + + public function mount(string $bg = '', bool $showLink = true): void + { + $section = cms_theme_section('display_feed'); + $content = is_array($section) ? $section : []; + + $this->bg = $bg; + $this->showLink = $showLink; + $this->displayId = $this->resolveDisplayId($content); + + // Ohne Display bleiben auch die Texte leer – sie hätten sonst nichts zu beschriften und + // stünden trotzdem im Livewire-Snapshot der Seite. + $this->content = $this->displayId === null ? [] : $content; + } + + /** + * Im CMS hinterlegtes Display, sonst das erste aktive mit veröffentlichter Playlist. + * + * Ohne passendes Display rendert die Sektion nichts – lieber keine Sektion als ein + * Rahmen, in dem sich ewig ein Ladebalken dreht. + * + * @param array $content + */ + private function resolveDisplayId(array $content): ?int + { + $configured = $content['display_id'] ?? null; + + $query = Display::query() + ->where('is_active', true) + ->whereHas('playlists', fn ($q) => $q->where('status', DisplayPlaylist::STATUS_PUBLISHED) + ->whereHas('modules')); + + if (is_numeric($configured) && (int) $configured > 0) { + $display = (clone $query)->whereKey((int) $configured)->first(); + + if ($display !== null) { + return $display->id; + } + } + + return $query->orderBy('id')->value('id'); + } + + public function render() + { + return view('livewire.web.components.sections.display-feed'); + } +} diff --git a/app/Livewire/Web/Components/Sections/ImmobilienTeaser.php b/app/Livewire/Web/Components/Sections/ImmobilienTeaser.php new file mode 100644 index 00000000..4e454178 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/ImmobilienTeaser.php @@ -0,0 +1,25 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('immobilien_teaser'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.immobilien-teaser'); + } +} diff --git a/app/Livewire/Web/Components/Sections/MagazinDetail.php b/app/Livewire/Web/Components/Sections/MagazinDetail.php index 0ef295b5..bd2a5f52 100644 --- a/app/Livewire/Web/Components/Sections/MagazinDetail.php +++ b/app/Livewire/Web/Components/Sections/MagazinDetail.php @@ -2,11 +2,12 @@ namespace App\Livewire\Web\Components\Sections; +use App\Models\CmsArticle; use Livewire\Component; class MagazinDetail extends Component { - public $articleId; + public $slug; public $article; @@ -14,9 +15,9 @@ class MagazinDetail extends Component public $content; - public function mount($id = 1) + public function mount($slug) { - $this->articleId = (int) $id; + $this->slug = (string) $slug; $this->loadArticle(); $this->loadRelatedArticles(); $this->loadThemeContent(); @@ -25,14 +26,18 @@ class MagazinDetail extends Component private function loadArticle() { $articles = $this->getArticlesData(); - $this->article = $articles[$this->articleId] ?? $articles[1]; + + // Unbekannte Slugs haben frueher stillschweigend Artikel 1 ausgeliefert – mit Status 200. + // Das erzeugt Duplicate Content unter beliebig vielen URLs. + abort_unless(isset($articles[$this->slug]), 404); + + $this->article = $articles[$this->slug]; } private function loadRelatedArticles() { - $articles = $this->getArticlesData(); - $this->relatedArticles = collect($articles) - ->filter(fn ($article, $key) => $key != $this->articleId) + $this->relatedArticles = collect($this->getArticlesData()) + ->reject(fn (array $article, string $slug) => $slug === $this->slug) ->take(2) ->values() ->toArray(); @@ -43,9 +48,18 @@ class MagazinDetail extends Component $this->content = cms_theme_section('magazin_detail'); } - private function getArticlesData() + /** @var array>|null */ + private ?array $articlesCache = null; + + /** + * Wird beim Rendern zweimal gebraucht (Artikel + verwandte Artikel) – deshalb gemerkt, + * damit die Detailseite nur eine Abfrage auslöst. + * + * @return array> + */ + private function getArticlesData(): array { - return trans('b2in.articles'); + return $this->articlesCache ??= CmsArticle::forFrontend(); } public function render() diff --git a/app/Livewire/Web/Components/Sections/MagazinList.php b/app/Livewire/Web/Components/Sections/MagazinList.php index ecd1e800..6b35c4f7 100644 --- a/app/Livewire/Web/Components/Sections/MagazinList.php +++ b/app/Livewire/Web/Components/Sections/MagazinList.php @@ -2,6 +2,7 @@ namespace App\Livewire\Web\Components\Sections; +use App\Models\CmsArticle; use Livewire\Component; class MagazinList extends Component @@ -18,17 +19,16 @@ class MagazinList extends Component private function loadPosts() { - $articles = trans('b2in.articles'); - $this->posts = collect($articles)->map(function ($article) { + $this->posts = collect(CmsArticle::forFrontend())->map(function (array $article) { return [ - 'id' => $article['id'], + 'slug' => $article['slug'], 'title' => $article['title'], - 'excerpt' => $article['content']['intro'], // Using intro as excerpt + 'excerpt' => $article['content']['intro'] ?? '', 'image' => $article['image'], 'date' => $article['date'], 'readTime' => $article['readTime'], ]; - })->all(); + })->values()->all(); } private function loadThemeContent() @@ -38,6 +38,8 @@ class MagazinList extends Component public function render() { - return view('livewire.web.components.sections.magazin-list'); + return view('livewire.web.components.sections.magazin-list', [ + 'posts' => $this->posts, + ]); } } diff --git a/app/Livewire/Web/Components/Sections/MarkenCta.php b/app/Livewire/Web/Components/Sections/MarkenCta.php new file mode 100644 index 00000000..07af19f2 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/MarkenCta.php @@ -0,0 +1,25 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('marken_cta'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.marken-cta'); + } +} diff --git a/app/Livewire/Web/Components/Sections/MarkenGrowth.php b/app/Livewire/Web/Components/Sections/MarkenGrowth.php new file mode 100644 index 00000000..e5820af1 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/MarkenGrowth.php @@ -0,0 +1,25 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('marken_growth'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.marken-growth'); + } +} diff --git a/app/Livewire/Web/Components/Sections/MarkenNetwork.php b/app/Livewire/Web/Components/Sections/MarkenNetwork.php new file mode 100644 index 00000000..971faf80 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/MarkenNetwork.php @@ -0,0 +1,25 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('marken_network'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.marken-network'); + } +} diff --git a/app/Livewire/Web/Components/Sections/PageHero.php b/app/Livewire/Web/Components/Sections/PageHero.php new file mode 100644 index 00000000..71094925 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/PageHero.php @@ -0,0 +1,34 @@ + */ + public array $content = []; + + public string $bg = ''; + + public string $breadcrumb = ''; + + public function mount(string $section = 'marken_hero', string $breadcrumb = '', string $bg = ''): void + { + $content = cms_theme_section($section); + $this->content = is_array($content) ? $content : []; + $this->breadcrumb = $breadcrumb !== '' ? $breadcrumb : __('ui.brands'); + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.page-hero'); + } +} diff --git a/app/Livewire/Web/Components/Sections/ReferenceProjects.php b/app/Livewire/Web/Components/Sections/ReferenceProjects.php new file mode 100644 index 00000000..1de9186d --- /dev/null +++ b/app/Livewire/Web/Components/Sections/ReferenceProjects.php @@ -0,0 +1,63 @@ + */ + public array $content = []; + + /** @var array> */ + public array $projects = []; + + public string $bg = ''; + + public int $limit = 0; + + public function mount(string $bg = '', int $limit = 0): void + { + $section = cms_theme_section('reference_projects'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + $this->limit = $limit; + $this->projects = $this->collectProjects(); + } + + /** + * @return array> + */ + private function collectProjects(): array + { + $projects = []; + + foreach (CmsBrand::forFrontend() as $slug => $brand) { + foreach (CmsBrand::groupGallery($brand['gallery'] ?? [])['projects'] as $index => $item) { + $projects[] = [ + 'key' => $slug.'-'.$index, + 'image' => $item['image'], + 'caption' => $item['caption'], + 'brand' => (string) ($brand['name'] ?? ''), + 'brand_slug' => $slug, + 'has_detail_page' => (bool) ($brand['has_detail_page'] ?? false), + ]; + } + } + + return $this->limit > 0 ? array_slice($projects, 0, $this->limit) : $projects; + } + + public function render() + { + return view('livewire.web.components.sections.reference-projects'); + } +} diff --git a/app/Livewire/Web/Components/Sections/Sponsoring.php b/app/Livewire/Web/Components/Sections/Sponsoring.php new file mode 100644 index 00000000..5e333900 --- /dev/null +++ b/app/Livewire/Web/Components/Sections/Sponsoring.php @@ -0,0 +1,25 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('sponsoring'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + public function render() + { + return view('livewire.web.components.sections.sponsoring'); + } +} diff --git a/app/Livewire/Web/Components/UI/AnnouncementBar.php b/app/Livewire/Web/Components/UI/AnnouncementBar.php index 610b0ca8..8d2fd94f 100644 --- a/app/Livewire/Web/Components/UI/AnnouncementBar.php +++ b/app/Livewire/Web/Components/UI/AnnouncementBar.php @@ -13,6 +13,25 @@ class AnnouncementBar extends Component $this->content = cms_theme_section('announcement_bar'); } + /** + * Schluessel, unter dem sich der Browser das Wegklicken merkt. + * + * Leitet sich aus dem Inhalt ab, nicht nur aus der gepflegten `id`: Wird die Leiste im CMS + * neu belegt, ohne die `id` zu aendern, bekaemen Wiederkehrer die neue Meldung sonst nie + * zu sehen, weil ihr alter Dismiss-Eintrag im localStorage weitergilt. + */ + public function getDismissKeyProperty(): string + { + $fingerprint = implode('|', [ + $this->content['id'] ?? 'default', + $this->content['badge'] ?? '', + $this->content['text'] ?? '', + $this->content['link_url'] ?? '', + ]); + + return 'announcement_dismissed_'.substr(md5($fingerprint), 0, 12); + } + public function render() { return view('livewire.web.components.ui.announcement-bar'); diff --git a/app/Livewire/Web/Components/UI/AppointmentWidget.php b/app/Livewire/Web/Components/UI/AppointmentWidget.php new file mode 100644 index 00000000..9475e3e1 --- /dev/null +++ b/app/Livewire/Web/Components/UI/AppointmentWidget.php @@ -0,0 +1,129 @@ + 'Projektausstattung', + 'sonstiges' => 'Sonstiges', + ]; + + public string $name = ''; + + public string $email = ''; + + public string $phone = ''; + + public string $topic = ''; + + public string $preferredDate = ''; + + public string $message = ''; + + public bool $privacy = false; + + public bool $success = false; + + /** @var string Honeypot – muss leer bleiben. */ + public string $website = ''; + + public ?int $formLoadedAt = null; + + /** @var array */ + public array $content = []; + + public function mount(): void + { + $section = cms_theme_section('appointment_widget'); + $this->content = is_array($section) ? $section : []; + $this->formLoadedAt = time(); + } + + /** + * Auswahl „Anliegen": gepflegte Kernmarken zuerst, danach die festen Einträge. + * + * @return array + */ + public function getTopicsProperty(): array + { + $brands = []; + + foreach (CmsBrand::forFrontend() as $slug => $brand) { + $brands[$slug] = (string) ($brand['name'] ?? $slug); + } + + return $brands + self::EXTRA_TOPICS; + } + + public function getWhatsappUrlProperty(): string + { + return whatsapp_link(); + } + + public function submit(ContactFormService $service): void + { + $this->validate([ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'email:rfc', 'max:255'], + 'phone' => ['nullable', 'string', 'max:80'], + 'topic' => ['nullable', 'string', 'max:255'], + 'preferredDate' => ['nullable', 'date', 'after_or_equal:today'], + 'message' => ['nullable', 'string', 'max:2000'], + 'privacy' => ['accepted'], + 'website' => ['nullable', 'string', 'max:0'], + ], [ + 'preferredDate.after_or_equal' => __('ui.appointment.date_in_past'), + ]); + + $topicLabel = $this->topics[$this->topic] ?? ''; + + $payload = [ + 'name' => $this->name, + 'email' => $this->email, + 'phone' => $this->phone, + 'topic' => $topicLabel, + 'preferred_date' => $this->preferredDate, + 'message' => $this->message, + 'website' => $this->website, + 'source' => request()->path(), + 'ip' => request()->ip(), + 'user_agent' => request()->userAgent(), + 'is_spam' => false, + ]; + + $payload['is_spam'] = SpamDetector::fromConfig()->detect($payload, $this->formLoadedAt); + + $subject = 'Terminanfrage B2in Interior'.($topicLabel !== '' ? ': '.$topicLabel : ''); + $service->handle($payload, $subject, 'appointment-widget'); + + $this->success = true; + $this->reset(['name', 'email', 'phone', 'topic', 'preferredDate', 'message', 'privacy', 'website']); + $this->formLoadedAt = time(); + } + + public function startOver(): void + { + $this->success = false; + $this->formLoadedAt = time(); + } + + public function render(): \Illuminate\View\View + { + return view('livewire.web.components.ui.appointment-widget'); + } +} diff --git a/app/Livewire/Web/Components/UI/Footer.php b/app/Livewire/Web/Components/UI/Footer.php index e569a01e..85a1abac 100644 --- a/app/Livewire/Web/Components/UI/Footer.php +++ b/app/Livewire/Web/Components/UI/Footer.php @@ -6,6 +6,15 @@ use Livewire\Component; class Footer extends Component { + /** @var array */ + public array $content = []; + + public function mount(): void + { + $section = cms_theme_section('footer'); + $this->content = is_array($section) ? $section : []; + } + public function render() { return view('livewire.web.components.ui.footer'); diff --git a/app/Models/CmsArticle.php b/app/Models/CmsArticle.php index 28c3fa11..4a3e9941 100644 --- a/app/Models/CmsArticle.php +++ b/app/Models/CmsArticle.php @@ -13,6 +13,22 @@ class CmsArticle extends Model protected $table = 'cms_articles'; + /** + * Alte numerische Artikel-IDs (resources/lang/{locale}/b2in.php) → Slug. + * + * Wird an drei Stellen gebraucht: beim Anlegen durch den CmsArticleSeeder, für den + * Lang-Fallback und für die 301-Weiterleitung der alten /magazin/{id}-URLs. + * + * @var array + */ + public const LEGACY_ID_TO_SLUG = [ + 1 => 'escrow-system-dubai-investoren', + 2 => 'spotlight-al-jaddaf-hotspot', + 3 => 'turnkey-investments-moeblierung-rendite', + 4 => 'supply-chain-management-vertragssicherheit', + 5 => 'local-for-local-regionaler-moebelhandel', + ]; + protected $fillable = [ 'slug', 'title', @@ -53,6 +69,86 @@ class CmsArticle extends Model return $query->orderBy('order')->orderByDesc('created_at'); } + /** + * Veröffentlichte Artikel fürs Frontend, nach Slug indiziert. + * + * Das CMS gewinnt. Solange keine Artikel gepflegt sind, greift die Lang-Datei als Fallback – + * dieselbe Reihenfolge wie bei cms_theme_section(), damit das Magazin auf einer frischen + * Installation nicht leer ist. + * + * @return array> + */ + public static function forFrontend(): array + { + $articles = static::query()->published()->ordered()->get(); + + if ($articles->isNotEmpty()) { + return $articles + ->mapWithKeys(fn (self $article) => [$article->slug => $article->toFrontendArray()]) + ->all(); + } + + return static::fallbackFromLang(); + } + + /** + * Slug zu einer alten numerischen Magazin-ID, falls bekannt. + */ + public static function slugForLegacyId(int|string $id): ?string + { + return self::LEGACY_ID_TO_SLUG[(int) $id] ?? null; + } + + /** + * Slug eines Artikels aus der Lang-Datei. + * + * Neue Artikel bringen ihren Slug selbst mit (`'slug' => …`). Die fünf ursprünglichen + * Artikel hatten keinen und werden weiter über {@see LEGACY_ID_TO_SLUG} aufgelöst – die + * Konstante bleibt damit das, was sie ist: die Karte für die alten `/magazin/{id}`-URLs. + * + * @param array $article + */ + public static function slugForLangArticle(int|string $id, array $article): ?string + { + $slug = $article['slug'] ?? null; + + if (is_string($slug) && $slug !== '') { + return $slug; + } + + return self::slugForLegacyId($id); + } + + /** + * @return array> + */ + private static function fallbackFromLang(): array + { + $articles = trans('b2in.articles'); + + if (! is_array($articles)) { + return []; + } + + $out = []; + + foreach ($articles as $id => $article) { + if (! is_array($article)) { + continue; + } + + $slug = self::slugForLangArticle($id, $article); + + if ($slug === null) { + continue; + } + + $out[$slug] = $article + ['slug' => $slug]; + } + + return $out; + } + /** * @return array */ diff --git a/app/Models/CmsBrand.php b/app/Models/CmsBrand.php new file mode 100644 index 00000000..c847a74d --- /dev/null +++ b/app/Models/CmsBrand.php @@ -0,0 +1,225 @@ + */ + public const GALLERY_CATEGORIES = [self::GALLERY_PROJECT, self::GALLERY_INSPIRATION]; + + protected $table = 'cms_brands'; + + protected $fillable = [ + 'slug', + 'name', + 'tagline', + 'teaser', + 'summary', + 'highlights', + 'description', + 'logo', + 'image', + 'services', + 'gallery', + 'website_url', + 'showroom', + 'is_published', + 'order', + ]; + + /** @var array */ + public array $translatable = [ + 'name', + 'tagline', + 'teaser', + 'summary', + 'description', + ]; + + protected function casts(): array + { + return [ + 'highlights' => 'array', + 'services' => 'array', + 'gallery' => 'array', + 'is_published' => 'boolean', + 'order' => 'integer', + ]; + } + + public function scopePublished(Builder $query): Builder + { + return $query->where('is_published', true); + } + + public function scopeOrdered(Builder $query): Builder + { + return $query->orderBy('order')->orderBy('id'); + } + + /** + * Veröffentlichte Kernmarken fürs Frontend, nach Slug indiziert. + * + * Das CMS gewinnt. Solange keine Marke gepflegt ist, greift die Lang-Sektion `core_brands` + * als Fallback – dieselbe Reihenfolge wie bei cms_theme_section(), damit die Startseite auf + * einer frischen Installation nicht ohne Kernmarken dasteht. + * + * @return array> + */ + public static function forFrontend(): array + { + $brands = static::query()->published()->ordered()->get(); + + if ($brands->isNotEmpty()) { + return $brands + ->mapWithKeys(fn (self $brand) => [$brand->slug => $brand->toFrontendArray()]) + ->all(); + } + + return static::fallbackFromLang(); + } + + /** + * @return array> + */ + private static function fallbackFromLang(): array + { + $section = cms_theme_section('core_brands'); + $brands = is_array($section) ? ($section['brands'] ?? []) : []; + + $out = []; + + foreach ($brands as $brand) { + if (! is_array($brand) || empty($brand['name'])) { + continue; + } + + $slug = $brand['slug'] ?? \Illuminate\Support\Str::slug((string) $brand['name']); + + $entry = array_merge([ + 'slug' => $slug, + 'tagline' => '', + 'teaser' => '', + 'summary' => '', + 'highlights' => [], + 'description' => '', + 'logo' => '', + 'image' => '', + 'services' => [], + 'gallery' => [], + 'website_url' => '', + 'showroom' => '', + 'has_detail_page' => false, + ], $brand, ['slug' => $slug, 'has_detail_page' => false]); + + $entry['gallery'] = self::normalizeGallery($entry['gallery']); + + $out[$slug] = $entry; + } + + return $out; + } + + /** + * Galerie-Eintraege in eine feste Form bringen. + * + * Ein Eintrag ohne (oder mit unbekannter) Kategorie gilt als Inspiration, nicht als Projekt: + * Ein Entwurf, der versehentlich als Referenz durchgeht, waere die schaedlichere Verwechslung. + * + * @param mixed $gallery + * @return list + */ + public static function normalizeGallery($gallery): array + { + if (! is_array($gallery)) { + return []; + } + + $out = []; + + foreach ($gallery as $item) { + $image = is_array($item) ? (string) ($item['image'] ?? '') : (string) $item; + $image = trim($image); + + if ($image === '') { + continue; + } + + $category = is_array($item) ? (string) ($item['category'] ?? '') : ''; + + $out[] = [ + 'image' => $image, + 'category' => in_array($category, self::GALLERY_CATEGORIES, true) + ? $category + : self::GALLERY_INSPIRATION, + 'caption' => is_array($item) ? trim((string) ($item['caption'] ?? '')) : '', + ]; + } + + return $out; + } + + /** + * Galerie nach realisierten Projekten und Inspirationen getrennt. + * + * @param mixed $gallery + * @return array{projects: list, inspirations: list} + */ + public static function groupGallery($gallery): array + { + $items = self::normalizeGallery($gallery); + + return [ + 'projects' => array_values(array_filter( + $items, + fn (array $item) => $item['category'] === self::GALLERY_PROJECT, + )), + 'inspirations' => array_values(array_filter( + $items, + fn (array $item) => $item['category'] === self::GALLERY_INSPIRATION, + )), + ]; + } + + /** + * @return array + */ + public function toFrontendArray(): array + { + return [ + 'id' => $this->id, + 'slug' => $this->slug, + 'name' => $this->name, + 'tagline' => $this->tagline, + 'teaser' => $this->teaser, + 'summary' => $this->summary, + 'highlights' => $this->highlights ?? [], + 'description' => $this->description, + 'logo' => $this->logo, + 'image' => $this->image, + 'services' => $this->services ?? [], + 'gallery' => self::normalizeGallery($this->gallery), + 'website_url' => $this->website_url, + 'showroom' => $this->showroom, + 'has_detail_page' => true, + ]; + } +} diff --git a/app/Providers/ThemeServiceProvider.php b/app/Providers/ThemeServiceProvider.php index 5341c30e..a3ffcac6 100644 --- a/app/Providers/ThemeServiceProvider.php +++ b/app/Providers/ThemeServiceProvider.php @@ -57,6 +57,18 @@ class ThemeServiceProvider extends ServiceProvider $domainConfig = array_merge($domainConfig, $confiDomains[$themeOverride]); } + // Unbekannter Host (Vorschau-, Staging- oder IP-Aufruf): Bis hierher stünde in `url` noch + // APP_URL bzw. der Vorgabewert aus config/domains.php – also eine *fremde* Domain. Alle + // Assets und Links würden dorthin zeigen, obwohl die Instanz unter einem anderen Namen + // läuft. Außerhalb von `production` gilt deshalb der tatsächliche Request-Origin. + // + // In `production` bleibt es bewusst bei der konfigurierten URL: dort darf ein gefälschter + // Host-Header keine Links auf eine fremde Domain erzeugen. + if ($domainConfig['domain_name'] !== $host && config('app.env') !== 'production') { + $domainConfig['domain_name'] = $host; + $domainConfig['url'] = Request::getSchemeAndHttpHost(); + } + // Dynamische ASSET_URL basierend auf der aktuellen Domain setzen // Verhindert CORS-Probleme, da Assets immer von derselben Domain geladen werden $assetUrl = $domainConfig['url']; diff --git a/app/Support/DisplayModuleSettings.php b/app/Support/DisplayModuleSettings.php index de9badb5..3bf52bc8 100644 --- a/app/Support/DisplayModuleSettings.php +++ b/app/Support/DisplayModuleSettings.php @@ -27,8 +27,10 @@ class DisplayModuleSettings ], DisplayVersionType::B2in->value => [ 'theme' => 'dark', - 'header_logo_url' => '/_cabinet/assets/b2in-logo-positive.svg', - 'header_claim' => 'Connecting Design & Property', + // Standard-Theme ist dunkel, das Logo liegt dort auf einem dunklen Scrim – + // deshalb die negative (weisse) Variante. + 'header_logo_url' => '/_cabinet/assets/b2in-interior-logo-negative.svg', + 'header_claim' => 'Premium-Einrichtung. Persönlich gemacht.', 'logo_position' => 'top-left', 'claim_position' => 'top-right', 'show_logo' => true, diff --git a/app/helpers.php b/app/helpers.php index 31949547..4e355c45 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -66,6 +66,35 @@ if (! function_exists('cms_theme_section')) { } } +if (! function_exists('whatsapp_link')) { + /** + * Klick-zum-Chat-Link, sofern im CMS eine Nummer hinterlegt ist (global.contact.whatsapp). + * + * Liefert einen leeren String, solange keine Nummer bestaetigt ist – der Button erscheint dann + * gar nicht erst, statt auf eine erfundene Nummer zu zeigen. + */ + function whatsapp_link(): string + { + $service = app(CmsContentService::class); + + // Die Nummer kann als eigener Eintrag oder als Feld der Sektion `global.contact` liegen. + $number = $service->getIfExists('global.contact.whatsapp'); + + if ($number === null) { + $contact = $service->getIfExists('global.contact'); + $number = is_array($contact) ? ($contact['whatsapp'] ?? null) : null; + } + + if (! is_string($number)) { + return ''; + } + + $digits = preg_replace('/\D+/', '', $number); + + return $digits === '' ? '' : 'https://wa.me/'.$digits; + } +} + if (! function_exists('theme_image_url')) { /** * Bild-URL für Theme-/CMS-Inhalte: zuerst Medienbibliothek (CmsMedia, oft nur Dateiname z. B. *.webp), diff --git a/config/app.php b/config/app.php index 8e208bf3..6d678171 100644 --- a/config/app.php +++ b/config/app.php @@ -41,6 +41,21 @@ return [ 'debug' => (bool) env('APP_DEBUG', false), + /* + |-------------------------------------------------------------------------- + | Indexierung durch Suchmaschinen + |-------------------------------------------------------------------------- + | + | Nur die Produktivumgebung darf indexiert werden. Vorschau- und Testinstanzen + | liefern damit automatisch `noindex, nofollow` – sonst konkurriert eine Kopie + | der Website mit dem Original um dieselben Suchergebnisse. + | + | Bewusst als eigener Schalter und nicht nur an APP_ENV gekoppelt, damit eine + | Vorschau notfalls auch mit APP_ENV=production noindex bleiben kann. + | + */ + 'indexable' => (bool) env('SITE_INDEXABLE', env('APP_ENV', 'production') === 'production'), + /* |-------------------------------------------------------------------------- | Application URL diff --git a/config/cms_section_map.php b/config/cms_section_map.php index a2035afc..9b0b6abf 100644 --- a/config/cms_section_map.php +++ b/config/cms_section_map.php @@ -15,10 +15,25 @@ return [ 'sections' => [ 'announcement_bar' => ['global', 'announcement_bar'], 'header' => ['global', 'header'], + 'footer' => ['global', 'footer'], 'cta_section' => ['global', 'cta_section'], + 'appointment_widget' => ['global', 'appointment_widget'], 'cta_section_portfolio' => ['global', 'cta_section_portfolio'], 'hero' => ['home', 'hero'], + 'audience_switch' => ['home', 'audience_switch'], + 'core_brands' => ['home', 'core_brands'], + + 'marken_hero' => ['marken', 'hero'], + 'marken_network' => ['marken', 'network'], + 'marken_growth' => ['marken', 'growth'], + 'marken_cta' => ['marken', 'cta'], + + 'referenzen_hero' => ['referenzen', 'hero'], + 'reference_projects' => ['referenzen', 'projects'], + 'display_feed' => ['referenzen', 'display_feed'], + 'sponsoring' => ['home', 'sponsoring'], + 'immobilien_teaser' => ['home', 'immobilien_teaser'], 'founder_bar' => ['home', 'founder_bar'], 'synergie_section' => ['home', 'synergie_section'], 'ecosystem_core' => ['home', 'ecosystem_core'], diff --git a/config/seeding.php b/config/seeding.php new file mode 100644 index 00000000..9e2fe010 --- /dev/null +++ b/config/seeding.php @@ -0,0 +1,21 @@ + env('SEED_ADMIN_NAME', 'Admin'), + 'admin_email' => env('SEED_ADMIN_EMAIL', 'admin@b2in.test'), + 'admin_password' => env('SEED_ADMIN_PASSWORD', 'password'), + +]; diff --git a/database/factories/CmsBrandFactory.php b/database/factories/CmsBrandFactory.php new file mode 100644 index 00000000..b27d3112 --- /dev/null +++ b/database/factories/CmsBrandFactory.php @@ -0,0 +1,70 @@ + + */ +class CmsBrandFactory extends Factory +{ + protected $model = CmsBrand::class; + + public function definition(): array + { + $name = fake()->unique()->company(); + + return [ + 'slug' => Str::slug($name).'-'.fake()->unique()->numberBetween(100, 999), + 'name' => ['de' => $name, 'en' => $name], + 'tagline' => ['de' => fake()->sentence(4), 'en' => fake()->sentence(4)], + 'teaser' => ['de' => fake()->paragraph(2), 'en' => fake()->paragraph(2)], + 'description' => ['de' => '

'.fake()->paragraph(4).'

', 'en' => '

'.fake()->paragraph(4).'

'], + 'logo' => '', + 'image' => '', + 'services' => [ + ['title' => fake()->words(3, true), 'description' => fake()->sentence(10)], + ['title' => fake()->words(3, true), 'description' => fake()->sentence(10)], + ], + 'gallery' => [], + 'website_url' => fake()->url(), + 'showroom' => 'Bielefeld', + 'is_published' => true, + 'order' => fake()->numberBetween(1, 20), + ]; + } + + /** + * Galerie mit realisierten Projekten und Inspirationen. + */ + public function withGallery(int $projects = 2, int $inspirations = 2): static + { + $items = []; + + for ($i = 1; $i <= $projects; $i++) { + $items[] = [ + 'image' => 'projekt-'.$i.'.webp', + 'category' => CmsBrand::GALLERY_PROJECT, + 'caption' => 'Projekt '.$i, + ]; + } + + for ($i = 1; $i <= $inspirations; $i++) { + $items[] = [ + 'image' => 'inspiration-'.$i.'.webp', + 'category' => CmsBrand::GALLERY_INSPIRATION, + 'caption' => 'Inspiration '.$i, + ]; + } + + return $this->state(fn () => ['gallery' => $items]); + } + + public function unpublished(): static + { + return $this->state(fn () => ['is_published' => false]); + } +} diff --git a/database/migrations/2026_08_28_110407_create_cms_brands_table.php b/database/migrations/2026_08_28_110407_create_cms_brands_table.php new file mode 100644 index 00000000..f15f01e1 --- /dev/null +++ b/database/migrations/2026_08_28_110407_create_cms_brands_table.php @@ -0,0 +1,40 @@ +id(); + $table->string('slug')->unique(); + $table->json('name'); + $table->json('tagline')->nullable(); + $table->json('teaser')->nullable(); + $table->json('description')->nullable(); + $table->string('logo')->nullable(); + $table->string('image')->nullable(); + $table->json('services')->nullable(); + $table->json('gallery')->nullable(); + $table->string('website_url')->nullable(); + $table->string('showroom')->nullable(); + $table->boolean('is_published')->default(true); + $table->integer('order')->default(0); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('cms_brands'); + } +}; diff --git a/database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php b/database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php new file mode 100644 index 00000000..9fee6347 --- /dev/null +++ b/database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php @@ -0,0 +1,33 @@ +json('summary')->nullable()->after('teaser'); + $table->json('highlights')->nullable()->after('summary'); + }); + } + + public function down(): void + { + Schema::table('cms_brands', function (Blueprint $table) { + $table->dropColumn(['summary', 'highlights']); + }); + } +}; diff --git a/database/seeders/CmsArticleSeeder.php b/database/seeders/CmsArticleSeeder.php index 5ca7bcdd..738cc227 100644 --- a/database/seeders/CmsArticleSeeder.php +++ b/database/seeders/CmsArticleSeeder.php @@ -8,19 +8,6 @@ use Illuminate\Support\Facades\Lang; class CmsArticleSeeder extends Seeder { - /** - * Numerische IDs aus resources/lang/{locale}/b2in.php → Slugs für cms_articles.slug - * - * @var array - */ - private const ARTICLE_ID_TO_SLUG = [ - 1 => 'escrow-system-dubai-investoren', - 2 => 'spotlight-al-jaddaf-hotspot', - 3 => 'turnkey-investments-moeblierung-rendite', - 4 => 'supply-chain-management-vertragssicherheit', - 5 => 'local-for-local-regionaler-moebelhandel', - ]; - public function run(): void { foreach ($this->getArticles() as $i => $data) { @@ -49,19 +36,28 @@ class CmsArticleSeeder extends Seeder $articlesEn = []; } - ksort($articlesDe); - + // Kein ksort: die Reihenfolge in der Lang-Datei bestimmt die Reihenfolge im Magazin – + // im CMS ueber `order`, im Lang-Fallback ueber die Array-Reihenfolge. Beide Wege stimmen + // damit ueberein. $out = []; foreach ($articlesDe as $id => $rowDe) { - $id = (int) $id; - $slug = self::ARTICLE_ID_TO_SLUG[$id] ?? null; + if (! is_array($rowDe)) { + continue; + } + + $slug = CmsArticle::slugForLangArticle($id, $rowDe); + if ($slug === null) { continue; } $rowEn = $articlesEn[$id] ?? $rowDe; + if (! is_array($rowEn)) { + $rowEn = $rowDe; + } + $out[] = [ 'slug' => $slug, 'title' => [ diff --git a/database/seeders/CmsBrandSeeder.php b/database/seeders/CmsBrandSeeder.php new file mode 100644 index 00000000..98d4cf34 --- /dev/null +++ b/database/seeders/CmsBrandSeeder.php @@ -0,0 +1,139 @@ +brands() as $index => $data) { + if (CmsBrand::query()->where('slug', $data['slug'])->exists()) { + continue; + } + + CmsBrand::query()->create(array_merge($data, ['order' => $index + 1])); + $created++; + } + + $this->command?->info("Kernmarken: {$created} angelegt."); + } + + /** + * @return array> + */ + private function brands(): array + { + return [ + [ + 'slug' => 'cabinet', + 'name' => ['de' => 'CABINET', 'en' => 'CABINET'], + 'tagline' => ['de' => 'Einbauschränke nach Maß.', 'en' => 'Fitted wardrobes made to measure.'], + 'teaser' => [ + 'de' => 'Maßgefertigte Schranklösungen, geplant bis auf den Millimeter – gefertigt für Räume, in denen Standard nicht genügt.', + 'en' => 'Bespoke wardrobe solutions, planned to the millimetre – built for rooms where standard will not do.', + ], + 'summary' => [ + 'de' => 'Wo Standardmaße an ihre Grenzen kommen, fängt CABINET an. Schranklösungen, die exakt in Ihren Raum geplant werden – von der Dachschräge über die Nische bis zur raumhohen Front. Gefertigt in der Qualität, die man erst beim zweiten Hinschauen ganz erfasst. + +Erleben Sie die Möglichkeiten in unserem Showroom in Bielefeld.', + 'en' => 'Where standard dimensions reach their limits, CABINET begins. Wardrobe solutions planned precisely for your room – from sloped ceilings and alcoves to full-height fronts. Built to a quality you only fully grasp on second look. + +Experience the possibilities in our Bielefeld showroom.', + ], + 'highlights' => [ + 'Millimetergenaue Planung', + 'Individuelle Fronten und Innenausstattung', + 'Persönliche Beratung vor Ort', + ], + 'description' => [ + 'de' => '

CABINET steht für Einbaulösungen, die sich dem Raum anpassen statt umgekehrt. Jedes Element wird für seinen Platz geplant – vom Dachschrägenschrank bis zur raumhohen Garderobe. Gefertigt in Deutschland, montiert von Fachleuten, die den Unterschied zwischen „passt" und „sitzt" kennen.

', + 'en' => '

CABINET stands for built-in solutions that adapt to the room rather than the other way round. Every element is planned for its place – from sloped-ceiling wardrobes to full-height hallway storage. Made in Germany, installed by specialists who know the difference between fitting and belonging.

', + ], + 'services' => [ + ['title' => 'Aufmaß vor Ort', 'description' => 'Wir messen millimetergenau in Ihren Räumen – Grundlage jeder Planung.'], + ['title' => 'Individuelle Planung', 'description' => 'Grundriss, Nutzung und Stil bestimmen die Lösung, nicht der Katalog.'], + ['title' => 'Fertigung in Deutschland', 'description' => 'Materialien und Verarbeitung, die auf Dauer angelegt sind.'], + ['title' => 'Montage durch Fachleute', 'description' => 'Wir liefern und montieren – bis zum letzten Detail.'], + ], + 'showroom' => 'Showroom Bielefeld', + 'is_published' => true, + ], + [ + 'slug' => 'rotpunkt', + 'name' => ['de' => 'Rotpunkt Küchen', 'en' => 'Rotpunkt Küchen'], + 'tagline' => ['de' => 'Küchen, die Haltung zeigen.', 'en' => 'Kitchens with character.'], + 'teaser' => [ + 'de' => 'Premium-Küchen aus deutscher Fertigung – individuell geplant, nachhaltig gedacht und gebaut für den Mittelpunkt Ihres Zuhauses.', + 'en' => 'Premium kitchens made in Germany – individually planned, sustainably conceived and built for the heart of your home.', + ], + 'summary' => [ + 'de' => 'Premium-Küchen aus deutscher Fertigung – individuell geplant und gebaut für den Raum, in dem am meisten passiert. Rotpunkt steht für durchdachte Funktion, langlebige Materialien und einen Anspruch an Nachhaltigkeit, der über das Marketing hinausgeht. + +Beratung und Planung in unserem Küchenstudio.', + 'en' => 'Premium kitchens made in Germany – individually planned and built for the room where most of life happens. Rotpunkt stands for considered function, durable materials and a commitment to sustainability that goes beyond marketing. + +Consultation and planning in our kitchen studio.', + ], + 'highlights' => [ + 'Fertigung in Deutschland', + 'Individuelle Planung nach Ihrem Grundriss', + 'Nachhaltige Materialien', + ], + 'description' => [ + 'de' => '

Die Küche ist der Raum, in dem sich das Leben sammelt. Rotpunkt fertigt sie in Deutschland, mit Blick auf Materialien, die halten, und auf eine Planung, die zum Alltag passt – nicht zum Prospekt. Wir begleiten von der ersten Skizze bis zur fertigen Küche.

', + 'en' => '

The kitchen is where life gathers. Rotpunkt builds them in Germany, with an eye on materials that last and on planning that fits everyday life – not a brochure. We accompany you from the first sketch to the finished kitchen.

', + ], + 'services' => [ + ['title' => 'Küchenplanung', 'description' => 'Gemeinsam entwickeln wir Grundriss, Stauraum und Arbeitswege.'], + ['title' => 'Nachhaltige Materialien', 'description' => 'Deutsche Fertigung mit Blick auf Herkunft und Langlebigkeit.'], + ['title' => 'Geräte und Technik', 'description' => 'Passende Ausstattung, abgestimmt auf Ihre Art zu kochen.'], + ['title' => 'Lieferung und Aufbau', 'description' => 'Koordiniert aus einer Hand, inklusive Anschluss.'], + ], + 'showroom' => 'Küchenstudio', + 'is_published' => true, + ], + [ + 'slug' => 'februe', + 'name' => ['de' => 'Febrü', 'en' => 'Febrü'], + 'tagline' => ['de' => 'Arbeiten, wo man gerne ist.', 'en' => 'Work where you like to be.'], + 'teaser' => [ + 'de' => 'Möbel für konzentriertes Arbeiten – vom durchdachten Home-Office bis zur kompletten Büroeinrichtung.', + 'en' => 'Furniture for focused work – from a well-considered home office to a complete office fit-out.', + ], + 'summary' => [ + 'de' => 'Ob Home-Office oder ganze Büroetage: Febrü macht Möbel für konzentriertes Arbeiten. Höhenverstellbare Tische, durchdachte Stauraumlösungen und Sitzmöbel, die auch nach acht Stunden noch überzeugen – mit einem Design, das ins Zuhause genauso passt wie ins Unternehmen.', + 'en' => 'Whether a home office or a whole office floor: Febrü makes furniture for focused work. Height-adjustable desks, well-considered storage and seating that still convinces after eight hours – with a design that suits the home as much as the company.', + ], + 'highlights' => [ + 'Ergonomie, die man merkt', + 'Vom einzelnen Arbeitsplatz bis zur Bürofläche', + 'Für Zuhause und fürs Unternehmen', + ], + 'description' => [ + 'de' => '

Gutes Arbeiten beginnt beim Möbel. Febrü baut Tische, Stühle und Stauraum, die den Rücken entlasten und den Raum ordnen – zuerst für das Zuhause, in dem immer öfter gearbeitet wird, und ebenso für Büros und Unternehmen.

', + 'en' => '

Good work begins with the furniture. Febrü builds desks, chairs and storage that relieve the back and bring order to a room – first for the home, where more and more work happens, and equally for offices and companies.

', + ], + 'services' => [ + ['title' => 'Home-Office', 'description' => 'Ein Arbeitsplatz, der sich ins Zuhause fügt statt es zu besetzen.'], + ['title' => 'Ergonomie', 'description' => 'Höhenverstellbare Tische und Sitzlösungen für langes Arbeiten.'], + ['title' => 'Büroeinrichtung', 'description' => 'Vom einzelnen Arbeitsplatz bis zur kompletten Fläche.'], + ['title' => 'Akustik und Ordnung', 'description' => 'Stauraum und Raumgliederung, die Konzentration ermöglichen.'], + ], + 'showroom' => '', + 'is_published' => true, + ], + ]; + } +} diff --git a/database/seeders/CmsContentSeeder.php b/database/seeders/CmsContentSeeder.php index 3384386e..1403619f 100644 --- a/database/seeders/CmsContentSeeder.php +++ b/database/seeders/CmsContentSeeder.php @@ -3,11 +3,34 @@ namespace Database\Seeders; use FluxCms\Core\Models\CmsContent; +use FluxCms\Core\Services\CmsContentService; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Lang; class CmsContentSeeder extends Seeder { + /** + * Überschreibt bestehende CMS-Einträge mit den Werten aus den Lang-Dateien. + * + * Standardmäßig aus, damit ein erneuter Seeder-Lauf die im Admin gepflegten Inhalte + * nicht zurücksetzt. Nur einschalten, wenn die Lang-Dateien bewusst als Quelle der + * Wahrheit gelten sollen – vorher ein DB-Backup ziehen: + * + * $seeder = new CmsContentSeeder; + * $seeder->overwriteExisting = true; + * $seeder->run(); + */ + public bool $overwriteExisting = false; + + /** + * Nur diese Section-Keys verarbeiten (leer = alle). + * + * Erlaubt einen gezielten Lauf für einzelne Sektionen, ohne den Rest anzufassen. + * + * @var array + */ + public array $onlySections = []; + /** * Sections to skip (not migrated, handled elsewhere or irrelevant). * @@ -52,9 +75,14 @@ class CmsContentSeeder extends Seeder $created = 0; $updated = 0; + $skipped = 0; foreach ($sectionMap as $sectionKey => $groupKeyPair) { - if (in_array($sectionKey, $this->skipSections, true)) { + if ($this->onlySections !== [] && ! in_array($sectionKey, $this->onlySections, true)) { + continue; + } + + if ($this->onlySections === [] && in_array($sectionKey, $this->skipSections, true)) { continue; } @@ -83,6 +111,12 @@ class CmsContentSeeder extends Seeder ]; if ($content) { + if (! $this->overwriteExisting) { + $skipped++; + + continue; + } + $content->update([ 'type' => $type, 'value' => $value, @@ -100,7 +134,15 @@ class CmsContentSeeder extends Seeder } } - $this->command?->info("CmsContent: {$created} created, {$updated} updated."); + $this->command?->info("CmsContent: {$created} created, {$updated} updated, {$skipped} kept (existing CMS content)."); + + if ($skipped > 0 && ! $this->overwriteExisting) { + $this->command?->comment('Bestehende CMS-Inhalte wurden nicht angetastet. Zum Überschreiben $overwriteExisting = true setzen.'); + } + + if ($created > 0 || $updated > 0) { + app(CmsContentService::class)->clearCache(); + } } private function detectType(mixed $data): string diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index b40ae54c..6e701437 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -14,14 +14,21 @@ class DatabaseSeeder extends Seeder */ public function run(): void { - // User::factory(10)->create(); - User::factory()->create([ - 'name' => 'Kevin Adametz', - 'email' => 'kevin.adametz@me.com', - 'password' => Hash::make('xunfew-0Jygjy-minnyt'), + 'name' => config('seeding.admin_name'), + 'email' => config('seeding.admin_email'), + 'password' => Hash::make(config('seeding.admin_password')), ]); - $this->call(TestDisplaySeeder::class); + // CMS-Inhalte: legen nur an, was fehlt – bestehende Redaktion bleibt unangetastet. + $this->call([ + CmsContentSeeder::class, + CmsLegalSeeder::class, + NetzwerkPageCmsSeeder::class, + CmsArticleSeeder::class, + CmsBrandSeeder::class, + CmsProjectSeeder::class, + TestDisplaySeeder::class, + ]); } } diff --git a/database/seeders/DemoBrandGallerySeeder.php b/database/seeders/DemoBrandGallerySeeder.php new file mode 100644 index 00000000..cbf93cfe --- /dev/null +++ b/database/seeders/DemoBrandGallerySeeder.php @@ -0,0 +1,67 @@ +update(['gallery' => null]);" + */ +class DemoBrandGallerySeeder extends Seeder +{ + /** + * Galerie je Marken-Slug: [Dateiname, Kategorie, Bildunterschrift]. + * + * @var array> + */ + private const GALLERIES = [ + 'cabinet' => [ + ['b2a.webp', CmsBrand::GALLERY_PROJECT, 'BEISPIEL – Wohnwand mit Einbauregal, Bielefeld'], + ['hero-room.webp', CmsBrand::GALLERY_PROJECT, 'BEISPIEL – Wohnbereich mit Raumteiler'], + ['stileigentum.webp', CmsBrand::GALLERY_INSPIRATION, 'BEISPIEL – Entwurf Wohnzimmer mit Sideboard'], + ['best-of-two-worlds.jpg', CmsBrand::GALLERY_INSPIRATION, 'BEISPIEL – Visualisierung offener Wohnraum'], + ], + 'rotpunkt' => [ + ['best-of-two-world.jpg', CmsBrand::GALLERY_PROJECT, 'BEISPIEL – Offener Wohn- und Kochbereich'], + ['style2own.webp', CmsBrand::GALLERY_INSPIRATION, 'BEISPIEL – Entwurf heller Wohnbereich'], + ['magazin-3.webp', CmsBrand::GALLERY_INSPIRATION, 'BEISPIEL – Visualisierung Wohnraum mit Ausblick'], + ], + 'februe' => [ + ['accommodation-2.webp', CmsBrand::GALLERY_PROJECT, 'BEISPIEL – Empfangsbereich eines Buerogebaeudes'], + ['accommodation-1.webp', CmsBrand::GALLERY_PROJECT, 'BEISPIEL – Grossraumbuero mit Arbeitsplaetzen'], + ['partner-hero.webp', CmsBrand::GALLERY_INSPIRATION, 'BEISPIEL – Entwurf Besprechungsbereich'], + ['ecosystem-hero.webp', CmsBrand::GALLERY_INSPIRATION, 'BEISPIEL – Visualisierung Projektraum'], + ], + ]; + + public function run(): void + { + foreach (self::GALLERIES as $slug => $items) { + $brand = CmsBrand::query()->where('slug', $slug)->first(); + + if (! $brand) { + $this->command?->warn("Marke „{$slug}“ nicht gefunden – uebersprungen."); + + continue; + } + + $brand->gallery = CmsBrand::normalizeGallery(array_map( + fn (array $item) => ['image' => $item[0], 'category' => $item[1], 'caption' => $item[2]], + $items, + )); + $brand->save(); + + $this->command?->info("Galerie fuer „{$brand->slug}“ gesetzt: ".count($brand->gallery).' Bilder.'); + } + } +} diff --git a/database/seeders/DisplayInteriorBrandingSeeder.php b/database/seeders/DisplayInteriorBrandingSeeder.php new file mode 100644 index 00000000..00f8e257 --- /dev/null +++ b/database/seeders/DisplayInteriorBrandingSeeder.php @@ -0,0 +1,50 @@ +where('type', DisplayVersionType::B2in)->get() as $module) { + $settings = $module->settings ?? []; + + $settings['header_logo_url'] = ($settings['theme'] ?? 'dark') === 'light' + ? self::LOGO_LIGHT + : self::LOGO_DARK; + + $settings['header_claim'] = self::CLAIM; + + $module->settings = $settings; + $module->save(); + $updated++; + } + + $this->command?->info("Display-Branding vereinheitlicht: {$updated} B2in-Module."); + } +} diff --git a/database/seeders/DisplayMediaUrlNormalizerSeeder.php b/database/seeders/DisplayMediaUrlNormalizerSeeder.php new file mode 100644 index 00000000..c8df32ac --- /dev/null +++ b/database/seeders/DisplayMediaUrlNormalizerSeeder.php @@ -0,0 +1,77 @@ +normalize($module->settings ?? []); + + if ($settings !== ($module->settings ?? [])) { + $module->settings = $settings; + $module->save(); + } + } + + foreach (DisplayVersionItem::all() as $item) { + $content = $this->normalize($item->content ?? []); + + if ($content !== ($item->content ?? [])) { + $item->content = $content; + $item->save(); + } + } + + $this->command?->info("Display-Medien-URLs host-unabhängig gemacht: {$this->rewritten} Verweise."); + } + + /** + * @param array $value + * @return array + */ + private function normalize(array $value): array + { + foreach ($value as $key => $entry) { + if (is_array($entry)) { + $value[$key] = $this->normalize($entry); + + continue; + } + + if (is_string($entry) && preg_match(self::ASSET_URL_PATTERN, $entry, $matches) === 1) { + $value[$key] = $matches[1]; + $this->rewritten++; + } + } + + return $value; + } +} diff --git a/database/seeders/InteriorRelaunchCmsSeeder.php b/database/seeders/InteriorRelaunchCmsSeeder.php new file mode 100644 index 00000000..9b085aab --- /dev/null +++ b/database/seeders/InteriorRelaunchCmsSeeder.php @@ -0,0 +1,70 @@ + + */ + private const RELAUNCH_SECTIONS = [ + // Global + 'announcement_bar', + 'header', + 'footer', + 'cta_section', + + // Startseite + 'hero', + 'founder_bar', + 'audience_switch', + 'core_brands', + 'vision_section', + 'sponsoring', + 'immobilien_teaser', + + // Unterseite /marken + 'marken_hero', + 'marken_network', + 'marken_growth', + 'marken_cta', + + // Unterseiten – Durchgang auf Alt-Begriffe + 'about_hero', + 'our_story', + 'faq', + 'contact_form', + 'netzwerk_hero', + 'netzwerk_teasers', + 'netzwerk_image_break', + 'netzwerk_cabinet_partner', + ]; + + public function run(): void + { + $seeder = new CmsContentSeeder; + $seeder->setCommand($this->command); + $seeder->onlySections = self::RELAUNCH_SECTIONS; + $seeder->overwriteExisting = true; + $seeder->run(); + + $this->command?->info('Interior-Relaunch: '.count(self::RELAUNCH_SECTIONS).' Sektionen aus den Lang-Dateien übernommen.'); + } +} diff --git a/dev/2026-08-28/B2in_Interior-Konzept.md b/dev/2026-08-28/B2in_Interior-Konzept.md new file mode 100644 index 00000000..6620f08d --- /dev/null +++ b/dev/2026-08-28/B2in_Interior-Konzept.md @@ -0,0 +1,102 @@ +# B2in Interieur +## Konzept zur Neuausrichtung der Website – Richtung, Struktur und Textauszüge + +*Adametz.Media | Kevin Adametz | Juli 2026 | Zur Abstimmung* + +--- + +Hallo Marcel, dieses Dokument fasst zusammen, wie ich die Website auf die neue Ausrichtung umbaue – Struktur, Gewichtung und ausgewählte Textauszüge, damit Du die Richtung beurteilen kannst. Es sind bewusst nicht alle Texte enthalten, sondern die Stellen, die den Ton setzen. Nimm Dir in Ruhe die Zeit, es durchzugehen; Dein gesammeltes Feedback baue ich nach meinem Urlaub direkt ein. + +--- + +## 1. Die neue Ausrichtung in drei Sätzen + +B2in stellt künftig das Interieur und die Kernmarken nach vorne – CABINET, Rotpunkt Küchen, Febrü und weitere. Die Immobilien bleiben Teil des Angebots, rücken aber bewusst nach hinten: Ergänzung statt Aufmacher. Deine Idee der Doppelbedeutung nehme ich dabei auf: + +> **B2in – Bridges to International. Bridges to Interior.** +> +> *Die internationale Herkunft bleibt Teil der Geschichte, das Interieur wird der Kern. Im Logo wird das sichtbar: B2in mit dem Zusatz „Interieur".* + +Wichtiges Prinzip dabei: **B2in Interieur ist das Dach – die Kernmarken sind die Gesichter.** Jede Marke behält ihren eigenen Auftritt und ihre eigene Stärke; B2in verbindet sie, ohne sie zu vermischen. Genau das unterscheidet eine Premium-Gruppe von einem Gemischtwarenladen. + +--- + +## 2. Der neue Seitenaufbau + +Die Seite wird nicht neu gebaut – Struktur und Technik bleiben. Es ändern sich Reihenfolge, Gewichtung und Inhalte. So sieht der Aufbau der Startseite künftig aus: + +| # | Bereich | Was passiert | +|---|---------|--------------| +| 1 | **Ankündigungsleiste** | Bleibt als Instrument, trägt künftig Interieur-Themen (z.B. Neuheiten aus den Showrooms) statt dauerhaft Immobilien-Launches. | +| 2 | **Hero** | Neue Headline und neue Bildwelt: Interieur und Marken zuerst. Zwei Buttons: „Unsere Marken entdecken" und „Termin anfragen". | +| 3 | **Weiche Privat / Geschäft** | Neu: Zwei klare Wege direkt unter dem Einstieg – Privatkunden (Einrichtung fürs Zuhause) und Geschäftskunden (Ausstattung für Projekte, „bis zur letzten Blume"). | +| 4 | **Kernmarken** | Neu: Das Herzstück. Kacheln für CABINET, Rotpunkt, Febrü – über das CMS von Dir selbst erweiterbar, jede Marke mit eigener Detailseite. | +| 5 | **Über Dich / Vertrauen** | Bleibt – Du als Gesicht und persönlicher Ansprechpartner. Text dreht sich: Einrichtungskompetenz zuerst, Immobilien als ergänzende Expertise am Ende. | +| 6 | **Aktuelles (Display)** | Neu: Die Inhalte aus dem Display-CMS erscheinen auf der Website (9:16). Dazu kommt Deine neue, selbst pflegbare Rubrik-Seite als eigenes Web-Display. | +| 7 | **Immobilien-Teaser** | Bleibt, aber klein und dezent am Ende der Seite – wer gezielt sucht, findet den Weg; wer wegen Einrichtung kommt, wird nicht abgelenkt. | +| 8 | **Abschluss & Kontakt** | Terminanfrage-Widget (Name, E-Mail, Wunschtermin, Notiz, Markenauswahl) plus WhatsApp-Button, der direkt den Chat mit Dir öffnet. | + +In der Navigation rückt **„Marken" nach vorne, „Immobilien" nach hinten**. Auch Titel und Beschreibung für Google werden auf die neue Ausrichtung umgestellt, damit die Seite auch in der Suche die richtige Geschichte erzählt. + +--- + +## 3. Textauszüge – so klingt die neue Richtung + +Drei Auszüge, die den Ton setzen. Alle weiteren Texte folgen dieser Linie. + +### 3.1 Hero (Einstieg) + +> **B2in Interieur – Premium-Einrichtung von starken Marken. Für Ihr Zuhause. Für Ihr Projekt.** +> +> *Von der einzelnen Maßanfertigung bis zur vollständigen Ausstattung – mit CABINET, Rotpunkt Küchen, Febrü und einem Netzwerk regionaler Fachexperten.* + +### 3.2 Die Weiche: Privat / Geschäft + +> **Einrichtung für Ihr Zuhause** +> +> Einzelne Möbelstücke, maßgefertigte Einbaulösungen oder die komplette Einrichtung: Unsere Kernmarken und unser Fachhandels-Netzwerk begleiten Sie von der ersten Idee bis zur Montage. + +> **Ausstattung für Ihr Projekt** +> +> Vollständige Einrichtung für Objekte, Büros und Projektentwicklungen – koordiniert aus einer Hand, von der Küche bis zur letzten Blume. Mit deutscher Vertragssicherheit und einem eingespielten Herstellernetzwerk. + +### 3.3 Beispiel Kernmarken-Kachel (CABINET) + +> **CABINET – Einbauschränke nach Maß.** +> +> Maßgefertigte Schranklösungen, geplant bis auf den Millimeter – gefertigt für Räume, in denen Standard nicht genügt. Erleben Sie die Möglichkeiten in unserem Showroom in Bielefeld. + +Rotpunkt und Febrü bekommen Kacheln im selben Stil. Bei Febrü setze ich den Schwerpunkt auf das Zuhause-Arbeiten (Home-Office) und nenne die Büro- und Unternehmensausstattung als zweiten Aspekt – so passt die Marke in beide Welten, mit der richtigen Gewichtung. + +--- + +## 4. Was bewusst so bleibt + +- **Die Immobilien** bleiben statisch wie bisher und rücken nur in der Gewichtung nach hinten. Der Bereich selbst bleibt vollständig erreichbar. +- **Das Magazin** bleibt bestehen – die neue Rubrik-Seite ergänzt es, ersetzt es aber nicht. +- **Videos** laufen über YouTube-Einbindung – unkompliziert und ohne eigene Videotechnik. Das Influencer-Video bekommt darüber einen gut sichtbaren Platz. + +--- + +## 5. Dein Feedback – diese Punkte entscheide bitte Du + +Damit ich nach dem Urlaub direkt umsetzen kann, brauche ich zu diesen Punkten Deine Rückmeldung: + +| Punkt | Frage an Dich | +|-------|---------------| +| **Logo-Zusatz „Interieur"** | Freigabe der Ergänzung im Logo. Kläre bitte auch, ob Du eine Logo-Datei anpassen lässt oder ich das übernehmen soll. | +| **Claim** | Vorschlag: „Premium-Einrichtung. Persönlich gemacht." (ersetzt „Connecting Design and Property"). Passt das – oder soll „Bridges to Interior" selbst als Claim-Zeile erscheinen? | +| **Hero-Headline** | Passt Dir die Richtung aus Auszug 3.1? | +| **Febrü-Tonalität** | Home-Office zuerst, Büro als zweiter Aspekt – einverstanden? | +| **Name der neuen Rubrik** | „Aktuelles", „Referenzen", „Projekte" – oder ein anderer Name? | +| **Bildmaterial** | Für Hero und Kernmarken brauche ich hochwertige Motive (Logos und Basis-Infos zu Rotpunkt und Febrü ebenfalls). Was kannst Du liefern, was soll ich auswählen? | + +--- + +## 6. Zeitplan + +- **Bis Anfang August:** Du gehst dieses Konzept in Ruhe durch und sammelst Dein Feedback zu den Punkten aus Abschnitt 5. +- **Ab meiner Rückkehr:** Ich baue Dein Feedback ein und setze Struktur, Texte und Funktionen um. Zwischenstände zeige ich Dir vor dem Livegang. +- **Ende August:** Livegang der neuen Ausrichtung – vorausgesetzt, Feedback und Zulieferungen (Bilder, Logos, Marken-Infos) liegen rechtzeitig vor. + +*Bei Fragen erreichst Du mich nach dem Urlaub wie gewohnt – dringende Punkte gerne per Mail, ich arbeite sie der Reihe nach ab.* \ No newline at end of file diff --git a/dev/2026-08-28/deploy/dateiliste.txt b/dev/2026-08-28/deploy/dateiliste.txt new file mode 100644 index 00000000..e586c67c --- /dev/null +++ b/dev/2026-08-28/deploy/dateiliste.txt @@ -0,0 +1,113 @@ +.env.example +app/Helpers/ThemeHelper.php +app/Livewire/Admin/Cms/CabinetInfoTablet.php +app/Livewire/Web/Components/Sections/MagazinDetail.php +app/Livewire/Web/Components/Sections/MagazinList.php +app/Livewire/Web/Components/UI/AnnouncementBar.php +app/Livewire/Web/Components/UI/Footer.php +app/Models/CmsArticle.php +app/Providers/ThemeServiceProvider.php +app/Support/DisplayModuleSettings.php +app/helpers.php +config/app.php +config/cms_section_map.php +database/seeders/CmsArticleSeeder.php +database/seeders/CmsContentSeeder.php +database/seeders/DatabaseSeeder.php +public/_cabinet/display/index.html +resources/lang/de/b2in.php +resources/lang/de/ui.php +resources/lang/en/b2in.php +resources/lang/en/ui.php +resources/views/livewire/admin/cms/cabinet-info-tablet.blade.php +resources/views/livewire/admin/cms/content-index.blade.php +resources/views/livewire/admin/cms/dashboard.blade.php +resources/views/livewire/admin/cms/projects-index.blade.php +resources/views/livewire/web/components/sections/magazin-list.blade.php +resources/views/livewire/web/components/ui/announcement-bar.blade.php +resources/views/livewire/web/components/ui/footer.blade.php +resources/views/livewire/web/components/ui/header.blade.php +resources/views/vendor/mail/html/header.blade.php +resources/views/web/about.blade.php +resources/views/web/contact.blade.php +resources/views/web/cookie-policy.blade.php +resources/views/web/faq.blade.php +resources/views/web/home.blade.php +resources/views/web/impressum.blade.php +resources/views/web/layouts/web-master.blade.php +resources/views/web/magazin-detail.blade.php +resources/views/web/magazin.blade.php +resources/views/web/netzwerk.blade.php +resources/views/web/privacy.blade.php +resources/views/web/terms.blade.php +routes/admin.php +routes/web.php +tests/Feature/AnnouncementBarTest.php +tests/Feature/CabinetInfoTabletTest.php +tests/Feature/Cms/CmsArticleTest.php +tests/Feature/Cms/CmsContentSeederTest.php +tests/Feature/DisplayVersionApiTest.php +tests/Feature/DisplayVersionTest.php +tests/Feature/InteriorPageTest.php +tests/Feature/LiveSiteReviewTest.php +tests/Feature/MagazinPageTest.php +app/Http/Controllers/DisplayEmbedController.php +app/Livewire/Web/Components/Sections/AudienceSwitch.php +app/Livewire/Web/Components/Sections/BrandDetail.php +app/Livewire/Web/Components/Sections/BrandOverview.php +app/Livewire/Web/Components/Sections/CoreBrands.php +app/Livewire/Web/Components/Sections/DisplayFeed.php +app/Livewire/Web/Components/Sections/ImmobilienTeaser.php +app/Livewire/Web/Components/Sections/MarkenCta.php +app/Livewire/Web/Components/Sections/MarkenGrowth.php +app/Livewire/Web/Components/Sections/MarkenNetwork.php +app/Livewire/Web/Components/Sections/PageHero.php +app/Livewire/Web/Components/Sections/ReferenceProjects.php +app/Livewire/Web/Components/Sections/Sponsoring.php +app/Livewire/Web/Components/Ui/AppointmentWidget.php +app/Models/CmsBrand.php +config/seeding.php +database/factories/CmsBrandFactory.php +database/migrations/2026_08_28_110407_create_cms_brands_table.php +database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php +database/seeders/CmsBrandSeeder.php +database/seeders/DemoBrandGallerySeeder.php +database/seeders/DisplayInteriorBrandingSeeder.php +database/seeders/DisplayMediaUrlNormalizerSeeder.php +database/seeders/InteriorRelaunchCmsSeeder.php +public/_cabinet/assets/b2in-interior-logo-negative.svg +public/_cabinet/assets/b2in-interior-logo-positive.svg +public/img/assets/sponsoring/ +public/img/logos/b2in-interior-logo-negative.png +public/img/logos/b2in-interior-logo-negative.svg +public/img/logos/b2in-interior-logo-positive.png +public/img/logos/b2in-interior-logo-positive.svg +resources/views/livewire/admin/cms/brands-index.blade.php +resources/views/livewire/web/components/sections/audience-switch.blade.php +resources/views/livewire/web/components/sections/brand-detail.blade.php +resources/views/livewire/web/components/sections/brand-overview.blade.php +resources/views/livewire/web/components/sections/core-brands.blade.php +resources/views/livewire/web/components/sections/display-feed.blade.php +resources/views/livewire/web/components/sections/immobilien-teaser.blade.php +resources/views/livewire/web/components/sections/marken-cta.blade.php +resources/views/livewire/web/components/sections/marken-growth.blade.php +resources/views/livewire/web/components/sections/marken-network.blade.php +resources/views/livewire/web/components/sections/page-hero.blade.php +resources/views/livewire/web/components/sections/reference-projects.blade.php +resources/views/livewire/web/components/sections/sponsoring.blade.php +resources/views/livewire/web/components/ui/appointment-widget.blade.php +resources/views/web/marken-show.blade.php +resources/views/web/marken.blade.php +resources/views/web/referenzen.blade.php +tests/Feature/Admin/Cms/CmsBrandsIndexTest.php +tests/Feature/AppointmentWidgetTest.php +tests/Feature/BrandPageTest.php +tests/Feature/Cms/CmsBrandTest.php +tests/Feature/DisplayInteriorBrandingTest.php +tests/Feature/DisplayMediaUrlNormalizerTest.php +tests/Feature/DisplayWebFeedTest.php +tests/Feature/FooterTest.php +tests/Feature/HomePageStructureTest.php +tests/Feature/MarkenPageTest.php +tests/Feature/PreviewHostTest.php +tests/Feature/ReferenzenPageTest.php diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md new file mode 100644 index 00000000..200fb4c6 --- /dev/null +++ b/dev/2026-08-28/entwicklungsplan.md @@ -0,0 +1,982 @@ +# Entwicklungsplan: B2in Interior – Neuausrichtung Website & CMS + +**Erstellt:** 28.08.2026 · zuletzt aktualisiert 28.08.2026 +**Basis:** `B2in_Interior-Konzept.md`, `umsetzungliste.md`, `umsetzung-inhalte.md` +**Vorgänger:** `dev/2026-02-27/b2in-website-umsetzungsplan.md` +**Rahmen:** 37–39 Std. freigegeben (18 + 8 + 4 + 3 + 4–6) +**Status:** Revision 12 – Befunde abgearbeitet, **AP0–AP6 umgesetzt**. Testbereit; offen sind nur +noch Zulieferungen und die Rechtstexte. +**Umgebung:** Dev Container, `php artisan …` (nicht `vendor/bin/sail …`) + +> **Verbindliche Schreibweisen:** **Interior** (nicht „Interieur"), **Febrü**, **Rotpunkt Küchen**, **CABINET**. +> Das Konzeptpapier schreibt durchgehend „Interieur" – die Umsetzungsliste überschreibt das. Gilt für Code, +> Texte, Commit-Messages und Datenbank-Inhalte. + +--- + +## 0. Stand & nächste Schritte + +**Stand 28.08.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die +Bestandsinhalte auf den Interior-Auftritt umgestellt. `php artisan test --compact`: **826 grün** +(3072 Assertions), Pint sauber, `npm run build:b2in` gebaut. +**Die Seite ist testbereit** – die ausstehenden Zulieferungen trägt Marcel selbst im CMS nach. + +| Paket | Stand | +|---|---| +| AP0 Vorbereitung | ✅ | +| AP1 Umstrukturierung & Umtextung | ✅ | +| AP2 Kernmarken-Modul + `/marken` + Galerie | ✅ | +| AP3 Terminanfrage-Widget + WhatsApp-Link | ✅ (Nummer fehlt noch) | +| AP6 Sponsoring | ✅ | +| Bestandsinhalte FAQ / About / Kontakt / Magazin | ✅ | +| AP4 Display-Spiegelung | ✅ | +| AP5 Rubrik-Seite „Referenzen" | ✅ | + +### Nächste Schritte + +**Vor dem Versand des Testlinks — nichts.** Alle Seiten laden, die Suite ist grün, die Assets sind +gebaut. Was fehlt, ist Material, kein Code. + +**Was Marcel selbst nachträgt (alles im CMS, ohne Codeänderung):** + +| Was | Wo im Admin | +|---|---| +| Logos und Stimmungsbilder der drei Marken | Kernmarken → Marke bearbeiten | +| Echte Projektfotos statt der BEISPIEL-Bilder | Kernmarken → Bildergalerie | +| Herstellerseiten-URLs | Kernmarken → Herstellerseite | +| Motiv für den Kopf von `/marken` | Inhalte → `marken` → `hero` | +| WhatsApp-Nummer | Inhalte → `global` → `contact` → `whatsapp` | +| Welches Display auf der Website läuft | Inhalte → `referenzen` → `display_feed` → `display_id` | + +**Beim Deployment mit erledigen (Abschnitt 8):** + +1. **Rechtstexte** – AGB und Datenschutzerklärung beschreiben weiter das alte Geschäft + („Connecting Design and Property", Dubai/Lissabon, Supply-Chain-Management, + `resources/lang/de/b2in_legal.php` Zeilen 117 und 221). Marcel lässt die Formulierung prüfen, + danach eintragen. Der WhatsApp-Absatz kommt im selben Zug dazu. +2. **OG-Bild** – das Layout verweist auf `img/assets/b2in-og-default.jpg`, die Datei existiert + nicht. Bis dahin zeigt jede geteilte Seite eine Vorschau ohne Bild. +3. **Seeder-Passwort rotieren** (B8) – steht weiter in der Git-Historie. +4. Die zwei Magazin-Beiträge und die Sponsoren-Kurztexte gegenlesen lassen. + +**Danach offen, aber nicht Teil dieses Auftrags:** YouTube-Einbindung mit Consent-Gate auf der +Referenzen-Seite (Abschnitt 4). Sinnvoll, sobald es Videos gibt – vorher wäre es ein Consent-Gate +ohne Inhalt. + +--- + +## 1. Ist-Architektur (relevanter Ausschnitt) + +### 1.1 Content-Pipeline + +``` +resources/lang/de/b2in.php (themes.b2in.
) ← Quelltexte / Fallback + ├─ config/cms_section_map.php section → [group, key] + ├─ database/seeders/CmsContentSeeder.php + ▼ +flux_cms_contents (group, key, type, value:JSON, translatable de/en) + ├─ FluxCms\Core\Services\CmsContentService (Cache: flux_cms.content.__all__) + ▼ +cms_theme_section('hero') → CMS gewinnt, sonst trans('b2in.themes.b2in.hero') +``` + +Redaktion unter `admin/flux-cms/content` → [`content-index.blade.php`](../../resources/views/livewire/admin/cms/content-index.blade.php) +(Volt, 782 Z.): Group/Key-Editor mit JSON-Repeater-Modal, Medien-Picker, Flux-Editor für HTML. +**Kann Werte ändern, aber keine Sektion neu anlegen.** + +### 1.2 Seiten & Sektionen + +- Startseite: `routes/web.php` → `resources/views/web/home.blade.php` +- Sektionen = Livewire-Komponenten unter `app/Livewire/Web/Components/Sections/`, + Muster `mount() { $this->content = cms_theme_section(''); }` +- Ist-Reihenfolge: `header → hero → founder-bar → content-section(synergie) → vision-section → ecosystem-core → cta-section → footer` +- Navigation und Ankündigungsleiste liegen **bereits im CMS** (`global.header.navigation`, `global.announcement_bar`) + → Umbau ist Redaktion, kein Code. +- SEO: `@section('title')` / `@section('meta_description')` je View; OG-Tags leiten sich + in `web-master.blade.php` automatisch daraus ab → **OG kostet keinen Extra-Aufwand** (aber siehe B6). +- Immobilien rendern statisch aus `resources/lang/de/immobilien-azizi.json` – wie gefordert. + +### 1.3 Display-CMS + +`Display` (Gerät) → `DisplayPlaylist` (draft/published) → `DisplayVersion` („Modul", Enum +`DisplayVersionType`: `video-display` | `b2in` | `offers`) → `DisplayVersionItem`. +[`DisplayPlaylistConfigBuilder`](../../app/Services/DisplayPlaylistConfigBuilder.php) erzeugt das +Player-JSON. Player: `public/_cabinet/display/index.html`, festes 1080×1920-Raster (9:16), per Scale eingepasst. +API vorhanden: `/api/display/{display}/config`, `/api/display/preview/{token}`, +`/api/display/module/{module}/preview` – registriert für Portal-Domain **und** als Fallback für alle Domains. + +### 1.4 Sonstiges + +- Kontaktformular: `packages/acme/contact-form` – **unterstützt bereits `customFields` + Presets, + Honeypot, Rate-Limit und `SpamDetector`.** Das Terminanfrage-Widget kann darauf aufsetzen. +- Tests: Pest, SQLite in-memory, `php artisan test --compact`. + +--- + +## 2. Gefundene Bugs & Optimierungen + +Beim Abgleich der Umsetzungsliste mit dem Code aufgefallen. + +**Stand 28.08.2026: alle Befunde behoben, Suite grün (699 Tests, 2715 Assertions).** + +| # | Befund | Status | +|---|---|---| +| T1 | Info-Tablet: Leeren per X wird nicht gespeichert | ✅ behoben | +| B1 | CMS-Seeder überschreibt redaktionelle Inhalte | ✅ behoben | +| B2 | Magazin-CMS nicht ans Frontend angeschlossen | ✅ behoben (Variante A: Slug-Routen + 301) | +| B3 | Ankündigungsleiste bleibt nach Umtexten unsichtbar | ✅ behoben | +| B4 | Footer hartkodiert, nicht pflegbar | ✅ behoben | +| B5 | Englische Footer-Labels auf deutscher Seite | ✅ behoben | +| B6 | 19 Seiten erben alte Dubai-Beschreibung | ✅ behoben (Fallback + canonical) | +| B7 | Content-Seeder nicht registriert | ✅ behoben | +| B8 | Klartext-Passwort im Seeder | ✅ behoben | +| B9 | Medien-Picker greift bei leeren Logo-Feldern nicht | ✅ behoben | +| B10 | Alt-Begriffe im Seiteninhalt | ✅ behoben in AP1 | +| B12 | `/service` und `/portfolio` lieferten 500 | ✅ behoben (301) | +| B11 | `/magazin/{unbekannt}` liefert 200 statt 404 | ✅ behoben | + +--- + +### T1 · Info-Tablet: Leeren der Öffnungszeiten wird nicht gespeichert ✅ + +Gemeldet am 28.08.2026: „Wenn ich den Inhalt weg-X, kommt nicht Geschlossen. Der Wert kommt +wieder, wenn ich in ein anderes Feld klicke. Setze ich Öffnung und Schluss auf X und speichere, +ist Öffnung wieder der alte Wert." + +**Drei Ursachen, alle in `cabinet-info-tablet.blade.php` bzw. `CabinetInfoTablet.php`:** + +1. **Zwei Submit-Handler auf demselben Formular.** `wire:submit.prevent="save"` **und** + `x-on:submit.prevent="… $wire.save(hours)"` waren gleichzeitig gebunden – `save()` lief pro + Klick zweimal, einmal mit den DOM-Werten und einmal ohne. Welcher Aufruf zuletzt schrieb, + war nicht deterministisch. Das erklärt „speichert nur den letzten". +2. **`wire:model.live` auf den Zeit-Pickern.** Jede Änderung löste einen Roundtrip aus; beim + erneuten Rendern hat Livewire ein zuvor geleertes Feld mit dem unveränderten Serverwert + überschrieben. Das erklärt „der Wert kommt wieder, wenn ich in ein anderes Feld klicke". +3. **Geöffnet/Geschlossen wurde serverseitig gerechnet** und konnte deshalb erst nach einem + Roundtrip umspringen. Das erklärt „es kommt nicht Geschlossen". + +**Behoben:** nur noch ein Submit-Pfad (das DOM ist die Quelle der Wahrheit), `.live` entfernt, +die Geöffnet/Geschlossen-Anzeige rechnet clientseitig per Alpine und reagiert damit sofort auf das X. + +**Zusätzlich:** `save(array $hours)` hat über `property_exists()` **jede** öffentliche Property +aus dem Client-Payload beschreibbar gemacht – auch `storeStatus` und `contactEmail`. Jetzt greift +eine Allowlist auf die 14 Zeitfelder. + +**Tests:** 5 neue Fälle in `tests/Feature/CabinetInfoTabletTest.php` (15 grün) – u. a. mehrere Tage +in einem Submit leeren, nur die Öffnung leeren, Fallback ohne DOM-Payload, Allowlist. + +**Noch am Gerät zu prüfen:** die drei Ursachen liegen im Browser-Verhalten; die Tests sichern den +Serverpfad ab. Bitte im Portal einmal gegenprüfen: mehrere Tage leeren → speichern → neu laden. + +### B1 · Der CMS-Seeder überschreibt alles, was Marcel pflegt ✅ + +`database/seeders/CmsContentSeeder.php:76-90` – bestehende Einträge werden bedingungslos +per `$content->update()` mit den Werten aus der Lang-Datei überschrieben. Geschützt sind nur +die zwei Sektionen in `$skipSections`. + +**Wirkung:** Jeder erneute Seeder-Lauf – auch der geplante nach der Umtextung – setzt sämtliche +redaktionellen Änderungen zurück. Die Zusage „von Marcel selbst pflegbar" hält so nicht. + +**Behoben:** Default ist jetzt „nur anlegen, wenn nicht vorhanden". Überschreiben nur noch über +`$seeder->overwriteExisting = true`. Der Lauf meldet, wie viele Einträge unangetastet blieben, und +leert den CMS-Cache, wenn er etwas geändert hat. +**Tests:** 3 neue Fälle in `tests/Feature/Cms/CmsContentSeederTest.php` – gepflegter Inhalt bleibt, +fehlende Sektionen werden trotzdem angelegt, bewusstes Überschreiben funktioniert. + +### B2 · Das Magazin-CMS ist nicht mit dem Frontend verbunden ✅ + +- Admin `admin/flux-cms/articles` schreibt nach `cms_articles` (Model `CmsArticle`). +- Frontend liest `trans('b2in.articles')`: + `app/Livewire/Web/Components/Sections/MagazinList.php:20` und `MagazinDetail.php:48`. +- `CmsArticle` wird **außerhalb des Admin-Bereichs nirgends verwendet** (verifiziert per Grep). + +**Wirkung 1:** Was Marcel im Magazin-CMS bearbeitet, erscheint nicht auf der Website. +**Wirkung 2 (für dieses Projekt entscheidend):** Die Umsetzungsliste sagt für die Kernmarken +„adaptiert vom **Magazin-Muster**". Das Admin-CRUD ist als Vorlage brauchbar, die +Frontend-Anbindung fehlt dort aber – **dieser Fehler darf nicht mitkopiert werden.** + +**Bei der Umsetzung aufgefallen – das ist kein reiner Verdrahtungsfehler:** +Die Artikel liegen in beiden Quellen (5 in `cms_articles`, 5 in der Lang-Datei, inhaltsgleich), +**aber unter verschiedenen Schlüsseln**: die Lang-Datei nutzt 1–5, die Datenbank die IDs 8–12. +Die öffentlichen URLs lauten heute `/magazin/1` … `/magazin/5`. Eine Umstellung auf das Model +**ändert damit die öffentlichen URLs** und braucht eine Slug-Route plus Weiterleitungen von den +alten numerischen IDs – sonst brechen bestehende Links und die Google-Indexierung. + +**Deshalb bewusst nicht einfach umgestellt.** Entscheidung nötig: + +| Variante | Aufwand | Wirkung | +|---|---|---| +| A · Slug-Routen `/magazin/{slug}` + 301 von den alten IDs | ≈3–4 Std. | sauber, CMS wird wirksam, URLs werden sprechend | +| B · Numerische Route beibehalten, Auflösung über die DB-ID | ≈2 Std. | CMS wird wirksam, aber `/magazin/1` … `/magazin/5` werden zu 404 | +| C · Vorerst so lassen | 0 | Magazin funktioniert, das Magazin-CMS bleibt aber wirkungslos | + +**Umgesetzt: Variante A.** + +- `CmsArticle::forFrontend()` liefert die veröffentlichten Artikel nach Slug indiziert. + Das CMS gewinnt; solange keine Artikel gepflegt sind, greift die Lang-Datei als Fallback – + dieselbe Reihenfolge wie bei `cms_theme_section()`, damit das Magazin auf einer frischen + Installation nicht leer ist. +- Die ID→Slug-Zuordnung lag als private Konstante im `CmsArticleSeeder` und ist jetzt + `CmsArticle::LEGACY_ID_TO_SLUG` – eine Quelle für Seeder, Fallback und Weiterleitung. +- `MagazinList` und `MagazinDetail` lesen aus dem Model statt aus `trans('b2in.articles')`; + die Übersicht verlinkt über `route('magazin.detail')` statt über die numerische ID. +- Neue Route `/magazin/{slug}`. Die alten `/magazin/1` … `/magazin/5` leiten dauerhaft (301) + auf den Slug um; sie stehen per `whereNumber()` **vor** der Slug-Route, sonst würde diese + die Ziffern selbst schlucken. Numerische IDs ohne Zuordnung liefern 404. +- Die Detailseite fragte die Artikel zweimal ab (Artikel + verwandte Artikel) – jetzt gemerkt, + eine Abfrage pro Seitenaufruf. + +**Tests:** `tests/Feature/MagazinPageTest.php` auf 13 Fälle erweitert – Slug-Auslieferung, +301 von jeder alten ID, 404 bei unbekanntem Slug, CMS schlägt Lang-Datei, unveröffentlichte +Artikel sind unsichtbar, Fallback bei leerer Tabelle. `LiveSiteReviewTest` prüft für jede alte +ID die Weiterleitung **und** dass das Ziel lädt. + +⚠️ **Beim Deployment:** `/magazin/1` … `/magazin/5` sind indexiert. Die 301 fängt sie ab, aber +nach dem Livegang bitte einmal in der Search Console gegenprüfen. Externe Links, die noch auf +die alten URLs zeigen, bleiben funktionsfähig. + +**Nebenbefund, nicht angefasst:** `MagazinDetail::$relatedArticles` wird berechnet, aber von +keiner View gerendert – entweder die Sektion „verwandte Artikel" nachziehen oder die Property +entfernen. Deine Entscheidung. + +### B3 · Ankündigungsleiste: alte Wegklicker sehen die neue Leiste nie ✅ + +`announcement-bar.blade.php:2` merkt sich das Wegklicken in +`localStorage['announcement_dismissed_']`. Bleibt die `id` beim Umtexten gleich, bleibt die +Leiste für alle Wiederkehrer unsichtbar. + +**Behoben:** Der Dismiss-Schlüssel wird jetzt aus Inhalt **und** `id` abgeleitet +(`AnnouncementBar::getDismissKeyProperty()`). Wird die Leiste im CMS neu belegt, sehen auch +Wiederkehrer die neue Meldung – ohne dass jemand daran denken muss, die `id` mitzuändern. +**Tests:** 2 neue Fälle in `tests/Feature/AnnouncementBarTest.php`. + +### B4 · Der Footer ist vollständig hartkodiert ✅ + +`footer.blade.php` – Claim „Connecting Design and Property" steht in Zeile 15 im Markup, +`Footer.php` lädt überhaupt keinen Content. Es gibt keine `footer`-Sektion in `cms_section_map.php`. + +**Wirkung:** Sowohl „Footer-Claim ersetzen" als auch „FAQ in den Footer" aus der Umsetzungsliste +erfordern einen kleinen Umbau; Marcel kann den Claim danach ohne CMS-Anbindung weiterhin nicht ändern. +**Behoben:** Neue CMS-Sektion `global.footer` (Claim, Byline, Linkliste) in `cms_section_map.php` +und in beiden Lang-Dateien. `Footer.php` lädt sie über `cms_theme_section('footer')`, die View +rendert Claim und Links daraus und fällt ohne CMS-Eintrag auf sinnvolle Defaults zurück. +Der Claim lautet jetzt „Premium-Einrichtung. Persönlich gemacht.", FAQ ist als erster Link drin. +**Tests:** `tests/Feature/FooterTest.php` (4 Fälle). + +### B5 · Englische Footer-Labels auf der deutschen Seite ✅ + +„Privacy Policy", „Terms of Service", „Cookie Policy" waren hartkodiert englisch, während +„Impressum" korrekt über `__('ui.legal_notice')` lief. +**Behoben:** neue Keys `privacy_policy`, `terms_of_service`, `cookie_policy`, `faq` in +`resources/lang/{de,en}/ui.php`; die deutsche Seite zeigt jetzt Datenschutz / AGB / +Cookie-Richtlinie / Häufige Fragen / Impressum. + +### B6 · 19 Seiten tragen die alte Dubai-Beschreibung ✅ + +`web-master.blade.php:11` und `:18` haben als Fallback fest verdrahtet: +„B2in – Connecting Design and Property. Exklusive Immobilien in Dubai & europäisches Einrichtungsnetzwerk." +19 Views unter `resources/views/web/` setzen **kein** `@section('meta_description')` und erben damit +diesen Text – darunter die Live-Seite `magazin-detail.blade.php`. + +**Behoben:** Der Fallback in `web-master.blade.php` (Description **und** OG-Description) trägt +jetzt den Interior-Text aus `umsetzung-inhalte.md` §0. Zusätzlich `` ergänzt, +das fehlte komplett. +**Offen als B10:** Der Alt-Begriff-Bestand im Seiteninhalt („Supply-Chain", „Local-for-Local", +„Ökosystem", „Investment", „Connecting Design") – **90 Treffer in 14 Dateien**, u. a. der +Hero-`card_text`. Das ist Content-Arbeit mit den freigegebenen Texten und gehört in AP1, nicht +in einen Bugfix. + +### B7 · Content-Seeder sind nirgends registriert ✅ + +`DatabaseSeeder::run()` ruft nur `TestDisplaySeeder`. `CmsContentSeeder`, `CmsArticleSeeder`, +`CmsProjectSeeder`, `CmsLegalSeeder`, `NetzwerkPageCmsSeeder` müssen von Hand aufgerufen werden; +ein frisch aufgesetztes System hat keine CMS-Inhalte. +**Behoben:** `CmsContentSeeder`, `CmsLegalSeeder`, `NetzwerkPageCmsSeeder`, `CmsArticleSeeder` +und `CmsProjectSeeder` sind in `DatabaseSeeder::run()` registriert – nach dem B1-Fix gefahrlos, +weil bestehende Inhalte unangetastet bleiben. + +### B8 · Klartext-Passwort im Seeder ✅ + +`database/seeders/DatabaseSeeder.php` enthielt ein echtes Passwort im Repo. +**Behoben:** Zugangsdaten kommen jetzt aus `config/seeding.php` bzw. `SEED_ADMIN_*` in der `.env`; +`.env.example` ist ergänzt. +⚠️ **Das alte Passwort steht weiterhin in der Git-Historie – bitte rotieren, falls es irgendwo +sonst benutzt wird.** + +### B9 · Medien-Picker greift bei leeren Logo-Feldern nicht ✅ + +`content-index.blade.php` → `_cmsFieldLooksLikeImage()` erkennt Bildfelder an einer festen +Feldnamen-Liste **oder** an der Dateiendung **im Wert**. `logo` steht nicht in der Liste, und ein +noch leeres Feld hat keinen Wert → wird als reines Textfeld gerendert. + +**Wirkung:** Marcel kann bei einer neu angelegten Marke bzw. bei den Sponsoring-Logos das Bild +nicht per Picker setzen, sondern müsste den Dateinamen abtippen. Betrifft AP2 und AP6 direkt. +**Behoben:** `logo` in die Feldnamen-Liste und `_logo$` in die Suffix-Regex aufgenommen. Zusätzlich +prüft `_cmsFieldLooksLikeImage()` den Feldnamen jetzt **vor** dem Wert – ein noch leeres Bildfeld +wird dadurch als Bild erkannt und bekommt den Picker. (`logo_width` bleibt korrekt ein Textfeld.) + +### B11 · `/magazin/{unbekannte-id}` liefert 200 statt 404 ✅ + +`MagazinDetail::loadArticle()` fiel bei unbekannten IDs still auf Artikel 1 zurück +(`$articles[$this->articleId] ?? $articles[1]`). `/magazin/999` lieferte damit Status 200 mit dem +Inhalt von Artikel 1 – beliebig viele URLs mit identischem Inhalt, schlecht für die Indexierung, +und bei fehlendem Artikel 1 ein Fehler statt einer 404. + +**Behoben:** `abort_unless(isset($articles[$this->articleId]), 404)`. +**Tests:** 2 neue Fälle in `tests/Feature/MagazinPageTest.php`. + +--- + +## 3. Arbeitspakete + +Gliederung folgt der Umsetzungsliste. Reihenfolge nach dem Vorschlag aus `umsetzung-inhalte.md`. + +### AP0 · Vorbereitung (im Rahmen von AP1) + +Branch `feature/b2in-interior`, DB-Backup, Backup der Startseite (Muster +`dev/2026-02-27/backup-before-relaunch/`), `php artisan test --compact` als Referenzstand. + +### AP1 · Website-Umstrukturierung & Umtextung — ✅ umgesetzt + +**Global** +- Meta-Title und Description auf Interior umgestellt; fünf Live-Seiten hatten gar keine eigene + Description und erbten den Fallback – jetzt gesetzt (`magazin-detail`, `impressum`, `privacy`, + `terms`, `cookie-policy`). OG-Tags leiten sich automatisch ab. +- Navigation: `Home · Marken · Magazin · Immobilien · Über B2in`. „Netzwerk" ist raus (Seite bleibt + erreichbar), FAQ steht im Footer. „Referenzen" kommt mit AP5 dazu. +- Footer-Claim „Premium-Einrichtung. Persönlich gemacht." (siehe B4). + +**Startseite** – neue Reihenfolge in `resources/views/web/home.blade.php`: +`header → hero → marcel-badge → weiche → kernmarken → über-marcel → sponsoring → immobilien-teaser → abschluss-cta → footer` +- Ankündigungsleiste neu belegt (Rotpunkt Küchen), inkl. neuer `id`. +- Hero: neue Headline, Subline, zwei Buttons, drei Checkmarks, Bild-Badge „Einrichtung, die bleibt." +- Marcel-Badge umgetextet. +- **Neu:** `Sections/AudienceSwitch` (Weiche Privat/Geschäft) – ersetzt „Zwei Welten. Ein Netzwerk." +- **Neu:** `Sections/CoreBrands` mit CABINET, Rotpunkt Küchen, Febrü (Anker `#marken`). + Febrü bewusst mit Home-Office zuerst. **Datenquelle ist vorerst das CMS-Sektionsfeld – + in AP2 wird sie durch das Model `CmsBrand` samt Detailseiten ersetzt.** Das Markup bleibt. +- **Neu:** `Sections/Sponsoring` (AP6) und `Sections/ImmobilienTeaser`. +- „Ein Ökosystem, drei Säulen" ist von der Startseite genommen, die Komponente bleibt als Archiv. + +**Sponsoring-Logos:** je Verein eine Datei gewählt, auf max. 400 px Breite herunterskaliert +(326 KB → 130 KB) und nach `public/img/assets/sponsoring/` übernommen. Die drei Seitenverhältnisse +sind sehr unterschiedlich (500×262, 689×689, 2443×741), deshalb eine feste Box je Logo. +`tc-bad-waldliesborn-horn` liegt nur als JPG vor und hat damit keinen transparenten Hintergrund. + +**Durchgang Alt-Begriffe:** auf allen Live-Seiten bereinigt – Startseite, `/about`, `/contact`, +`/immobilien` sind sauber; `/netzwerk` und `/faq` ebenfalls. Nicht angefasst: die +**Magazin-Artikel**, die inhaltlich über Supply-Chain und Investments handeln – das sind +redaktionelle Beiträge, keine Seitentexte. + +**Tests:** `tests/Feature/HomePageStructureTest.php` (11 Fälle: Reihenfolge, Hero-Buttons und +-Checkmarks, Kernmarken samt Anker, Febrü-Gewichtung, Navigation, SEO, Sponsoring-Logos); +`AnnouncementBarTest` und `LiveSiteReviewTest` auf die neuen Inhalte gezogen. + +--- + +#### ⚠️ Wichtig fürs Deployment: der Relaunch-Seeder + +`cms_theme_section()` bevorzugt das CMS gegenüber der Lang-Datei. 14 der neu getexteten Sektionen +lagen bereits mit den **alten** Texten im CMS und hätten die neuen Inhalte überdeckt – der reguläre +`CmsContentSeeder` fasst bestehende Einträge seit B1 bewusst nicht mehr an. + +Deshalb gibt es `InteriorRelaunchCmsSeeder`: er überschreibt **genau die 19 in AP1 geänderten +Sektionen** aus den Lang-Dateien und lässt alles andere in Ruhe. + +``` +php artisan db:seed --class=InteriorRelaunchCmsSeeder +``` + +Auf der lokalen Datenbank bereits gelaufen (5 angelegt, 14 aktualisiert). **Auf dem Live-System +vor dem Lauf ein DB-Backup ziehen** – er überschreibt in diesen Sektionen auch redaktionelle +Änderungen. Danach `npm run build:web`. + +--- + +#### Nebenbefund B12 · `/service` und `/portfolio` lieferten 500 ✅ + +Beide Seiten sind öffentlich erreichbar, aber ihre Content-Sektionen (`hero_image`, +`content_section_left/right`, `portfolio`) existieren in keiner Lang-Datei mehr – vermutlich seit +dem Februar-Relaunch. Sie warfen seitdem einen 500er; da sie in keinem Test vorkamen, ist es +niemandem aufgefallen. **Verifiziert: älter als AP1, keine Regression.** + +**Behoben** wie bei den anderen stillgelegten Seiten per 301 (`/service` → `/netzwerk`, +`/portfolio` → `/immobilien`); die Views bleiben als Archiv liegen. Beide Ziele sind eine +Zeile in `routes/web.php`, falls Du woandershin umleiten möchtest. + +--- + +#### Was in AP1 offen bleibt + +| Punkt | Grund | +|---|---| +| Hero-Bildmotiv, Kachelbilder, OG-Image | Zulieferung offen, Bestandsbild bleibt | +| Navigationspunkt „Referenzen" | kommt mit der Seite in AP5 | +| Teaser „Aktuelles aus unseren Showrooms" | kommt mit AP5, sonst zeigt er ins Leere | + +--- + +#### Logo mit Zusatz „Interior" ✅ (Zulieferung eingetroffen) + +Marcel hat die Dateien geliefert (`dev/2026-08-28/logos/`) – die typografische Eigenlösung +entfällt damit. Beide Varianten sind identisch aufgebaut und unterscheiden sich nur im Füllwert: +positiv `#314052`, negativ `#FFFFFF`; der blaue Akzent `#2C9FDA` bleibt in beiden. Trotz „CMYK" +im Dateinamen enthalten die SVGs RGB-Hexwerte, die Schrift liegt in Pfaden. + +**Zuschnitt war nötig:** Die Lieferung lag auf einem A4-Artboard (595,3 × 419,5) – gemessen +**74 % leerer Weißraum**. Ungeschnitten hätte das Logo bei gleicher CSS-Höhe rund halb so groß +gerendert wie das bisherige. Der Inhaltsrahmen wurde durch Rendern ermittelt und das viewBox auf +`153 96 289.3 227.5` gezogen (98 % Füllgrad, gleichmäßige Randluft, Verhältnis 1,27:1). + +Abgelegt als `public/img/logos/b2in-interior-logo-{positive,negative}.{svg,png}`; die alten +`b2in-logo-*`-Dateien bleiben als Archiv liegen. + +**Angepasst:** `ThemeHelper` (b2in → neue Dateien) · Header `h-10` → `h-12` und Footer `h-14` → +`h-16`, weil das neue Lockup gestapelt ist und die Wortmarke bei gleicher Höhe kleiner wirkt · +Footer- und Mail-`width`/`height`-Attribute auf das neue Verhältnis korrigiert (standen auf +2,14:1 bzw. 3,5:1 und passten schon vorher nicht) · Mail-Header nutzt das neue PNG. + +**Display ebenfalls umgestellt** (Marcel möchte es laut Mail einheitlich): + +- Beide Varianten liegen jetzt auch unter `public/_cabinet/assets/`. +- `DisplayModuleSettings`: Default-Logo und Claim getauscht. Der Claim stand dort noch auf + „Connecting Design & Property". +- **Variante nach Theme:** Das Standard-Theme ist `dark`, dort liegt das Logo auf einem dunklen + Scrim – bislang stand da die **dunkle** Variante (deshalb der `drop-shadow` im Player). Jetzt + dunkles Theme → negativ/weiß, helles Theme → positiv. +- Logo-Höhe im Player von `3.5vh` auf `4.6vh`, weil das neue Lockup gestapelt ist. +- `DisplayInteriorBrandingSeeder` vereinheitlicht die bestehenden Module. Vorher liefen dort + **vier verschiedene Logo-Quellen** nebeneinander (zwei Dateien aus der Medienbibliothek, ein + relativer und ein absoluter Asset-Pfad) und zwei Module trugen den Claim „Hello". + +--- + +#### B13 · Live-Displays zeigten auf eine lokale Entwicklungsdomain ⛔→✅ + +Beim Vereinheitlichen aufgefallen: Medien-URLs lagen als **absolute URLs mit fest verdrahtetem +Host** in den Moduleinstellungen und Item-Inhalten – teils `b2in.eu`, teils **`b2in.test`**. +Der Player gibt absolute URLs unverändert zurück, ein auf `b2in.test` verweisendes Medium kann auf +dem Live-Display also nicht laden. + +**Betroffen waren vier veröffentlichte Playlists:** „Display 4 – Innen", „Kundenstopper", +„Display 2" und „Test-Display" – unter anderem über das Modul „Cabinet-Influencerin", das auf +drei der vier Displays läuft. + +**Behoben:** `DisplayMediaUrlNormalizerSeeder` schreibt Schema + Host auf einen reinen Pfad um. +Relative Pfade löst der Player über `resolveDisplayUrl()` gegen die Portal-Basis auf und +funktionieren damit auf Test- **und** Live-System. 23 Verweise umgeschrieben, 0 verblieben. + +Ziel-Links (Footer-URL, QR-Ziel wie `cabinet-bielefeld.de`) bleiben bewusst absolut – der Filter +greift nur bei einem B2in-Host **und** einem Pfad unterhalb von `/storage/`. Nachgeprüft: die +fünf Ziel-Links stehen unverändert. + +**Tests:** `DisplayInteriorBrandingTest` (6) und `DisplayMediaUrlNormalizerTest` (6). + +⚠️ **Wichtig:** Ob die betroffenen Mediendateien auf dem Live-Server überhaupt vorhanden sind, +kann ich von hier nicht prüfen. Wurden sie nur lokal hochgeladen, fehlen sie dort weiterhin – +der relative Pfad ist dann trotzdem richtig, aber die Datei muss nachgezogen werden. +Nach dem Deployment bitte die vier Displays einmal sichten. + +**Deployment-Reihenfolge:** +``` +php artisan db:seed --class=InteriorRelaunchCmsSeeder +php artisan db:seed --class=DisplayInteriorBrandingSeeder +php artisan db:seed --class=DisplayMediaUrlNormalizerSeeder +npm run build:web +``` + +### AP2 · Kernmarken-Modul im CMS — ✅ umgesetzt + +**Model + Migration:** `CmsBrand` / Tabelle `cms_brands`. +⚠️ Bewusst **nicht** `Brand` – das Model existiert bereits im Produkt-/Partner-Kontext +(`Partner::brand()`, `Product::brand()`) und bleibt unangetastet. Ein Test hält das fest. + +Felder: `slug`, `name`, `tagline`, `teaser`, `description` (HTML), `logo`, `image`, `services`, +`gallery`, `website_url`, `showroom`, `is_published`, `order`. +Übersetzt werden `name`, `tagline`, `teaser`, `description`. + +**Die Lehre aus B2 ist eingebaut:** Das Frontend liest direkt aus dem Model, nicht aus einer +Lang-Datei. `CmsBrand::forFrontend()` liefert die veröffentlichten Marken nach Slug indiziert; +solange keine Marke gepflegt ist, greift die Lang-Sektion `core_brands` als Fallback. Die +Fallback-Einträge tragen `has_detail_page = false`, damit die Kachel dann nicht auf eine +Detailseite verlinkt, die es noch nicht gibt. + +**Admin:** `admin/flux-cms/brands` → `brands-index.blade.php` (Volt), aufgebaut nach dem +Magazin-Muster. Medien über den bestehenden `MediaPicker` (Logo, Stimmungsbild, Galerie), die +Einleitung über den Flux-Editor mit `CmsFluxEditorHtmlTransformer`. Slug wird auf Format und +Eindeutigkeit geprüft. Eigene Karte im CMS-Dashboard. + +**Frontend:** +- `Sections/CoreBrands` rendert die Kacheln aus dem Model (Anker `#marken`). +- Neue Route `/marken/{slug}` mit `Sections/BrandDetail` und der Vorlage-Struktur aus + `umsetzung-inhalte.md` §5: Header (Logo + Claim + Stimmungsbild) → Einleitung → Leistungen → + Galerie → CTA, dazu eine Leiste mit den übrigen Marken. +- Eigener Title und eigene Description je Marke. +- Unveröffentlichte Marken liefern 404 und verschwinden von der Startseite. + +**Seeder:** `CmsBrandSeeder` legt CABINET, Rotpunkt Küchen und Febrü mit den Texten aus +`umsetzung-inhalte.md` §5 sowie je vier Leistungen an – Febrü mit Home-Office zuerst. +Bestehende Marken werden **nicht** überschrieben, Marcel pflegt sie im Admin. + +**Tests:** `Cms/CmsBrandTest` (8), `BrandPageTest` (11), `Admin/Cms/CmsBrandsIndexTest` (11) – +darunter die Gegenprobe zu B2: eine im CMS neu angelegte Marke erscheint ohne Codeänderung auf +der Startseite **und** bekommt ihre Detailseite. + +#### Nachtrag: eigene Unterseite `/marken` + +Auf Wunsch nach der Sichtung – Grundlage `dev/2026-08-28/unterseite_marke.md`. Die Startseite +bleibt wie sie ist, die Kernmarken-Sektion dort ist jetzt ein **Teaser**. + +- **Neue Seite `/marken`** mit dem Aufbau aus der Spec: Seitenkopf mit Breadcrumb (Home → Marken) + → Kernmarken → Partnernetzwerk → „Markenwelt wächst" → Abschluss-CTA. Eigener Title und eigene + Description. +- **Zwei Textebenen je Marke.** Dafür kamen zwei Felder dazu (`summary`, `highlights`): + + | Feld | Wo | + |---|---| + | `teaser` | Kachel auf der Startseite (gekürzt) | + | `summary` | Text auf `/marken` (zwei Absätze) | + | `highlights` | die drei Merkmale auf `/marken` | + | `description` | Einleitung der Detailseite | + | `services` | Leistungen der Detailseite | + +- **Startseite:** Kacheln verlinken direkt auf die Detailseite, darunter der Button + „Alle Marken ansehen" → `/marken`. +- **Navigation:** „Marken" zeigt auf `/marken` statt auf den Anker `/#marken`; der Hero-Button + ebenfalls. Der Anker `#marken` bleibt für Direktsprünge erhalten. +- **Slug korrigiert:** Die Spec nennt `/marken/rotpunkt`, geseedet war `rotpunkt-kuechen`. + Angepasst, solange nichts live ist – später wäre das ein Redirect gewesen. +- **`/netzwerk` stillgelegt.** Der Inhalt geht im Abschnitt „Mehr als Marken: unser Netzwerk" auf + `/marken` auf. `/netzwerk`, `/interior`, `/partner` und `/service` leiten jetzt **direkt** auf + `/marken` – vorher liefen `/interior` und `/partner` über `/netzwerk`, also eine Redirect-Kette. + Die View bleibt als Archiv liegen. +- **WhatsApp-Button:** erscheint nur, wenn im CMS unter `global.contact.whatsapp` eine Nummer + hinterlegt ist (`whatsapp_link()`). Solange die Nummer nicht bestätigt ist, zeigt der CTA nur + „Termin anfragen" – kein Button auf eine erfundene Nummer. + +**Tests:** `MarkenPageTest` (9), `InteriorPageTest` neu geschnitten (4), dazu zwei Fälle in +`Admin/Cms/CmsBrandsIndexTest` – darunter die Gegenprobe, dass eine im Admin angelegte Marke +mitsamt Text und Merkmalen auf `/marken` erscheint. + +> **Notiz für spätere Reihenfolge-Tests:** `wire:snapshot` serialisiert die Komponentendaten als +> JSON ins Attribut und escaped Umlaute zu `\uXXXX`. Ein `strpos`-Vergleich auf dem rohen HTML +> misst dann den Snapshot statt des sichtbaren Textes. In `MarkenPageTest` werden die Snapshots +> vorher entfernt. + +**Offen:** Logos, Stimmungsbilder und Galerien fehlen als Zulieferung – Kacheln und Detailseiten +zeigen so lange einen Platzhalter. Der WhatsApp-Button im CTA-Block kommt mit AP3, sobald die +Nummer bestätigt ist. + +--- + +#### Nachtrag 2: Galerie je Marke – realisierte Projekte und Inspirationen getrennt + +Aus Marcels Mail: „Der Bereich Referenzen ist mir wichtig … Entscheidend ist für mich, dass dieser +Bereich langfristig mitwachsen und von mir selbst gepflegt werden kann. Für den Start können wir +ergänzend mit hochwertigen Visualisierungen und KI-unterstützten Darstellungen arbeiten. Dabei +sollte allerdings klar zwischen tatsächlich realisierten Referenzen und Entwürfen beziehungsweise +Inspirationen unterschieden werden." + +Umgesetzt als Galerie **auf der Detailseite jeder Kernmarke**, mit zwei Rubriken. + +- **Datenform.** Das bestehende JSON-Feld `cms_brands.gallery` bekommt je Eintrag + `image`, `category` (`project` | `inspiration`) und `caption`. **Keine Migration nötig.** +- **Sicherheitsnetz gegen die schädlichere Verwechslung:** `CmsBrand::normalizeGallery()` stuft + jeden Eintrag ohne oder mit unbekannter Kategorie als **Inspiration** ein – nie als Projekt. + Ein Entwurf, der versehentlich als Referenz durchgeht, wäre der teurere Fehler. Die + Normalisierung greift beim Laden, beim Speichern und beim Ausspielen. +- **Frontend** (`brand-detail.blade.php`): Abschnitt „Referenzen und Inspirationen" mit Umschalter, + sobald beide Rubriken gefüllt sind; ist nur eine gefüllt, steht sie mit eigener Überschrift da. + Jede Kachel trägt ein sichtbares Label („Realisiertes Projekt" / „Visualisierung"), über den + Inspirationen zusätzlich der Satz „Diese Darstellungen sind Entwürfe und Visualisierungen – + keine ausgeführten Projekte." Lightbox mit Pfeiltasten und Esc, Muster übernommen aus + `immobilien-show.blade.php`. +- **Admin** (`brands-index.blade.php`): zwei getrennte Buttons „+ Projekt" und „+ Inspiration", je + Eintrag ein Auswahlfeld und eine Bildunterschrift, dazu ein Hinweis, was in welche Rubrik gehört. + Die Kategorie wird beim Anlegen entschieden, nicht per stillem Vorgabewert. +- **Abgrenzung zu AP5:** AP5 bleibt die Rubrik-Seite „Referenzen" mit dem zweiten Display. Die + markenbezogene Galerie hier ist die pflegbare Grundlage dafür und ersetzt AP5 nicht. + +**Tests:** 5 Fälle in `BrandPageTest` (keine Galerie → kein Abschnitt; beide Rubriken beschriftet; +kein Umschalter bei nur einer Rubrik; Eintrag ohne Kategorie erscheint als Visualisierung; Hinweis +sichtbar), 5 in `Cms/CmsBrandTest` (Normalisierung, Gruppierung), 4 in +`Admin/Cms/CmsBrandsIndexTest` (Anlegen je Rubrik, Speichern, unbekannte Kategorie, Löschen). + +**Offen:** Bildmaterial. Marcel setzt Projektfotos und Visualisierungen selbst ein. + +--- + +### AP3 · Terminanfrage-Widget + WhatsApp — ✅ umgesetzt + +**Korrektur gegenüber Revision 1:** kein Inline-Abschnitt, sondern ein **schwebendes Element +unten rechts auf allen Seiten** → gehört ins Layout `web-master.blade.php`, nicht in `home.blade.php`. + +- Aufsetzen auf `Acme\ContactForm\Livewire\ContactForm` per `customFields` – Honeypot, + Rate-Limit und `SpamDetector` kommen damit geschenkt. +- Felder: Name*, E-Mail*, Telefon, Anliegen/Marke (Auswahl), Wunschtermin, Nachricht. +- **Markenauswahl speist sich aus `CmsBrand`** → Abhängigkeit zu AP2 (Reihenfolge einhalten), + plus feste Einträge „Projektausstattung" und „Sonstiges". +- WhatsApp-Button daneben, Nummer als CMS-Wert (`global.contact.whatsapp`), Link `https://wa.me/`. +- Cookie-Consent beachten (`packages/acme/CookieConsent`). + +**Tests:** `AppointmentWidgetTest` (17 Fälle: Einbindung auf allen Seiten, Markenauswahl aus +`CmsBrand`, Validierung inkl. Wunschtermin in der Vergangenheit, Übergabe an den +`ContactFormService`, Honeypot, WhatsApp sichtbar/unsichtbar); `ContactFormTest` bleibt grün. + +#### Umsetzungsnotizen + +- **Abweichung vom Plan:** nicht auf `Acme\ContactForm\Livewire\ContactForm` per `customFields` + aufgesetzt. Dessen mitgelieferte View bringt ein eigenes, blaues Layout mit, das nicht zum + Auftritt passt. Stattdessen eine eigene Komponente wie `ContactForm` und `ImmobilienContactForm` + der Seite, die `ContactFormService` und `SpamDetector` aus dem Paket nutzt – Honeypot, + Rate-Limit und Spam-Erkennung sind damit trotzdem drin. +- **Platzierung:** `web-master.blade.php`, unten rechts, `z-40`. Der Cookie-Button des + Consent-Managers sitzt unten links (ebenfalls `z-40`), sein Dialog auf `z-50` – die Einwilligung + bleibt also immer erreichbar und wird nie verdeckt. +- **Kein eigener Consent nötig:** Das Widget setzt nichts im Browser, der WhatsApp-Link ist ein + ausgehender Link ohne Einbettung. +- Die `[x-cloak]`-Regel liegt jetzt einmal zentral im Layout – die Seiten brachten sie bisher nur + teilweise selbst mit, das Widget braucht sie überall. +- Felder: Name*, E-Mail*, Telefon, Anliegen (Auswahl), Wunschtermin, Nachricht, Einwilligung*. + Der Wunschtermin ist auf heute oder später begrenzt, im Browser über `min` und serverseitig + über `after_or_equal:today`. +- Betreff der Mail: `Terminanfrage B2in Interior: `, Log-Kontext `appointment-widget` – + so lassen sich Widget-Anfragen von den übrigen Formularen unterscheiden. Die Seite, von der die + Anfrage kam, steht als `source` in der Mail. +- **WhatsApp** erscheint weiterhin nur, wenn unter `global.contact.whatsapp` eine Nummer im CMS + steht. Ohne Nummer zeigt das Widget allein den Termin-Button. + +#### WhatsApp: was technisch geht und was nicht + +Eine echte WhatsApp-Anbindung (Nachrichten empfangen, im CMS beantworten, Verlauf speichern) +setzt die WhatsApp Business Platform voraus: Meta-Verifizierung des Unternehmens, ein Anbieter +für den API-Zugang, laufende Kosten je Konversation. Das ist nicht Teil dieses Auftrags. + +Umgesetzt ist die dafür übliche Alternative, ein **Klick-zum-Chat-Link** (`wa.me`): + +- Der Button sitzt im Terminanfrage-Panel unter dem Absenden-Button. +- Auf dem Handy öffnet die installierte WhatsApp-App, am Rechner WhatsApp Web bzw. die + Desktop-App. Ist WhatsApp nirgends vorhanden, landet man auf der Hinweisseite von `wa.me`. +- Der Nachrichtentext ist **vorbereitet** und wird im Browser aus dem zusammengesetzt, was im + Formular schon steht (Anliegen, Wunschtermin, Name). Der Einstiegssatz ist im CMS pflegbar + (`global.appointment_widget.whatsapp_text`). +- **Abgeschickt wird die Nachricht vom Besucher selbst** – das steht auch so unter dem Button. + +Was das bedeutet, bewusst festgehalten: + +| | | +|---|---| +| Wo landet die Nachricht | in Marcels WhatsApp, nicht im CMS und nicht per Mail | +| Was sehen wir davon | nichts – kein Eintrag, keine Statistik, kein Spamschutz | +| Voraussetzung | eine Mobilnummer, die WhatsApp empfangen kann (sinnvoll: WhatsApp Business) | +| Datenschutz | ausgehender Link zu Meta. In die Datenschutzerklärung gehört ein Absatz dazu; ein Consent-Banner braucht es nicht, weil nichts eingebettet wird und nichts gesetzt wird | + +Wer eine Anfrage im System dokumentiert haben will, nutzt weiterhin das Formular – der +WhatsApp-Weg ist die schnelle, aber unprotokollierte Abkürzung. + +### Nachtrag 3 · Bestandsinhalte auf den Interior-Auftritt umgestellt ✅ + +Nach der Sichtung: Drei verlinkte Seiten erzählten noch die Dubai-/Plattform-Geschichte. +`/immobilien` bleibt bewusst unverändert – die Seite ist der „Außerdem"-Bereich. + +**`/faq`** – die beiden Rubriken „Fokus: Immobilien-Investoren (B2C)" und „Fokus: B2B-Partner" +sind ersetzt durch **„Für Ihr Zuhause"** und **„Für Projekte und Objekte"** (je vier Fragen: +Einstieg mit einem einzelnen Möbelstück, Kosten der Maßanfertigung, Montage, Showroom – +bzw. Projektgröße, Termintreue, Architekten, Netzwerk). Von den allgemeinen Fragen waren zwei +noch Dubai-lastig, die sind jetzt Beratungsablauf und Verlässlichkeit. Die englische Fassung war +noch komplett auf dem alten Stand und ist mitgezogen. + +**`/about`** – das Mission-Zitat sprach von „digitalen Werkzeugen" und „Brücken zwischen Märkten". +Neu: wenige ausgewählte Hersteller, Fachbetriebe aus der Region, ein Ansprechpartner. Die sechs +Werte waren Plattform-Vokabular (Innovation, Konnektivität, Design-Exzellenz) und heißen jetzt +Beratung statt Verkauf, Maßarbeit, Ausgewählte Marken, Regional verwurzelt, Ein Ansprechpartner, +Verlässlichkeit. In der Zeitleiste sind „Die Idee", „Das Fundament" und „Die Vision" umgeschrieben. + +**`/contact`** – die Betreffliste beginnt jetzt mit Beratungstermin, Maßanfertigung und +Küchenplanung; „Internationale Immobilien" rutscht nach hinten, bleibt aber erhalten. + +**`/magazin`** – zwei neue Beiträge, die **an erster Stelle** stehen: +`massanfertigung-warum-der-millimeter-zaehlt` und `kueche-planen-vom-wunsch-zum-grundriss`. +Die vier Dubai-Beiträge bleiben, sie gehören zum Immobilienbereich. + +> ⚠️ Die beiden Beiträge sind **Platzhalter**. Bewusst ohne Referenzen, Zahlen oder Namen +> geschrieben, damit nichts behauptet wird, was nicht belegt ist – vor dem Livegang von Marcel +> gegenlesen lassen. Als Bilder dienen vorhandene Motive aus dem Altbestand. + +**Zwei technische Punkte dabei:** + +- Neue Lang-Artikel bringen ihren Slug jetzt selbst mit (`'slug' => …`, aufgelöst über + `CmsArticle::slugForLangArticle()`). `LEGACY_ID_TO_SLUG` bleibt damit das, was der Name sagt: + die Karte für die alten `/magazin/{id}`-URLs. `/magazin/6` ist korrekt ein 404, weil es diese + URL nie gab. +- `CmsArticleSeeder` sortiert nicht mehr per `ksort`. Die Reihenfolge in der Lang-Datei bestimmt + jetzt die Reihenfolge im Magazin – im CMS über `order`, im Lang-Fallback über die + Array-Reihenfolge. Vorher konnten beide Wege auseinanderlaufen. + +**Tests:** vier Fälle in `MagazinPageTest` (Reihenfolge, beide Slugs, kein erfundener Legacy-Link, +Slug-Auflösung), drei in `LiveSiteReviewTest` (FAQ ohne Dubai mit neuen Rubriken, About mit den +neuen Werten, Kontakt mit den neuen Betreffen). + +**Nachkontrolle:** Gegen die Live-Seiten geprüft, nicht nur gegen die Sprachdatei – dabei fiel in +der FAQ eine dritte Frage auf, die noch vom „Local for Local"-Netzwerk sprach. Ebenfalls korrigiert. + +**Noch offen auf diesen Seiten:** eigene Beitragsbilder für die zwei neuen Artikel; die vier +Dubai-Beiträge bleiben inhaltlich unverändert stehen. + +--- + +### AP4 · Display-Spiegelung auf der Website — ✅ umgesetzt + +**Korrektur gegenüber Revision 1:** Revision 1 empfahl, die Slides nativ zu rendern. Bei 3 Std. +ist das nicht zu halten, und die Umsetzungsliste schreibt „nutzt die vorhandene Display-/Player-API +als Datenquelle". → **Einbettung des vorhandenen Players im 9:16-Container.** + +- Sektion `Sections/DisplayFeed` mit `aspect-ratio: 9/16`, darin der Player. +- **Vorher zu klären:** Die `/preview/…`-Routen sind token- bzw. modulbasiert und für den internen + Gebrauch gedacht. Für die öffentliche Domain braucht es eine schmale, read-only Route + (z. B. `/embed/display/{display}`), die keine Preview-Tokens nach außen gibt. +- Keine doppelte Pflege: Marcel pflegt weiterhin nur im Display-CMS. + +#### Umsetzung + +- **Route `GET /embed/display/{display}`** (`DisplayEmbedController`), bewusst getrennt von den + Preview-Routen: Die arbeiten mit `preview_token` und zeigen den **Entwurf**. Nach außen darf + weder ein Token noch ein unveröffentlichter Stand gelangen. Die Embed-Route kennt nur die + numerische ID, liefert 404 bei inaktivem Display, bei reinem Entwurf und bei leerer Playlist, + und setzt `X-Robots-Tag: noindex`. +- **Kein Proxy, keine CORS-Frage:** Der Player liest die ID aus dem Pfad (`/display/{id}` steckt in + `/embed/display/{id}`) und holt seine Konfiguration über die bereits öffentliche Route + `/api/display/{display}/config` – dieselbe Quelle wie das physische Display. Da die API-Routen + für alle Domains registriert sind, läuft der Abruf gleichursprünglich über `b2in.test`. + Möglich wurde das durch **B13**: Vorher standen absolute `b2in.test`-URLs in den Playlists. +- **Sektion `Sections/DisplayFeed`** im 9:16-Rahmen. Welches Display gezeigt wird, steht im CMS + (`referenzen.display_feed.display_id`); ohne Eintrag greift das erste aktive Display mit + veröffentlichter Playlist. Gibt es keins, rendert die Sektion **nichts** – lieber keine Sektion + als ein Rahmen mit ewigem Ladebalken. Auch die Texte bleiben dann leer, sonst stünden sie + im Livewire-Snapshot der Seite. +- Eingebunden auf der Startseite (an der dafür vorgesehenen Stelle) und auf `/referenzen`. + +**Tests:** `DisplayWebFeedTest` (10 Fälle: Embed liefert die Datei, kein Token im Ausgabe-Inhalt, +404 bei inaktiv/Entwurf/leer/unbekannt, Einbindung auf der Startseite, CMS-Auswahl und Fallback). + +### AP5 · Rubrik-Seite „Referenzen" — ✅ umgesetzt + +**Korrektur gegenüber Revision 1:** Revision 1 schlug einen neuen `DisplayVersionType`-Case vor. +Die Umsetzungsliste sagt „zweites, separates **Display** im Display-CMS" – das ist ein weiterer +`Display`-Datensatz und braucht **keine Enum-Änderung**. Damit entfallen die Folgeänderungen an +`DisplayPlaylistConfigBuilder::moduleData()`, `DisplayModuleSettings` und den +`version-editor-*`-Partials. Deutlich risikoärmer und billiger. + +- Zweites `Display` anlegen, Route `/referenzen`, View + Sektion, Aufnahme in die Navigation. +- Startseiten-Teaser „Aktuelles aus unseren Showrooms" mit Button „Alle Referenzen ansehen →". +- 2–3 Platzhalter-Einträge. +- YouTube-Verlinkungen mit Consent-Gate. +- Inhaltliche Regel dokumentieren: unter „Referenzen" nur realisierte Projekte; Visualisierungen + und Entwürfe gehören in die Kernmarken-Detailseiten. +- **Bereits vorhanden:** die markenbezogene Galerie mit den Rubriken „Realisierte Projekte" und + „Inspirationen und Entwürfe" (siehe Nachtrag 2 zu AP2). AP5 baut darauf auf, statt eine zweite + Pflegestelle für dieselben Bilder zu schaffen. + +#### Umsetzung + +- Seite `/referenzen`: Seitenkopf → realisierte Projekte → Showroom-Display → Abschluss-CTA. + Navigationspunkt zwischen „Marken" und „Magazin". +- **Kein zweites Display nötig, keine zweite Pflegestelle:** Die Projekte kommen aus den + Markengalerien (AP2) und werden über alle Marken hinweg gesammelt. Es erscheinen ausschließlich + Einträge der Rubrik **„Realisiertes Projekt"** – Visualisierungen bleiben draußen, damit + „Referenzen" hält, was das Wort verspricht. Jede Kachel verlinkt zurück auf ihre Markenseite. +- **Ehrlicher Leerzustand:** Solange keine Projekte gepflegt sind, steht dort ein Satz dazu und ein + Terminlink – keine erfundene Referenz und keine leere Fläche. +- Der Seitenkopf ist jetzt eine wiederverwendbare Sektion (`PageHero` mit `section` und + `breadcrumb`), vorher war er auf `/marken` festgelegt. + +**Tests:** `ReferenzenPageTest` (6 Fälle: Seite lädt mit eigenem Titel, Navigationspunkt, +Projekte aus allen Marken, Visualisierungen bleiben draußen, Rückverlinkung, Leerzustand). + +### AP6 · Engagement / Sponsoring — ✅ umgesetzt (im Rahmen von AP1) + +Schlanke Sektion „Regional verbunden" nach der Marcel-Sektion: ein Einleitungssatz plus drei +Logos in ruhiger Reihe (Graustufen/gedeckt). + +Logos liegen bereits unter `dev/2026-08-28/sponsoren-logos/` – **7 Dateien für 3 Vereine** +(Arminia, TCBWH, TCH in mehreren Varianten und Formaten). Vor der Umsetzung je Verein **eine** +Datei auswählen, nach `public/img/assets/` bzw. in die Medienbibliothek übernehmen und +vereinheitlichen (gleiche Höhe, transparenter Hintergrund – die `.jpg`-Varianten haben keinen). +Setzt **B9** voraus, damit die Logos per Picker pflegbar sind. + +--- + +## 4. Nicht Bestandteil dieses Auftrags ⏸ + +Referenzbereich voll ausgebaut · 16:9-Display-Modul · Immobilien-CMS · Dubai-Map · +Markenrichtlinie Fahrzeug/Print · weitere frei anlegbare Rubriken · eigene Videolösung. +**Zusätzlich neu zu bewerten:** B2 (Magazin-CMS ans Frontend anschließen, ≈2–3 Std.) +und B8 (Passwort aus dem Seeder). + +--- + +## 5. Abhängigkeiten + +``` +AP1 (Struktur, Umtextung, B1/B3/B4/B5/B6/B7) + ├─ AP2 (Kernmarken, B9) ──┐ + ├─ AP4 (Display-Spiegelung)│ + ├─ AP5 (Referenzen) │ + ├─ AP6 (Sponsoring) ◄──────┤ braucht B9 + └─ AP3 (Termin-Widget) ◄───┘ Markenauswahl braucht CmsBrand +``` + +**B1 zuerst.** Solange der Seeder überschreibt, ist jede redaktionelle Arbeit flüchtig. + +--- + +## 6. Restrisiken & offene Punkte + +| Punkt | Stand | Umgang | +|---|---|---| +| **Rechtstexte** nennen weiter „Connecting Design and Property", Dubai/Lissabon, Supply-Chain | ⚠️ offen | Formulierung freigeben lassen, dann eintragen – nicht selbst getextet | +| **OG-Bild fehlt komplett** (`b2in-og-default.jpg` existiert nicht) | ⚠️ offen | Motiv wählen, ablegen | +| WhatsApp-Nummer (+49 151 51002992?) | offen | bestätigen lassen; ohne Nummer bleibt der Button unsichtbar | +| Logos, Stimmungsbilder, Galeriefotos der drei Marken | offen | Platzhalter stehen, Marcel trägt im CMS nach | +| Zwei neue Magazin-Beiträge sind Platzhalter | offen | gegenlesen lassen | +| Sponsoren-Kurztexte sind Entwürfe | offen | gegenlesen lassen | +| Vier Dubai-Beiträge bleiben im Magazin | bewusst | gehören zum Immobilienbereich, der bestehen bleibt | +| `ecosystem_stats` behauptet „1,7K+ Partner", „510+ Projekte", „98 %" | ruhend | Sektion wird auf keiner erreichbaren Seite gerendert – vor einer Wiederverwendung prüfen | +| B1/B2 Entscheidung | ✅ erledigt | Redaktionsschutz im Seeder, Magazin am Frontend | +| Logo mit Zusatz „Interior" | ✅ erledigt | Zulieferung eingetroffen und zugeschnitten | +| Sponsoring-Logos uneinheitlich | ✅ erledigt | Kacheln mit weißer Bühne, JPG ohne Transparenz fällt nicht mehr auf | + +**Spielregel aus der Umsetzungsliste:** eine Korrekturschleife je Bereich ist enthalten. +Weitere Runden vorher melden und beziffern. + +--- + +## 7. Definition of Done + +- [x] Alle Live-Seiten laden (`LiveSiteReviewTest` grün) +- [x] Marcel kann Marke anlegen, Logo per Picker setzen, Galerie pflegen – und die Änderung + erscheint auf der Website (Gegenprobe zu B2, getestet in `CmsBrandsIndexTest`) +- [x] Erneuter `CmsContentSeeder`-Lauf löscht keine redaktionellen Inhalte (Gegenprobe zu B1) +- [x] `./vendor/bin/pint` +- [x] `npm run build:b2in` (Build-Verzeichnis `build/b2in`) +- [x] `php artisan test --compact` vollständig grün — 810 Tests, 3037 Assertions +- [ ] Keine Treffer mehr für „Supply-Chain", „Local for Local", „Ökosystem", „Connecting Design" + auf den Live-Seiten. **Stand: 8 statt ursprünglich 90.** Davon + 5 in `/magazin` (die vier Dubai-Beiträge, bleiben bewusst), + 1 in `/privacy` und 2 in `/terms` (Rechtstexte, siehe Abschnitt 0, Schritt 2). + Erst abhakbar, wenn die Rechtstexte freigegeben sind. +- [ ] OG-Bild vorhanden +- [ ] Rechtstexte freigegeben und eingetragen + +--- + +## 7a. Vorschau-Instanz für die Abstimmung + +Für die erste Abstimmung läuft der neue Stand als **eigenständige Vorschau** unter +`preview.b2in.eu` – eigenes Verzeichnis, eigene `.env`, eigene Datenbank. Live bleibt unangetastet. + +**Ablauf Schritt für Schritt: `dev/2026-08-28/preview-deployment.md`.** +Dateien dafür: `dev/2026-08-28/deploy/b2in-interior-update.tar.gz` (geänderte Dateien plus +gebaute Assets) und `deploy/dateiliste.txt`. + +Zwei Punkte, die dabei leicht übersehen werden: + +- **Die Vorschau braucht `DOMAIN_B2IN=preview.b2in.eu` in ihrer `.env`.** Der + `ThemeServiceProvider` setzt `URL::forceRootUrl()` auf die konfigurierte Domain; ein unbekannter + Host fällt auf `APP_URL` zurück. Ohne diesen Eintrag rendert die Vorschau zwar, aber jeder + interne Link springt auf die Live-Seite. +- **Eigene Datenbank, keine geteilte.** `InteriorRelaunchCmsSeeder` überschreibt 23 CMS-Sektionen – + auf der Live-DB ausgeführt wäre der alte Stand weg. + +Neu dafür im Code: `config('app.indexable')`. Außerhalb von `APP_ENV=production` liefert jede Seite +`noindex, nofollow`, damit eine Vorschau nicht mit dem Original um Suchergebnisse konkurriert. +Über `SITE_INDEXABLE` einzeln steuerbar. + +--- + +## 8. Deployment-Checkliste (Livegang) + +> **Diese Liste beim Livegang von oben nach unten abarbeiten.** Sie wird mit jedem Arbeitspaket +> ergänzt – zuletzt aktualisiert nach AP1 und der Display-Umstellung. + +### 8.1 Vorher + +- [ ] **DB-Backup ziehen.** Die Seeder unter 8.2 schreiben in `flux_cms_contents`, + `display_versions` und `display_version_items`. +- [ ] `.env` prüfen: `SEED_ADMIN_NAME`, `SEED_ADMIN_EMAIL`, `SEED_ADMIN_PASSWORD` gesetzt + (neu seit B8 – vorher stand das Passwort im Repo). +- [ ] Wartungsfenster mit Marcel abstimmen: die Displays holen ihre Konfiguration zyklisch, + ein Neustart ist nicht nötig, aber ein sichtbarer Wechsel mitten im Ladengeschäft schon. + +### 8.2 Deployment + +```bash +php artisan migrate --force # legt u. a. cms_brands an (AP2) + +# 0. Kernmarken anlegen (CABINET, Rotpunkt Küchen, Febrü). +# Überschreibt nichts – bereits gepflegte Marken bleiben unberührt. +php artisan db:seed --class=CmsBrandSeeder --force + +# 1. Neue Texte ins CMS. Überschreibt GENAU die 19 in AP1 geänderten Sektionen, +# alles andere bleibt unangetastet. +php artisan db:seed --class=InteriorRelaunchCmsSeeder --force + +# 2. Display-Branding auf das Interior-Logo vereinheitlichen (Logo je Theme + neuer Claim). +php artisan db:seed --class=DisplayInteriorBrandingSeeder --force + +# 3. Medien-URLs host-unabhängig machen. Ohne diesen Schritt zeigen vier veröffentlichte +# Playlists weiterhin auf b2in.test und laden auf dem Live-Display nicht. +php artisan db:seed --class=DisplayMediaUrlNormalizerSeeder --force + +php artisan config:cache +php artisan view:clear +npm ci && npm run build:web +``` + +### 8.3 Nachher prüfen + +- [ ] Startseite: Reihenfolge, Kernmarken-Anker `#marken`, Sponsoring-Logos +- [ ] Markenseite `/marken` – Aufbau, Merkmale, „Alle Marken ansehen" von der Startseite +- [ ] Kernmarken-Detailseiten `/marken/cabinet`, `/marken/rotpunkt`, `/marken/februe` +- [ ] `/netzwerk`, `/interior`, `/partner`, `/service` leiten auf `/marken` +- [ ] Im Admin unter „Kernmarken" eine Marke ändern und prüfen, dass es auf der Seite ankommt +- [ ] Ankündigungsleiste erscheint (Dismiss-Key hängt seit B3 am Inhalt – wer die alte Leiste + weggeklickt hatte, sieht die neue wieder) +- [ ] Logo in Header, Footer **und** in einer Test-Mail +- [ ] Alte Magazin-URLs `/magazin/1` … `/magazin/5` leiten per 301 auf den Slug +- [ ] `/service` und `/portfolio` leiten um statt 500 zu liefern +- [ ] **Die vier Displays sichten:** „Display 4 – Innen", „Kundenstopper", „Display 2", + „Test-Display". Besonders das Modul „Cabinet-Influencerin" – dessen Video lag auf + `b2in.test`. Ob die Datei auf dem Live-Server überhaupt existiert, ließ sich lokal nicht + prüfen; fehlt sie, muss sie nachgeladen werden. +- [ ] Search Console: die alten Magazin-URLs waren indexiert, die 301 fängt sie ab +- [ ] Search Console: `/netzwerk` war indexiert und leitet jetzt auf `/marken` + +### 8.4 Zurückrollen + +Die Seeder sind nicht umkehrbar. Rückweg ist das Backup aus 8.1 – für die betroffenen Tabellen +genügt ein selektives Zurückspielen von `flux_cms_contents`, `display_versions` und +`display_version_items`. + +### 8.5 Nicht vergessen + +- [ ] Altes Seeder-Passwort rotieren, falls es anderswo benutzt wird – es steht weiterhin in der + Git-Historie (B8). +- [ ] WhatsApp-Nummer bestätigen lassen – erst dann erscheint der Button im Terminanfrage-Widget + und in den CTA-Blöcken (CMS: `global.contact.whatsapp`). +- [ ] `CONTACT_FORM_RECIPIENT` in der Live-`.env` prüfen: dorthin gehen auch die Terminanfragen + aus dem Widget. +- [ ] Datenschutzerklärung um einen Absatz zum WhatsApp-Link ergänzen, sobald die Nummer steht. +- [ ] **Rechtstexte:** AGB (`b2in_legal.php` Zeile 117) und Datenschutzerklärung (Zeile 221) + nennen weiter „Connecting Design and Property", Dubai/Lissabon und Supply-Chain-Management. + Von Marcel prüfen lassen, dann eintragen. +- [ ] Prüfen, welches Display auf der Website laufen soll (`referenzen.display_feed.display_id`). + Ohne Eintrag zeigt die Seite das erste aktive Display mit veröffentlichter Playlist. +- [ ] Die zwei neuen Magazin-Beiträge von Marcel gegenlesen lassen – sie sind Platzhalter. +- [ ] OG-Bild anlegen: das Layout verweist auf `img/assets/b2in-og-default.jpg`, die Datei + existiert nicht. Bis dahin zeigt jede geteilte Seite eine Vorschau ohne Bild. +- [ ] Sponsoring-Logo `tc-bad-waldliesborn-horn` liegt nur als JPG vor, also ohne transparenten + Hintergrund. Falls Marcel eine PNG-Variante hat, austauschen. +- [ ] Markengalerien vor dem Livegang durchsehen: jedes Bild muss in der richtigen Rubrik stehen. + Ohne gesetzte Kategorie erscheint ein Bild als „Visualisierung" – für ein echtes Projektfoto + also bewusst „Realisiertes Projekt" wählen. diff --git a/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg b/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg new file mode 100644 index 00000000..8cb2083a --- /dev/null +++ b/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg b/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg new file mode 100644 index 00000000..bfce235b --- /dev/null +++ b/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/preview-deployment.md b/dev/2026-08-28/preview-deployment.md new file mode 100644 index 00000000..737c334b --- /dev/null +++ b/dev/2026-08-28/preview-deployment.md @@ -0,0 +1,322 @@ +# Vorschau-Instanz auf dem Live-Server einrichten + +**Ziel:** `https://preview.b2in.eu` zeigt den neuen Stand zur Abstimmung. **Die Live-Seite bleibt +unangetastet** – es wird keine einzige Datei im Live-Verzeichnis überschrieben und keine Zeile in +der Live-Datenbank geändert. + +**Prinzip:** zweites, eigenständiges Verzeichnis · eigene `.env` · eigene Datenbank. + +``` +/var/www/b2in/ ← Live, bleibt wie es ist +/var/www/b2in-preview/ ← Kopie davon, darauf das Update +``` + +> Pfade unten sind Beispiele. Ersetze `/var/www/b2in` durch das echte Live-Verzeichnis und +> `b2in_live` / `b2in_preview` durch die echten Datenbanknamen. + +--- + +## 0. Warum nicht einfach die Live-Dateien tauschen + +Zwei Gründe, die diesen Aufwand rechtfertigen: + +1. **Der Relaunch-Seeder überschreibt CMS-Sektionen.** `InteriorRelaunchCmsSeeder` schreibt 23 + Sektionen mit den neuen Texten. Auf der Live-Datenbank ausgeführt wäre der alte Stand weg. +2. **Migrationen sind nicht umkehrbar.** `cms_brands` und die beiden Spalten `summary` / + `highlights` kommen neu dazu. + +Mit einer eigenen Datenbank kann beim Testen nichts passieren, was die Live-Seite betrifft. + +--- + +## 1. Voraussetzungen + +- [ ] DNS-Eintrag `preview.b2in.eu` → dieselbe Server-IP wie `b2in.eu` +- [ ] SSL-Zertifikat für die Subdomain (Let's Encrypt genügt) +- [ ] vhost mit `DocumentRoot /var/www/b2in-preview/public` +- [ ] Zweite MySQL-Datenbank plus Benutzer +- [ ] Genug Plattenplatz für eine Kopie des Live-Verzeichnisses (vor allem `storage/`) + +--- + +## 2. Sicherung ziehen + +Auch wenn wir live nichts anfassen – der Dump ist zugleich die Grundlage für die Vorschau-DB. + +```bash +cd /var/www/b2in +mysqldump -u USER -p b2in_live > ~/b2in_live_$(date +%F_%H%M).sql +ls -lh ~/b2in_live_*.sql # Größe prüfen, darf nicht 0 sein +``` + +--- + +## 3. Vorschau-Verzeichnis anlegen + +Kopie des Live-Standes, **inklusive `vendor/`**. Das erspart ein `composer install` auf dem +Server – für `livewire/flux-pro` bräuchte es sonst die Zugangsdaten aus `auth.json`. + +```bash +cp -a /var/www/b2in /var/www/b2in-preview +cd /var/www/b2in-preview + +# Laufzeit-Reste der Kopie entfernen +rm -rf bootstrap/cache/*.php +rm -f public/storage # Symlink wird in Schritt 7 neu gesetzt +``` + +**Zu `storage/app/public` (Medienbibliothek, Display-Videos):** Durch `cp -a` liegt eine echte +Kopie in der Vorschau – sauber getrennt, kostet aber den Speicherplatz. Wenn das zu groß ist: + +```bash +rm -rf storage/app/public +ln -s /var/www/b2in/storage/app/public storage/app/public +``` + +⚠️ Mit dem Symlink landen **Uploads aus der Vorschau in den Live-Dateien**. Zum Anschauen in +Ordnung, zum Testen von Uploads nicht. Im Zweifel kopieren. + +--- + +## 4. `.env` der Vorschau anpassen + +Der wichtigste Schritt. Der `ThemeServiceProvider` sucht den aufgerufenen Host in +`config/domains.php` und setzt `URL::forceRootUrl()` samt Asset-Origin auf die dort hinterlegte +URL. Fehlt `DOMAIN_B2IN_URL`, greift der Vorgabewert **`https://b2in.test`** – eine Domain, die es +im Internet nicht gibt. Dann laden Bilder, Favicon und `livewire.min.js` nicht mehr. + +```bash +cd /var/www/b2in-preview +nano .env +``` + +Diese Werte ändern: + +```dotenv +APP_ENV=preview +APP_DEBUG=false +APP_URL=https://preview.b2in.eu +APP_DOMAIN_NAME=preview.b2in.eu + +# Vorschau-Domain, damit Routing, Links und Assets stimmen +DOMAIN_B2IN=preview.b2in.eu +DOMAIN_B2IN_URL=https://preview.b2in.eu + +# Assets ebenfalls auf die Vorschau-Domain, sonst laedt der Browser sie von woanders +ASSET_URL=https://preview.b2in.eu + +# Eigene Datenbank +DB_DATABASE=b2in_preview +DB_USERNAME=… +DB_PASSWORD=… + +# Eigener Cache-/Session-Namensraum, damit sich Live und Vorschau nicht ins Gehege kommen +CACHE_PREFIX=b2in_preview +SESSION_COOKIE=b2in_preview_session + +# Keine Mails aus der Vorschau verschicken +MAIL_MAILER=log +``` + +`APP_ENV=preview` sorgt automatisch für `noindex, nofollow` in jeder Seite +(`config/app.php` → `app.indexable`). Wer ganz sichergehen will, setzt zusätzlich +`SITE_INDEXABLE=false`. + +**Nicht ändern:** `APP_KEY` – sonst sind verschlüsselte Werte in der kopierten Datenbank +nicht mehr lesbar. + +--- + +## 5. Datenbank der Vorschau befüllen + +```bash +mysql -u USER -p -e "CREATE DATABASE b2in_preview CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" +mysql -u USER -p b2in_preview < ~/b2in_live_JJJJ-MM-TT_HHMM.sql +``` + +Gegenprobe, dass die Vorschau wirklich auf ihrer eigenen DB steht: + +```bash +cd /var/www/b2in-preview +php artisan tinker --execute="echo config('database.connections.mysql.database');" +# muss b2in_preview ausgeben – wenn hier b2in_live steht: STOPP +``` + +--- + +## 6. Update einspielen + +Das Archiv `dev/2026-08-28/deploy/b2in-interior-update.tar.gz` enthält genau die geänderten und +neuen Dateien plus die gebauten Assets (`public/build/b2in`, `public/build/portal`). **Node wird +auf dem Server nicht gebraucht.** Die enthaltene Dateiliste steht in `deploy/dateiliste.txt`. + +```bash +# Archiv hochladen, dann: +cd /var/www/b2in-preview +tar xzf ~/b2in-interior-update.tar.gz +``` + +Das Archiv enthält bewusst **keine** `.env`, kein `vendor/` und nichts aus `storage/`. + +--- + +## 7. Artisan-Schritte + +```bash +cd /var/www/b2in-preview + +php artisan config:clear +php artisan storage:link + +php artisan migrate --force # legt cms_brands an, ergänzt summary/highlights + +# Kernmarken anlegen – überschreibt nichts, was schon gepflegt ist +php artisan db:seed --class=CmsBrandSeeder --force + +# Die neuen Texte ins CMS: genau die 23 umgetexteten Sektionen +php artisan db:seed --class=InteriorRelaunchCmsSeeder --force + +# Magazin: die zwei neuen Beiträge plus Reihenfolge +php artisan db:seed --class=CmsArticleSeeder --force + +# Display-Branding auf das Interior-Logo +php artisan db:seed --class=DisplayInteriorBrandingSeeder --force + +# Medien-URLs host-unabhängig (sonst zeigen vier Playlists auf b2in.test) +php artisan db:seed --class=DisplayMediaUrlNormalizerSeeder --force + +php artisan config:cache +php artisan route:cache +php artisan view:clear +``` + +**Optional, nur für die Abstimmung:** Beispielbilder in die Markengalerien, damit Galerie, +Referenzen-Seite und Lightbox nicht leer sind. Alle Bildunterschriften beginnen mit „BEISPIEL". + +```bash +php artisan db:seed --class=DemoBrandGallerySeeder --force +``` + +Wieder entfernen: + +```bash +php artisan tinker --execute="App\Models\CmsBrand::query()->update(['gallery' => null]);" +``` + +--- + +## 8. Vorschau abschirmen + +**Suchmaschinen** – `noindex` kommt schon aus `APP_ENV=preview`, die `robots.txt` gehört +zusätzlich umgestellt: + +```bash +printf 'User-agent: *\nDisallow: /\n' > /var/www/b2in-preview/public/robots.txt +``` + +**Passwortschutz** (empfohlen, damit die Vorschau nicht zufällig gefunden wird): + +```bash +htpasswd -c /etc/apache2/.htpasswd-preview vorschau +``` + +Apache: + +```apache + + AuthType Basic + AuthName "B2in Vorschau" + AuthUserFile /etc/apache2/.htpasswd-preview + Require valid-user + +``` + +Nginx: + +```nginx +auth_basic "B2in Vorschau"; +auth_basic_user_file /etc/nginx/.htpasswd-preview; +``` + +--- + +## 9. Prüfen + +| Seite | Erwartung | +|---|---| +| `/` | Hero → Marken-Teaser → Vision → Sponsoring → Showroom-Display → Immobilien → CTA | +| `/marken` | Grauer Seitenkopf mit Bild, drei gerahmte Markenblöcke | +| `/marken/cabinet` | Detailseite, Galerie mit den zwei Rubriken (falls Demo-Seeder lief) | +| `/referenzen` | Realisierte Projekte, darunter das Showroom-Display im Hochformat | +| `/magazin` | Die zwei Interior-Beiträge stehen oben | +| `/faq` | Rubriken „Für Ihr Zuhause" und „Für Projekte und Objekte" | +| `/about` | Werte: Beratung statt Verkauf, Maßarbeit, … | +| `/contact` | Betreffliste beginnt mit Beratungstermin | +| `/immobilien` | unverändert | + +Und diese vier Punkte: + +- [ ] Terminanfrage-Widget unten rechts öffnet sich, Absenden zeigt die Bestätigung +- [ ] Alle Links bleiben auf `preview.b2in.eu` – **springt einer auf `b2in.eu`, stimmt Schritt 4 nicht** +- [ ] Seitenquelltext enthält `` +- [ ] Die Live-Seite `https://b2in.eu` sieht unverändert aus + +--- + +## 10. Aufräumen + +Vorschau wieder abbauen: + +```bash +rm -rf /var/www/b2in-preview +mysql -u USER -p -e "DROP DATABASE b2in_preview;" +# vhost und DNS-Eintrag entfernen +``` + +Beim späteren echten Livegang gilt **Abschnitt 8 des Entwicklungsplans**, nicht dieses Dokument. +Vorher offen: Rechtstexte, OG-Bild, Seeder-Passwort rotieren. + +--- + +## Wenn etwas nicht stimmt + +| Symptom | Ursache | +|---|---| +| **„Kein Server mit dem angegebenen Hostnamen gefunden" für Bilder, Favicon, `livewire.min.js`** | `DOMAIN_B2IN_URL` fehlt oder ist falsch geschrieben → Vorgabewert `https://b2in.test`. Siehe Diagnose unten. | +| Links springen auf `b2in.eu` | `DOMAIN_B2IN` / `DOMAIN_B2IN_URL` in Schritt 4 nicht gesetzt, oder `config:cache` fehlt | +| Seite ohne Styles | `public/build/b2in` fehlt – Archiv nicht vollständig entpackt | +| „Vite manifest not found" | dasselbe, oder `build/portal` fehlt für das Admin-Panel | +| Bilder fehlen | `php artisan storage:link` vergessen, oder `storage/app/public` nicht mitkopiert | +| Display-Kachel bleibt leer | Kein aktives Display mit veröffentlichter Playlist – dann wird die Sektion bewusst gar nicht angezeigt | +| Änderungen wirken nicht | `php artisan config:clear && php artisan config:cache` | + +### Diagnose: Assets zeigen auf den falschen Host + +```bash +cd /var/www/b2in-preview + +# 1. Was steht in der .env? +grep -E '^(APP_ENV|APP_URL|APP_DOMAIN_NAME|ASSET_URL|DOMAIN_B2IN|DOMAIN_B2IN_URL)=' .env + +# 2. Was macht die Anwendung daraus? (zeigt den zwischengespeicherten Stand) +php artisan tinker --execute="echo config('domains.domains.b2in.domain_name').' -> '.config('domains.domains.b2in.url').PHP_EOL;" + +# 3. Liegt ein alter Config-Cache herum? +ls -l bootstrap/cache/config.php 2>/dev/null +``` + +Steht in Zeile 2 etwas mit `.test`, fehlen die beiden `DOMAIN_B2IN*`-Zeilen. Beheben: + +```bash +cd /var/www/b2in-preview +php artisan config:clear # zuerst den Cache weg, sonst wirkt die .env nicht +nano .env # DOMAIN_B2IN, DOMAIN_B2IN_URL, ASSET_URL, APP_URL setzen +php artisan config:cache +php artisan view:clear +``` + +**Sicherheitsnetz seit dieser Runde:** Findet der `ThemeServiceProvider` den aufgerufenen Host +nicht in der Konfiguration, verwendet er außerhalb von `APP_ENV=production` den tatsächlich +aufgerufenen Origin – die Vorschau verlinkt sich dann auf sich selbst statt auf eine fremde +Domain. In `production` bleibt es bei der konfigurierten URL, damit ein gefälschter Host-Header +keine Links auf fremde Domains erzeugen kann. Die `.env` sollte trotzdem stimmen. diff --git a/dev/2026-08-28/sponsoren-logos/Arminia_Club_1905.png b/dev/2026-08-28/sponsoren-logos/Arminia_Club_1905.png new file mode 100644 index 0000000000000000000000000000000000000000..5af48d6dfc78c35c26759e7cea1da1a9e408f3c4 GIT binary patch literal 127603 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

*Z6 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

SI>jkl}pDYRYB(ab?D#fOBfBsHkTD;MEX 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�b!F{1Yrx&KWW0Blkubd;F;8w?B@gv#}H|H&$8{9))h@RKszw03aG1*K|QNWntqTBP!>g^TQKvfo) z8w;+Vtf6vg5Q+pQ#u+A6LGLA?m|8=9IOBhK`^WgF@AzGwKVD;qw1cM|0@JEw*-EEE zl}ehc&Jz-*R!!$P$UH zN(d6z8Ut3)Dj~cC7#2_zkXZCsDPOrsDd)*p{E*6#MkY)~AEZ?<%9O%k@KSY-QG!vj zUUXw9ENKKU7&bf+024O@T3iZZ>$=3vCm0kxfvR*2Au{wm-dIdAmjEhwhQY9Z>2Av9 zQ#3ao#gtPi1+{BTwTG>DaI=|AEDRo3IEvIMrZ_hj zL+T2mGO$zNVO$AO<_kxRuoR1u+oucsAX$==V3A^8@%WQB`1OxJ#kYOg1Ke6jyT*2{ zKX(q>4!$U4PP4-7O59Oh_@XE{?IJI~`;aRaW<2-QF?PSgAVV6kk&~6@`IDAc++T3K zUXS{G*DBhAI@gR+lWREms)FC_nyNEJa{#>Vp7KgFzAd1BdlDT3|2Sz(fIo) zV_SPK&t<7hb!S=KT1Z=KY4ON9k?QkEzt@pF`XFJ&O-1q z9noqTXU@<|J1jGcF%DZ4_z-XyjMK9y4kiEvhRIG%m{k%SDGFps!GA^yO|ZBDObqxT zl{Csq)(|^7Gmz3oQ3{FFDI~4Dkkru7ZnWeddQ_zlqyvRpRFsiy0NDU?v~D^syT#_b<|X;9cN5%=DZDYeR><@BsGkUg#E>q`)X> zkikZh?UZ&~f!F2wwB)4D-T=YNd=yiZxPJNJ{>p29^Y?Pj@cVb@CjF6Mes$E}x_Jvb z+2!KF4$fL`9Gwt?XFi?Kv@HQRU9N>;>xyyc0;dgM_okQf;!8U`acea?Jk3JXuy6N) z1810-YV5Z&6p+Yk-SxcVqt8M=AXFfm`ZncfqKf&GVBhGmwv?|Mi!(u{VoAz?O|2X4 z&D;FwdmiOaf7t`c$Zl%X+YDoM8u^4c!bf|Sd@W=y~`HNruO8&oZ{Vitm z9h$Zi7Bm6BZaG?ZlnDyX9gxD0uo;M=>$$(bkN18g1u1&absfjY$L#FvFqur~hk^CF zp)QQDwlx|yq+Ve$EVd{SPL<)&=WcVf>?kaF7<;+%I;Dy;&`;qv|@InLx{P5OHXiGk}dp_fd&sO3qNmbx|;QHx;^$>}E!23WKU{V&eea{dg zbyafi`Y9jy%#G0?`{YzXh;bnbk;xcvb-~lO7W~6s_$c#9$?auFSy)cj9nOln+o~OS z{&+30Z6UI(0YhOTr_DfJ7C38IwgWd#8@gejw1$&)k8#o=(ewj-uvEJfF{m+MNJ1)r zO#!5jk$Qi|?_NFS8~^^>A+<=!gSTl&2Lg#&D}Nt)K~RJyEfW63TG`%+ftVfH?1kG5ZF{?#wQMhwKmNy7nDuN zb}~c51W!>(R$Qc+j;5$(+FL5kU>O6rDkWsHl&PIcqORm1V#=Bs9aBgX*#xPIEqbY11_()vZkmBo$Im!2=LeM(>JJI)ISg^udSp6E9h5+JT3NtgSca=s7Eg65O&21PIX6?W%5#XYYA-{B?HNO~FR z%vqOwMo4ncx})NF?-I;vA|a$WEB52NHp2MiyY-Dw;2fGtK@$3oj`^*j4 zouK5TXkrroP>58Ir-7oD4Vz^-F4bLP43Z%OoZI1NfBR|P_vlq#dd~qj7u}g_*{&I? zv+lZXoWBf={D55W284laog;Yoi*J4fKlGbVbMs`GA~{10hROb%D+g0FB%h)M?KQ)WzEaQ&p^bk%Zh zcfx7YQxuMRch01$82XMO1Z*utHkT%*4gEkppJG511xs;KWy(yY9x5=Vkhv(uWyg2^;JcVs1=o&OOe;rOSWZ?w*H6~T$r%>wmRViW`N*Q_nNLb0aJuSP zwml|_k-!yH&WOYGk!dMGM>7N_Rl%%agf4Ai30@p&NMxMJq@?kI@A((+fx)LTOH6R8 z730X{)zS&Ad`L7c9&qzM_L@fac9s$@DV1s=Cf;P=>LoOCca)K5k_@4-ao z`_h##cu(aDFcQE{%7QkD=9u(cx?vbgMaG)cdk;gHQ8}r{hY+c&VkF^NYuTM9y^9FW zMcRHy#yQpS6TspI&wN^9rUxUx!Wa>OF+kT3iRqm>9OAfQ3H4E8RK~}N(kho$9ZMki z7E?|rs!1ApC8a|X8*FpRP|OLo5Pp!6tPdk&klW~SCg5BtJJm~B$6)X=m0VmY*JgwW z8B)1IOOk?+nNgfYMyDF-3pe7pv5F=LH-O~CF%A>t*&*ER%~5(mwWXhHH;uX8Sk`0})>S^>F?{Vz)w+{VXvigfEELjgJv)ETwe}QHyoS znHy>Sb~f>rLL^vAH17Su+IM7k@i|{#C@C&^tKbV~Jw@S~X34Q#VUan<%T+^FmU#NH z*iQ&V6Y1NYz4J3(bN?ZWE-6-xoBOQDh$?w)*93D2G>^Z< zKy^NN&h726ynf8EK4m`N!8*shoJ(nA@YJQ$GD8rRB@-i)NsS){ieghAHgV42?VD6Wu;p;IULrU{UGo z9XMXLgfMXKV4vG3OKvV2tScxjoHU*o1*TfGk*biWdb#c}?lIo|$>*{A({!N4pS!x` zr1SiZAA3L6z*D!^V*Ccrt!2x+7K7gf!=w}@@UjcsI$dLl^jMm1z(vp6%QLT?#bY^M zHZ((ES`{qUq7FEnDgQv6f^)jJQgCV zJX0XB83UHSm*Cq?Ht3-&sU4iGd$4I*+z>SXlEBHzG`}GkGjYS}X2e)KYpD+;(2{#J zV;R(0LqGVjW@?i0mc(vzo<@hjW{}QiP?1a!3n38tPCmy~Sl?j60I|lK66Zu+(ilTk zSW!_+YhD%wT|eLwv8?MQ@GG65X@i$OZaJIcbh=(!P2C6y8@plR2VmWFOe%Trbvv*# zDTt|5;gSs*Qr&+@S*rJbED;dX%yM-yAux~}w-wC`A2zj9wO^YcTp(p)z?G$BxrOXC zKgifreJ;*9BGnjBw#n&LWq}`(C=3E>IBT$2f~^P``rfBHvJhV7*`^^(X`jUit`PKZ z3~H=uVn~n@(^jwv8IU@;tc#2Y4daj<11UBPXbs#NgDKK}h#}eCB)$^-nBkg)1{h<; z^JJ|>ZX=>ILu79A`eel2NtN+5-ZC(5|^_cf!T}Ii3wM zDko>s80ZVfZ+!Y1M9)2kbDBX~zGjn}s+ftPv4&<yZQnbrmK`HX9~Pgxu-nN$_W zt2Xt5MmjG9mZ9%yhse#-^_bC~HUou)Rol@Hkx3z-+3nLc*Nzrk+@EoM=_#s;=mRDu z0!zx!F@*$b7>dfVSgiQY|LL7zEPa4^Eh8SEzrA2UAk0$fCgP=bqMylFz-1hvVAODbKkWRf-5E4!@0=Pm> zlN4*y$ubb7-xFJkgA6`Fp$-a%DICkL2Wu%xhcZ-ylHpQN8N3(Pc2U3}GwpGSIqeED z41=hVsUw`8-^ps)79XX4>6|!HKS=vlh^nXt#MC95kX;i?$|Avyrl1=CUNU$uTo)rF zIzxyQ>3Q3*_Y&KyPGQwKzd z7)L@L9X~BW?&i_JrfW%-${6s&IK)Ks0!*3(AY2im*1@IAK!RM8_6nl|mq0ENArm|vVnTq3 ziEEm1qf8W3#BAmx1ebcwA(hp_SZ9~;#DK9$AHa;CC&9lR;q$VrFt(s+n`B2w=iW;Y zmF$}+Jq9Qy)CU(CZaqo=)Q6!c83xa=Ji^W{N>G->ztnsgJJuG`b2l<*%Wm>xgG3vC z7&c`LV~DOKgmBZp`~Ux={`mP60Dd>W*Xs+Zq3eH57`p3~Z=RnW?my5RORX+;etcj< zA{5vN4(SiPE2XJ^nqU*D@%lvE5z>Ot`in$x z7`zvjsC6*0eD*WfMgMoV-qfui8N5jF5-Ig5Y*R@=?@HMaF%Z1eR(dab-GqVY(qN5Q z$x}ybe&It;u{Uwd=5v;-HAl;q-jr0%uxvU`*S*vgTM=R@Z3J6zYuO12hrqJw2*!;B z!u{Pj^GVHW-SGU;DQ(*^J=|e^ye3!~JL!snzxmep@&j-G7$hdAg zV>jw_j)*&`g~X!Kd;}9k6ep%b9)lVQ(9AXZUf|lI7Ne2&va>EhpGeCYo4)0`#nx_RGT2 z_M%Lu{Fimx3$q=O2sMV02q*tbii&+t*GD-ENTwcROh`vko>Md<{jM=ivfmW=M6J=L z$5@qabWC{$34qN(XG^F4f zM%Wxupkb0yV2qiBh(Ok!)IDQ`FgR9nti>XxCd4QMhEm2WRF#&%~3{9=+U zmp=xd0QF$J}dW$YeBw|v1#U%#u zFr>OhpxmGGs{79KnI~`Y?1|K#UE0Kpc3`<~1R8b~P1jL4CjtT?jIw@xH1uAgzmui3 zz13yGtwlrWESL9ce*Sl!=El*A>A_A)!UDmVM7|JbUKCG(E3{vl^N$|F` z`6%2!nN?gnS@9qLvv;#oIc&-@Pm^ROF+kIz#+<>6!*W_{wDPqe1{3ck^DWcQIG3D( zfqKHU-f(-Y?}>iRM;<)}a|A_#W{qJa+eF<>uue`#r14zZ@G%WqZ~}1>u|=5-Qlu#7 zl4%-&vV!-R7>ItrRJAyYR8P`FgfUFc&14PzK(rH#b=c?$#zAn&shV^^6?KV;(-y!8 zqZ8}ovtkD^$f(x3l2VDu53KyY(Yju8(lHDg9!on^3}~mABx@#3O0%PMrFE6mA43oa zVciIE#Sj@%MnP07$QU#Lc0;RsSY0L^oc|KFa&)`gApr_ig&T4nb5!l3>b`F^xo%-a3?V9SkDf>0irE?*dHz*=P zGRTQBt!#Reu+EXNstzEETA0A98xa?S!pvbjcZ%VLXmCdR+bv}j5fq$2z`c(Yg=O$V zVla!t?g!7h=~BOWOz^8Xcc0+)7zIg)c`IF%xVEqogjnasHp59ZAre`)Jtc-{+z6dI zV^feKLC_E*K|+oZiZ%(+uukr2NaRVW<1z+7F$8=Vl9L2&qmuWL{nw?5a4`f{O)FaS zkd)1&;~+%vgQw{|CJYj!87I>(Q{bU|fta3Ij2m4D{TX8@2>ELAwphN~~j({u*(OM{LCbL~!dqnq%cdF?kHVf>f zM{xJN5+6LI7FDrtnHGt0L{h0C?XR3b9efZWCok5dsA`OFXg~QY@A^GG@z(1P;?N_- z^!_;6z3cdN!Mf=fnc~QzVePmPjTPg z;v6KoQ;d~9$(X)Rl-*XB)cZTMH&38##4t>2=DU>)p{Qy}NZU%_37 z5`>9iY-cdOOTNM2QeCg<113mwNLg06=tYXLm=L>$U<}1{msu6)N2yzzDQu;z&JSds zLN=)}7~dzypEQD#bZKD%J{Y2N0YkV4_gb$X5Vxr5r|u z7tPr8hQ&*JNii8=LsiresH!3w$v}*C8{=Rd7*eZ=kveqEJ2+v?S^Mgt6;IJtCB#)tNSFHoSopHF?p#yMg%W5Bc#oG}@xCkd}a zaRDkXniw7%gJ;Bug%CytGbmA7_M=HgBE*>FUD6t%% z*S{qaRpDH!Bnh9RAH*3MS5Uy{Akz*U(Nt$tH$0AvcyW@9K}TV=+>j~UC1R~t)k15D zKHyy938eES$Jr7L(&m~Fp%J1_KPQN*OGQZR7$XRD0)XAA2A1=Hr-p2f~1z?!$er zg`&a+pQh1iU%A~}bMjm1QveB&b-0x8`%R)?EoQpM@Z^WvaPx^j6o-B$+c%T>K^F{9 zJ$D`7uCSI=8)Ia9`V_IMD84~hpSL@onz}7rfVLk-IM$V=WE9GLH-@U7N<=<*;AgB#NUC3rc+rjk-fP`FGoKp!Pul{$Gk zIIbi{4}BWb8ugrQ>XItONtCQpnB)+xgXjq%VQ(q2HnlLyt%;-2)B`HM$!#2#u|zB5 zOnoQBzRUy(WIC!$A#3Lcamdzf#(%~r12r_tHz_+0Uh1F{>7q4O*g*VaKWb7Q(^_Us z5VpPoq}H9(KWk0OX5_5+MAX}8=#Tb7rsN@+ydYJn0-k?EMf@fC$6T<0z<{Bd|d~gs5$qR%KG7lYq!sv+46U(r&0WE+%wG1B0rttecLQ z0<9RM=)Y&Y0hv2b%4!8(RdfX>sA2R$-Z!BKjG3-U401!6f;WMc!wB`4g-l1=pVh3} zfz#DGk$)3!B3k<36Dyr0C?u2IoJ*3+!Q*ih&Qc_YZ=)a=bzKsXE(*(rPH90j?~|2v zg&+sS#1IcLk>e7dGnH6PD&xpTkY`|%?UOI1^N>hyq%#$~*ub(VC<-Z!svd-NHVimp z=mt;k19c&vJ$TQop5V%ordf~Akr-3?LM&4w0)m(M{6T)TZrFeU!hlTQMlfDY1(vKQJ^$Zwk|0kN6RLS zvy%uiC$A6w{ytqmR>U(3F^-rg15o zMjVrj2DL;JDO`c?J3{E?kRjQl9PC5_vQ9F>(1Q&E?Hiwr_J&DoGJ}vJ4k^!Q#-9vW z>>GTHn4;2-QcTJ&yu!Lhpjl(|9aC*Q$wH1%GYb2qOxO=%JkqFPKlJpG1mhvrN1#*z3l_<^b@@WCWU6H*YFSi>XPpP13$Qa;}r zHSZgOl?Ho4P;wiz$0SZd3fPh=enM|H#JNPd8j&;a!$>-kPB@)fr}NQ8P-j+)jzE*h zqhr7pg|#hveWM;m6lVvpXu1(?h(Y(R=%|OJ25Adv%dN{oU{*9}iqvVyh!6{&!Ta!v6Y8FyPFWb%%)ABeYEuKD{wI;>rR4p|FzFRZcDShv$3QIkyStq-14B&ey zp`_r@`xKBHNivKrsAfBa=9J-?kBwzEJ2V7aVyijUM1qlosw^b9_g)e_L%@|q>SOnq zq9R70N<_l1I)AuNU6qv9@bs+(MYke6^U;q1SNQ^7e=zCSVW2RPYBr@?CDK6JgiY5= zWLInqv(zP}Hs-3D`Aj}mrVJVSL7;Taqy>T$C(|eRWj>vZb*&4#Q`+8h`}ml`IrLWe8Bu=JYCaY6=k*a0L_v!SuMwp*qi!K@AK>0-T+lU7D_w-eBhv`9&OA zh$g|kAmO|h0#OVpgG*G(lx~jMgCCepYI>jxTGJB_K@1^9(@7>b=p0>hT-|LHzuC6A zw3cmawQR0h=CW-s+xDtu+}yI4wd`fTzutZNV}05#o}P2g7w4YS0>&2A>G1+SeJLQN zcp*zqujBm@*$4w9>te+jOYfCzqcI@pX(Yp-=xR#50zEA%58;0;Fcch+fz2U_Jky=A z&?9ro1j`%-rh)1FtMwrfE;srYPkcDq2%VN=2kS7t^5=MQYeunhT8y`%aXQULDsb^M z?x8v4G_J9IsKL=2RWCH_yqCgtFc*yGx9l9tijcU$7z|&v>U-8%$*ffNBEIfkB-Q|Z z*AuD@c;*4>B5Y1l0`}`)iObDS%ASjb=$bJ&bOa_7!@s3E-;z3y*}2M@%3M5?gXSq1 z$kUS_FXOX{eqM5~a5p&@_ds3Way^L$;u8c?L5lXuO)l-v=o>p~oP9pjioZ__iPX?u zPQpo^h_sMni14UBq>62*k>IplyG@d$;MuBv}H!+c30HLDgQMd?hC9=*2dm((M7ptp$COytIJv} zKrmhDk(4_YmfHY_b-M_VKInxX=>uAABo@e^$6~}9#RoA>nwNS{X>jS zFVeJOwZ%_`SDPR#QU8#j;BP7T)m*3E#&fx=&{^z+u#q%@D}=MRm$*Xz0_7E}d+aAK zcwo36r(f=RQ$KQe?;*BpxOpXxb&IoVdtOvHRZmaB-NUes6_*Po z!k}-Q;Tip@|B{gXcTZ>%$;lV%j9-OljvVr0XP-}v4=9oz3w|2wYs=1M$f&|1*myHn z7)#CSYNErAlqjIHDb1yn{&fy#dzK(s`O`pX63Fl&kFM$~o9w9`#W>A^e@`TDEW-N6 z7zUa#av{EzHovHmH_)p#%On9itNxu?vPl`tCiXLG&{+CjfJUR52#U%@>8H|M) z_A`A8u{nOJSNfG?#7a3g@fuv&pmyxD50ox+j?9k4!QY>V) zpK{y!QeEi9 zqiGH!_;EfS!a$M+1@TY{QzXc#qq?ivI%n1-{7iCUcW0jDVc07%XUYC*9o`ai!n&y! zP*&v8$gIDz(s=z<9@`IncX`+6D&Py7!w|WwG1)h223G0}DWh<{*p)ieSPGqzLGx6@h6vvIqua+s z2Q*D=27#?hH5p>ixr@Xx2!6mn)gZy?33U&dC<+4u=)PYDv}-9cU97gRFGFq z9wUuR%`=$D!;5c>C?(cVL5pkS%6}d@vyq!csmi3W6;L)>UQ1_3hH8#gw0H#k0s^r- zV81oq?KgFvqu%cwdZh>YPs&iEHyOODW|FcSND}VnyGThP#eDkTkJa)RM1vkt1PH!~ zOY15bywF|Fc7Jia!MdjoR1eR?OAh+Uz@vlQas3VLYU6F=l_J;Y+40pc_m%$jUvpi!JbL}a-?D&D`0}j7*0RvYZBtjO|9$l3%j3T@b4J43s zgfJ8?GcD(_wf-ao12;kQaz*|DI>ayt4FQGSoT&5HNsx(zxxs)cu&xV=se8F7ENfT2tODOq|_6dAo(9g169)oF?`HC#;UL@oWl#8|!E|HcW z{J)1md_?nuHqixcjM5}G(Oa8BR+S@`f*G#pHNwnwSC>Gse;hl@VP!gh(MRbgv>A|s zQgH?FAoZcWnKA3iy(xTVGU=TQOF+@y)ccIC)G5o3-4^>|*PV6GNVHypzg;Y8&Z};B zX(yy`p?|;pQGOoP&aP@rk3I-eoKz$Jwm2$dK7J6Qj@DTj4#x5x^|@Q``@ZJ1b0DGf z6c{-Ttx~KzoSF|uD`6D`UA+4W(`GId>h}!QGJ=Zy$?=@+?BD19R~>qGyT`*1O7vMN zaNPRjT$U=qEOpJ@LlZW?RVO#LmyV_Nc)KUP`F2$mg^?zGp0S=O_^xA;A>=Q>l;Yf| zB~SPH=59iTjKrfZLsr>pZ3Q9}KJbi-pV;!Nw;u|3wS+I$?Wy0qiy|@)bdLK#-;`OZ zzrnUCPE^z|v{A6sey}!d6fBKO=8=!j*^u~GP*q0iMSGd92tH%FT8f_kPXFTvNK%wD zldZ}6%y5y}-$aQGRc#{+mUZ^>BHWoQE__;|+G8EWeLC^H zFA|Ame`%=L!y|}VIE!))9wxrb_?%0PU!fb_UHEH~bVZbIT)C323vWvMUQ~Cy#uyF= zKheHXy$u*X2$?nT)>M=o(brUfaqsD>R9RmWTIn6WNh&MMOhIG^|E=2%rYI58)ZC7# zTUSty*4{;j400TEyS^7Kd=xy#vR@r0G+1_?4x)Q#ZF=Al))cq+x%R^y{3@~fG?vU5lw=t%y%4T__u`dR3h*c5T!2$$W2tn4ez zmK_{ebYf#;899T;4E9$z=z)cBo`|{V2j3@EwcXH_T_~C7zrtS9qbyxyvrw{ zDNK`CT19~%m4yN8u8yePbgX(O0o`bqsgz+sElv$1N7?a%*hk4X9F_@&LD5P+a5*uE zXo!V&zx}X{Jix|Q{Hs^*LsExSrWC&Q{BFwGxnK`Z_cpVDbUHDOJ}PL~@-lJ)jOX&l9M z7`tUcZ#R(fumu8Y+nlv$`!SdhjlQxbvJSl*R{ zp3AdBXXR-+yVT!GgRsNtZQ9E_hpwM!meQM06SA+J*J z9F{@4FWS$dK~(hJChS# z>2jl{z`e%NC_j!(0L>~VLWu&eTsWwQ8Mca#g&pGw?x)VcFNjdZl$|Q`r_+-ZF@sLe z^sorc*{|{7Q8y>OeSN8)Y?x@!%$DM~+q)~aTi934t>809vvyzP7dWr;2G#68HAzrH z^qT+{1ROD*emaL#iP@%Cj9IWnBIjUGX(Gsw>tN{VY&0{uIV zPBxZ|xP8~x9H_j1(HZsIuuV)%4o**DK&!4Rwk=l^{H*-^Q4*8^R!vs;IXgUi0#1m^ zkGa4;xxH`LA3#vkmnRogaeRpNTF8pRFO9s;G=wpf*$78q;j2}o`)0o}hfy~d&3 zym`R%O&0>>3^y*`-RZLmF25okq}D(T_U;Ob1z4;QJg6C9iD`TR?qNcIEKv?pY3daC z2`szEDneg&qv;6f!>D>_0q#hvPJ(ITD5x)u2yYJ#tDv*7dV?C5{LGEG43}oo|sHRC5fHyOn5H<$`L9<%0Av9S8 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

sl&ajtRPhlOYLMUKK2(6 z%GRvvtw@!HM<2{s){#TIZS1E;iO*Zz_Mye6UC!9!Y16xVX>k3s^0l$e1TDXS6uz4e zcbVQ5pH?zS;BGUs!ThjGZ~oz$P@TG%&6uRIGtW&1t-gvtcnNh>A>;yp2eL|C(eOeg2r zeJ}0!-o9iUBH%dsP%jv&<}j^$hryZb)H zjNw|W*uf*Hmex32-|)4GtbB|INlN}>krm^naolRY^fjBhW`5??OXGnDipt8(cno^~ zELVKK6g3Wpht(6=V8jjMYN+F&Hybs(^z-A?R1z@L-iTizpAO_}fp#l+NT08ia5zZRCcLhwO_d*J<6;~ zwslDX8o=HFK3UU0{+$wS2`}3$&-&HgO z{&@15CnN4Qzg=EOP@I)X=%Dmv24^*|L~daL6P==XLgf{XcDdVPYb$L{Br){caPJ*K zbH$yach}sNbPfLGK^4`BCI7vlRy94Q^rgTr&gn0n=?vg=sH8N4()FjH562Gd zqs#|AXCf*H~{xj(JWthzf*{xb=+>Z3JeC%u__U^Fgn^jpT@_LOu!cGc4_ouH}q%BZRGjmqYQ z3%AYl-W?Rw$hEyos+eMsC|wz3Bz5@++&Y9EAjsqH*{Yit(3aw%VlJ4LMDOxJtj3Ak@Q!jdj_b%}?cauIPcj_6&( zeyog8Gp1)#ZTN+Y0uO2^&~8kgy)ifiLqrd6Bnj^bHfT{7Of-s$(qFk%UmJgg^6ezj zb7LHHQs#2BvxL-!Gc+k!?-*BWAmTvrYUokxH5r2;w$eO-eWuzknJzc9q4r?gcA{AZ zg#+^$D8I!~AjOO$qQ?}C&gZ?dX}k8iK{^qg78%vS(zkS<@55J(FInLhM|HQyho3+4$3JDNk%)EJ8E-#Z2wce#gY<@Dl$2ec;RigXn}tKfkUf PI|?p6ZDSIR=n(Zk>vbh9 literal 0 HcmV?d00001 diff --git a/dev/2026-08-28/sponsoren-logos/TCBWH_Logo.jpg b/dev/2026-08-28/sponsoren-logos/TCBWH_Logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5516b8e219a24ca7ce278c2756b1f8bdb1841905 GIT binary patch literal 72442 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 Tt@mI4E&spafBz&W{uucu(dn#O literal 0 HcmV?d00001 diff --git a/dev/2026-08-28/sponsoren-logos/TCH.jpg b/dev/2026-08-28/sponsoren-logos/TCH.jpg new file mode 100644 index 0000000000000000000000000000000000000000..935d15686c74567e6c8eec0e31c1cbb02cda4b5d GIT binary patch literal 175340 zcmeFa2Ut`~)-JrE2@(X!5(FgYj0AyJ5fBiNoM{P7lnfFCS_R39B0;i>2uPAF2()C$ z0s;amIU_XD2Ab}>@f+ZdJ?MiD^)vC8@)h=+KaFf6(4OMkj z01poU9)kY>+!XLx#ox&u0JO9K0RR9_0K|CI00gA)z<&T96F~Tb1^^p8=3lfk9^da_ z@WC+R0Qe11ftMGa#1EPlq{AYd0D|A+J^}AXA27$GRDZi)bMlAZaJBYv_hOe6krR;v z00}V(33)Loc?oHDG1(*H9LR*khXcf59BS}tdW!!uO_JQFke@W<8u$#jsIRQ94&L=` zz2I;+Z%20@+!V>6qmPe=yr`&~w}`c!yA52#*4thgQ&QioSdkbgs6msFc?DEJHXAy+F#hsoAYN1m*L*FUQQl9 zPVR2(M=4s{xcmAja)3GiRwP%CU&;PM*?$JKv;7s$!`JJ^kIe0CMd3H#u5dRWZ%|L- zN8-48$ZNUVIoStXw)TN5avar^u$YvvgtWoWnmQ_&ovpmLuZ=U@*5`LQFIhW?f~4r* zJPg$rClZV30A?kZ$YY z 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ℜ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 literal 0 HcmV?d00001 diff --git a/dev/2026-08-28/sponsoren-logos/TCH_Logo.jpg b/dev/2026-08-28/sponsoren-logos/TCH_Logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2e8d4d6d4ff8e34b0e6cc7f104f30eeb9e0161f7 GIT binary patch literal 251784 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⪼-?tt4XnnegX-hJ;~-~2uDO%qp6)|O|F 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

yPG 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
&$Bj4tbjI? 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 z z9ya(b%B3jKAC)o%<2X3|8ehKv%-$0`1hL1tPhStw4Rt5)e{TSw&|`fM()G8ovFPY% z3mu(BnD;QQ$LqO@5$8`VNPu7~aWeWWZFnk9X29+Dmx;;Vd~dJQT+7BLQ7L7am5vR= zFy{P2s3=!lEdTD(t0aGnJFa#;wJ|ISZIO~EA>B)b5hnHP=e;q|eWhY#%&nib*gg@7 zNnpk$N6}Qkr$QCCz=Y7$Tt^nFZsE+95+*eP3W|iuyc+SspHikNMfx4#!QnMIoQW>n z>BrXA*1x|uB7N1}?CqBiR@+l?-(ysLWsSJgIs?N*NH%_rEM=*rE88%u5P*oSu24Y!{D@ zN8tGmHZ z4FiK+*oi_=)M70S3}z+IFwijmxJnOoo1W*!t*^~Gt3 zIt`%YskHz5W929RXQ)?>KCCXsEvOSC!}X-j&SJ~x80OTpLRDKEiPnU5s%q(kZdO*B zt#eK}Sy>R%M?i)*fo8L`s00Kya;c#xOzO>16RRzJCvz%GE(Y$!%6_ zIN!HF9$wP%Ig?X8+J^s#Ou}SfEgvz2jUg-rr-!{zIEi9$(eDx|vzI@*tb7)O!qcPf zWW`kmEv9DmEyx$H(bW?ZkbnGu(`=aODK0$u10))! z`?_JQ2U1%0i!FYSF~X&ZMQdLW@7U1>8Gc|c9RQ(+3HTVf8X0$mX)oT6_(LvMuUUT* z;qrevjQ^*(+gFN~sA`XpwcxsuquNaMd6@A=SB10I&9 zw$awMUHO77a%~w89timEMNq8&k!$oC8lTTSUUM(tK3dSuuqk{hicKBj6s)#ma3a`K zIbXusrB-@AHhSX&5SBt4_Q5)t9{_JEZHFTPk7Gm@Bf2wL-OQu^YZ5sQR@)G3De1E* zq`Lkm&m&i%`ZvdYBqQ`lt7>T@R{Yn#zL|ywc<6VV1R+b5TwKknuVJgnZpCd}t2*Wv zt^r@|n=ynLdrNyq{;EMSCgROC<)eg(HQRTq_PP>yteb~ns@wNFU0jgw|K0yZe0+?r za%s?^si)?gcYpqIY<%kZT--!7NRjlDsuO@p27)o~yA#~y4sO|uo$c*MDd`Bz6hQ_C zHaa?nYU+1qW6cL}F}#ao9jFly`%=}6y52#-#71NvJ5ExiU#jjk~?^3VV21S}{ef&6dfQmYK>cCxzes%E3V^)Ggd*g4WOVHMHf1 z;Ut;`Y6)_Kin6-4TN^CU)znlzg-*^={k%o-l~U}>Khbo0c}f|va{Nr@zXYls2ju9$ zIdi%FjYIlwE%8059*dw^{eh!NHrit@`a7Jv(7Zw(DGgCmPMP{G(+%ef47a(W{U7!I z;4bmpVJwYT=f3x3S<$yWV-r}KqIXM>6@+GVs%YI;3CK3EU;1<)rMKdASRNezSRFYb zYvQJAGpdTy5lcG3S^1hdALZrX5n~~LlPW05{C~Xq|MR^-MH7h)mJm_Z-ZrVo^e-+M ze8dk(^cL_7kT7$E4#EzzS9{!7L^^#aaQNg*%;EnX9-XCWL>ME*5ozFI%nt^^S0Z)O zIR|U^p-QIV!=2{2G+)T~7vG!1!31R7k1K+A1Pw+(q_-5Ry%@v zAB8FPI8y!j9L1XdKVD4@B%~x$AR#-H#-1*E4P5}CPq_@Te=-5b7^>r@x_z|V1Uk*> zVmaw)CVzkJS_#oS%^G1a|2itklwzL||Gt_UcoH!GeLDZw0~U;gI4!&A|NVpi{p1Yjq9XB*l{I9d^f1i8*@9!8R0%3mqYk9t&*LC>c z`MuCuGh;!jTI(J^z`jGLT_kzC+ zcK-R0fq{W4ff_1amt0iUbaZr7_o%C?t1E*R%D%y#erJM|J$fw;HuhS)0Z$DQr z&+Usno;mB~?`NU`1J!`ai%7j&uyl(hILy2q`ZeZ4OFFA8F?Q%hY{?a%Z7 zJZE;=hN)RtT6cNf#6lgO-R12#N{t zDHwg;uN-UIiKytc8{c2nsG)D!6RfQh?G0!oYQCso1i0 zJJj|sUvG6rXs6Ex_22G3S|NSl)dz9w2D*&K*-KYf3U8E<+$1HtOHN)vaj)h+Eo~j$ zgNKZaO%9uy*&MUAvv)Xt!s(pzd6x^WZoYp00f9lmm#S_L19txo09U1%BpJW$C}#4rf4?)X?^_zgG0k3qhpL2=Iq@3 z0*lRAlnayse~1Ns|1aeNN)TAGbgAG{p+&g_mIN*eF1B>p4z=a$_FD;^@mar9{kIhx z4%~h8>cdKD4Qsmi*-H(=8)f#=WEqR1{gCXxC)m~hE6M&L*gxg!fDVF+?0@#*gHHZu zJ%GFUU7(_}<+nqt1qFaH35r25gte3zU@d%T1>$00ey9Q4L2zH0HQu5=W*1Omc+cxo zfY_<9q)7?&O=qKb$iBbO_sj8)bJ52XUuX@52KG@`u!1As_xf^*7jA#rGw0(c|LY!2 zwM)@b@y!Z$Ir8lr`o?MwNF?ojlKQwYpK_Ys^TAM?VJ>uUXp4r)Zig*-;wFMOD~E#b z>|X7tQlMaWM_4U3e#~s|*|B4;m#Xz@C;>2xR5ZfpMcF*YT@H)5gAWx^*+hRjj-gSu z8EHPqhi*hhjFK2~*ls=q3nP8|@q8#A{=lR0A<@IUd+;!`8fI;e;X`qvvm75&o?Pj^ z)7rN<=bB|fSH?XpJ+6GHlElhGQ3Yn7FoI?wr^y#GQ3JX8Gkl0d-sIHEU5>*n>H^(0>B20p~L8_(-0Y54fh4pb4= z-3lspgh@4cr!$s`9vO}}`CQ**ly?WlP5@OEgQpL503w#kAzWM|PeC*DY1u)9Hp++c zB>7NcnHqdr1cx2LoYLM*E~-tJz!a@ans|MgguWtIaj3MrK!V^tD$0jw__Q!{pmr*g zoBJjX+xCd7#)s}*0n#6~8i?ZVC#re>P^mRT& z=Ym;FxCN%nigzET^l!P$ht5#ZvhN6KFd5evQbFM?>%*ga>%fDl)=w>))ngE_tJ>fu z(R?8MNwkas)5hRDxrI_^)`h#s$!3g@v^nXI5m!}`^q;!Vyil#5emm$s64+OC3cr%f z&28dCgX$>8hhF!vE+?9G*CidXmoEwzRImbXio__&g`&$K6Fc$aT2>) zjBnxwNFjrwAA#vDv*z7rzh~T{^7cR8#6h0ozKK%z!WlvlQP>&nyBudt9M;3(wE#)U z;*=4k>#d~u3D`^kJhct)K2P6?HPRqD7}QhGtZAq8T?p0ZLk|si@u7-CeCPzJwbPoj zH7KifQ@J}f?(GU57Wbu_JOOOyY8LS`+{w7bxzNC5cZz<)LcakUZU_qGL%*bedAN~< z%zWWPLoh3jBo2>gU8m3&7WF$Xh4elr~bW}(8-oy_P8{xZHJQ%z5$JjDp>|+%6 z83JP$rht4!Rw6*DXbvAbP4)(s1%@Rt>wr5c6agi@M2;-Hr`951;9xLtsOjRs!~#J~ zrl(4kBT7?6^{HS`K15K9z=X57`-YeFRJ)|$Sn=;+F)ZmC3o(QLKJY0D`&Xp$0Sj3A zeiS%o#693mugCb%2Wvib-tOp;Ze^P;%g8rEP4ESX_Y0NV>De46AFB2Goyt!9^I(J1 z`uWe!Vi828U5%CA>E`G2+E1|Cno8JjIV*v}EqM1R!~IqFzo_vdb^C$o;+7(uw|<#? zX#IW~1?BdMqI-`49g}{i^x^gG!AwL0CDpU8_LY3zeeS=z5+T@Sgl3gds;%fh$8oo0AKLM-nJ=#nWu)(*a>Xe=(FM|A=aqr9cx8%QgV{JK-PB1tu_) zs}bNOf#Y5`hUZ84kZLUnNFM<+`)|VZRvRGvnlO>lV+d2CoU(iD0ct>E6Jvo-67pbj zln)gxKU-gB(q242oW=r=tSW*GQ^gS4^9;&tFCXf&47DAPq&f2;|70&ddvo8{CPQ&*3=I7tO3QurJZaI`_8*t_04TtYLR(xpnUcG*b zwZ7U=l(7nTv-b7z{%7YUFXK*d3eQ|mld^p|W~QEHR6CZL7nk3cQ}?d>8QNMIBM>xQ zu{v*M%J8?DPD}g9sxbWceaC&0#Yd~m^uK1@ym~Z2%UYp!U9-8zUYC{x&MVflqXNGy zgEl}vzIJT)2jRaT3%ej?G08)c=Dt6A=GK1xu3*<#NqFJ|cgfugS_?-{9C)5Cb6-XF zHl)X7Gm3;+Df>2x#JAPle)LtU5-L){c zuH5q&_t5h#%;Io?u=+Z-iu>$yTI7~-c^cZU=2K#;CKA0og=C?qW7g8+RZg93)B5^0 z>XrWMdhPTbwS5zV=E5(A#G5CBuu0>UnNM@;{p+%3lA_?=T*@Z0rv?qTBuILH5&PTI zXYJ8sx$WV3s?pq&;J*2NhK$ zo0H!mZcLK%CunD30DPA@nM}LD_8pc3;sNIB3JY`MPWIY6l>eXjMv#Wfl6W98w zpjYUcId)<7gW)+cb^!^0CriHxd)BvCBA+iXOgS~8d`N23_&B?f58Z6;i{Ne4A!A1u zbK@YZ8;@-ly@t&Ga*o0V{#i$uYw(bW>7dNN7J}(-N-bFTHqWZ{w|2~IKq}oC2eGIv zO;aG-*OqXCb6>6Jz^r{ugfS7z+?>o7BDZA5eHyuXt7Vizx2kV%wY(#ZTRSm*J%~ML zAiVj_xh=SE-7ce8Z{q+)M^?ue4Mi9xqLNiUtKBo+R`y=7eULXU(;tHAc1c%Ng>5R8 zseulg zI_19fn?#ur%L6Ywb#x?8aI%FOk;>I@UbO0(yF+483+$K8dzyDqsFs!r!4U-Ys~D55Jxs7CP^=jW~c9JP9@hd-}SR| zJ!a)Gnb(He;WP_>YU(xVV3Z$z&&H}b8oAocd7*z77h{go`jjxRNDi4ad*m*ay^Fq zhlNXdieYK}wh{OekqX5$BSzub;oRlEUq!+x7Pb23y}KDET&>90ZjGrqW zftL0&ui3cYhttG@k}9H+_D%^Bjkado=Dls@*SYy(XFG+Ho(mxRXce_}w~cLNbbUX4 zvb+70mXWWkzWu%#@DvV{ zY~9X_XPPX#_QA^bm1dV@h*|UQLCZZEW@~i5Sa+Msbhr_ov7Bgf;z2q0oam=?U;4Q^ zJ6sOBU4gsT;N}@d4RJ@`ov`GR4a%kj9YF7~K)D*m} zlt3De$sq#Jx!&S^mwK9vJEd73nVDmUQ77w0ocgqQqCp_Xu2LhQUr4kCA=KbSuc+6m zAQp+kY%*b%VMsWRv9}XQdmtL1&vG*yO5w0yf?TV{5Jx^Ogv0bake)x~5ktbbE0EqC z0u+JPropheg(}SP-fCEe`T@WQ2IoVwa(yPF*MUcWRztDre5CSz5WsB*r^M%iN^L1~ z8x8zgdSVyz`$ZNgz7CKoMbV`oj68kVGu-+(b2hU#hO^#Bn#su##T)^EQUx{K2vUx) zj)Pu?+%Z+gDNq*X_2PKKgtZ8LJ&<`Y8o^f-sIroyL5GjD!~iS{sOYJ~dm$tefFgZI zN)L>a=;S)_NF;G1fz(4*LTHmc0st;Y!hNFHl2I9Cw8m%Ta(_=c=p^lrP7s==Xk9y{ zzW($zOom#i%8}PT$%lm105I}*V)I%SVpt(A@4Yx1^ojU~MU9jk7A}dFmS8@L|DZ~k zaNJqMyG8>z@Df_ajlpE;`d{xiXydW5#vIH49!U~_pVxC|JwJMms(eH=F zVTR_G^*||>GLFR;)%j2td4>n(qwh%Qem?X#BHW%wttQ?J^m;qBs6ZcUsejB?d8JmrHsND#}idZBOV zTh1z>XX;p&SBOVu>L2Rg*l)HzZPNjbEKdjD;>=x1b}`@9=pD^(&gX8mE_W_|_02<> zJTZJKJgsF)a!PsdsP`|i3gTDJ-2K{njnEjc)L8j7{njH*>*$>cy5G(hrYgR)$BnEJmT@r^N7nQsIBoN*8mNiL*_XkEPWOHtwMx?(+n^A#WiMkxv)i%LX3b|N6}bw= zz5~`)7H-p1e8`v;IP22yC8q7ZrpiH|DpRZe$^Xv3NKT6TXkJ@|~_r&#S z4NlMj(gUg9eg=n{#w^}zTMj5APzfysh`b~eSoC9rv6^&b^b|7i6-ORU2BQ}5pRDLS zggGc7qYI$0M-GZ;6PUL2^jQuUHO#=(PjwO&B{qcnt^hCLL)&u=DE%YDxKp@`)fh?<0yGcOAzX*s3KJpi`Cp7>**#z9|mWk3&j<&BdGxa;QOTZzgYj z&rKvPjt|wG!jM!PLo-yG4;`9b%jppW2xq$N8n{`xpICaloWc@03s{v6NrR&q)g+b@ z<-;$B`A~QWV^z$2KDm{*y}#)i`+N*5Id>hY{m0yRaX=K7|@9Z%hlLg_w5 zT??+Cz=V|vZxgDRzG)Cr^CYIVew+`DZJ_kIYvZw7x!?ineniMvOcV6<7KG^4ReWeF zb8g1Kw>JXafb=d@_uRa!THyg#U@G+PygseO9-}wSw7j(PDUSS;dk%HVPa4fVWNJ3E z)%P0j?3Ib#WgqyB?$WqET)PhbK%d-Qq*bSOKPpvU{M5xgGZoF`6}pkvGY@1BTG~o) z3el3Eso~~4oeCx3coM};S6D8%D%-q^Q9ADjeZo(bM-%id^lew~9y^fK@@Tb%uy>B| zrTDPyGb%yVlXC8)M^^>}KYsioYBdo?z06~{lacYd8E(u_K=xz@hlyfL{#PC_(yOKC zLakVS`+r4fOXr4h9lAI65BQHDcdOl5TB9d3H+c{9;%s{e94X}xf@NWmCAh^D3#ZH+ zV0iHozI%a*UNILCrdgOuH0j6YF)q=AP$xHk*vo6WXy_aC$JZ2>Lg8TV9G3sMZZz1% z>)qVJon#kCBn2*9`J;{F>7H(Zca*Z82Ufv>NYMYdY1uha55gVIf`Vg_Fg`S0_)zdu z92b~*SOK){$F<340$LPwHV(rK^vb5Ex1vd1xX~L6AjZccJvH*BZz-iJT-A~t@A%O0 z6Vk$r+5W(`u!c3D3j>fbD6vN+!jihyb^~6d5zl4I3jBY26}F)C#t)F%jjbJkm#iQb z>gdP~MqS0rZ8d>Ykwd&qehdY-NsQc|O3vsy5!jT$>G+DB;5Y)0dcud^rYjRv&sbqd z%S|kfx_?$2iy#fAcX3`_So>$B4!`mxWOZ7n$Uq7t^k!}}a(MzDBD08HWn7X9>cV@8 zEk)N}9fLQps+*3sdc;XrY}*o4;PLCn+G_c!(EEmUne1@0h|=PlOICc49zyGHho0*7 zTzTj4`8QRHES74ZQeASjQ-)H=s{~z(>V)l)QGYC*x0!@;-QAe z_r1x>Zq{FZ(o(C%D(kqh?QEV^hHy%kRz4z21jP4;<7GR?KL=-`%JeS}dOsUP$>?UV zqzVf^cCOTrKPf3|^-=7@9-Brx0W%OH82HAhTX{k!B32Cs9f=WDxzJSAPiTFGl3f*j z3WR;z#{CLgZE+K2BAhMWM7w8wK~!C;&o&iBm8Yvz32kh**u25{*ZB1(BpTXG?mM=8 zMF$uQR8kaSy_f7eMrJf>lw-QXcd*k`C@5RNDTQ6r z&G}@6)H6@a;`XeM2jN&wcE(~Rr^MLs^x+!0EV(gX45@$gq-*XnWlx7uQ5Op#+>HN& zCHa#q*#J#`9z(VvRJL!5?`KT~DX7CM!JJc3y= zF*gf7yU_5JTj68Ps$SW%F&jr+j$9oJNZpNfJSD6uxJK-k>fEdpc-LMa4c>!JOcS~g zqul|j>npZcgp+TPPp-LIe}QM6;Fg!QMc+qK)zvOlB~VWIQp$!m>j&`;-7|xHNSl~^ zKR{?z6)JtF;>?AkRp<3}ZUwb}b3G8xur41`NnP1G@1~Y&<~OY9b}2?LrYc_tIqA-M ziS35P;NF+RYeU7QuTiSEL{rAH^sa#Y#yPsHx(qTKmelUrx!fDN~jCdU*o_k z&1HH!$P%|r*a6%Ec=b$oCX?K6UiX$;KfR~!GU-bcIDD@T&OV-*!sx4uve1#mup+2D zhUosX$;*cQRUmN=PKEw<=-710YvRMe=6kv+F>_fqR_zIZaJ9^2OIhdT7#XBqHtT`M z$+h+iNZxcfVB#!Lflg3Ph|`E+NS}r4D0Pr9zOWjp(fOSZeJ3gNp>Mj56jC=5-bvs? zvi9qc??6T1>{uB%8|XiU)Be){G_g?>PL<1>b&4Ku#?=m^8;&8>$59JDgcyMviY=aD z_dm>$nVYFzY+cl8@K!A!nzOxuyujk%@1p5f%|93lGAmpp03BE@hw>q#SM))m5eVhM z+@K#3ec6v-|Ht8WVMrc&xa5jqF%LkhfeFJ^3_hfB3gKA5O}N%f1Etye<&=R@Z#*yh z41%t=pJwOiPk{u}ir(*8OPL_O;6quGL=xS9<`wUJ^`$F37OFJNCiP#$ z|e!;p^;mBV6E4E3;P+zQwwXP+tR(wO&SBVMRaG zpni#}meQ~24sSjr61rK*eC_K77oY5&4y}7v+)ljg&{nUm*%A5mmshn<&L7hz_gNZn zeqqFHEcw2>FuT}AE-s!(zLFJM{mvjKlB&ejd*N&ID6i>$_b^9-me~+sZl!D?(e4+l#=fb&d(g2o*N#I!0^flZL~)y1KX){$W0v-ohCx?2bJ= zS!TK^^ewX;|BfYTmo~{2{}F_=R`jVRzV_j;R>FVX9yqK zL2_J1yx-f3rfyr=gt_c#Et*n7PR@<|OSISk!cTixB82@XiX#68o3}YK( zDjsT6e^cumKs?-V!=SdY#ny1_Kn!uNAk80XEyA|i&t;Aw08|~AX730p!fH`fEbBQY z(c@L!h=!2|obPYWY|%@PNM5T=CGG)Bcbuih~ZVrS0!&hwY7VH~ zwjES3Z8KIgn~7^s_HU4|Od0#KVYJ#NWl-|K+NhLa9Ycq5vB*pD16}EoFA68JiTjAH zB)W|fes$+qkEkKkd15U2^DB2{`#zE8;--t9h8L!kL-jU0tK@F~uqNwpj&My(p3HB7 zMKfBFl*1nf=X{O}30Ou;uNQHXEZdp-{EYXUc)xD2hn{?&`~KH`m*%QQZIJrl2;vg>`GmQ>#@`|Yh6HAhg$TJ#e%2~ z?^;VOvfZRw$j|VypS$MM{gsx{R9 z;?YOpkCtY~D^$r0dW_+dpQPoy*z4O|9T1C~bDjEx)Uz@F^rF0&K(N}4AIDa%>W`av zOwr#Sl#G;<95VW4a&eYhdhm=1F3qk!dOl?57w2Lmqf3Q@9^ai2HzbEtD{Li({L ztn637LS)U2&Z1)=u8?^lNpnq1?j4ZCq+)nT2AhH(FQd*QbP8rlxdKm^(J7Ab&>Gi{ z0)*TNihr4*gCO377J-cuqd1zEBvNBrNtuVgz;n8}1vd;e5TD>svl`K8r2-0^&8 zh2|n3jF5qeGN4V$<9;BM9px$U&3Ml$>?{k^Wpaeu$b_5{A8NMS%mJ&sE?j|GkeA}* z-XrsCQjoF!^*p44Bw{~cGD-U>k_)xs05y{u@xcqvGV4dN&swkQiT$l9Qap_hFOW*B z-ZVbcv8M=Ik;A)C)<1*a=D~;7`c@iDW8`l|UJEG(AaaGZy3E~|;1r<9tTbWln4vfm zt!KPO*0YHw{HDJH5g@m!BZ(>XO>Y5RE^2vcvCuvaGD4CFA8OM8FwO1-r?DqI1B(w^ zg$!Kp>)|TV%MhmA3l4#7nF!7_Gq{YnnZ6xM17t<&n?Rvn)vCVDnSQ zZnQTxwyloqtXF#d+-RM`c{%d_tHg^w+R2h;;;$T@e;YYNpUph+&Mog~rr8~B=CLdt zJy}U3oqauB0e-YS_fi6O-4GQzkSix1nS&RNsA#yBW%us#YpYDNl${Uahj+!E)@pS{ z^eBY@kxHCkkqxuxbu{I!FA?;1ohSLt1;xjEn@i9A`uigrMez`WHIdUN5A8I6d91Uh zXu%y_*)I{z`m#GKlJ-UXg}q>fReaW2pRe&*ear$0SNZ%tIy=PuFzVk_nzLB}dFr?{ zY_sr6c)+ZZje%87i{7{K(o3h6OrxPof>hO4XGNh;rq`!-@&;|i%-gjPr z-;|C)7+9Ph*f{vaXZvlAi9S|Ti{w+X&SO+2m>5mAJ^}ml0c+@$ma+)*x zcwx5D1IeTeCj;P73ZDND-~o*L#hL|dYl$OaLa3nvJ3<1`=li}N=mQTB`s(@!rJ42f zbWorC)5`?MN#D&e%Zgr#7wdUH>f-_9hT&%92;B>_Oj?S39|Fpjx5Yp>`ngKcMwoDR zF{POdqSYfQK4krfP9_Z@ck)=Ix*3@N?Qem>@AB|_5}tj>O+QTlZu9nVp2kF-h#?4<;$S2Xnif2bk?+O_{SL z-NUmFbwwYNXZ87z^0w*bn^VuSr)r-+%+uIoYipHw{`~f3M^~P;gldL2JTTqYZtB(% zV5)qQ7)78ylo@C=Eo?WH4FIQ9a^9^Qn;k<8z#0Jvvu?;uskAJ*IgOajU`d$14IxO3 z7iuIR5^e#n&sykqU*H50%bm~p+Y25oK2U$pR*9uYrAUssuu|~L>D{}Iexw&Tn`lw3 z;_zCPjR_gy8S?qqqXTZuQnB;R;>q#0F|(wR=3Y%h$?{)|7oxl)Pnq0#{9+*3Kj`#1 z2eVpwwe9sJ^fqHpVE7b0KO=oO&Ii3C6BmaeNiz%mnrI#`tjq9Zupj&yCXaKznJw0_ zD`m%o9?RKIZD|W(6KShvH>A{i(KIHTS2}jTTU?67s(Cus5O-0-=r?+Hp_RBxqOn|(A zr=g<;q;#pS%jxXXfS8U1F5ebvIUjcjmlo%S)Z?kw2t%sTpbqh8QL*w%6rSxFN-iZi z=HIitKN?TmO#T?tQT{g~&-N?_@`;&T z4JjR3H8`Qj>wyn~JdX@~2?Dt39M2q~S*+@)2YKIy^C^mV0)shX zw`ixh&`166$SI~;@d9U0(mi~L{@Zl=R;!cN&@oxWh4#XDmKi#fL|IX*YT8RzX;yNT z)vZl6yo394Q0@HgOXlk=Elp(xV!^MJSiD@CFX6p%&+NF@IHDCW_XbN=9jooRQKNF} zLSodJ{42memu)rqh5!Ut$9yRC@zP{Riol3aCZ0LolAFOUnCYm)H@%$1b0~x(| z?k=V%?}UlRM($k8ct-tqH>?PbsIMfjcEe~0x{(j%rl|m+ZU@saUqUs(+=TmOMN7|& z-YDRm#J}?iYk2;s2X0<)gvN(<;ekFUHUsjqxmvD< zSoXhT70%EJWb}>?5AJVAW_%|JPlL2TIbnWPKkptN8jYm1;;R(?%IrW-u|#qvw;IQQ zvp@cqslDY#G_jvs(>P_Oz=%e43pgo3{1qt2yR+ZW+8$N1SZvP~c9$x32 z;In35+zTrut4AWt9NX&Tg7zVbaX)sE9OQ2)GFbY}SN_}~O#OZ&>R zF71++75&e3C*CQ7e;19ytqV0`c=d@!8g36t8#B+bue_X5HT&E5_<|yr4p*loTW|SnjJ@ZE9g$%{!b$GGJXHA~AKALZyf3Xe>t#kVF;)CJs zA7sv!YbxpAVwhFhsChH-Y+U}ynP0(D;;S(Wowv1)WI7k@oxa+3c}IctpO8_c6d@5t zE!(vkJm<}uC(4ikTq83qb_~5c4tCX+EkRGSiUJDLAUf`5=>9jA=cl^MFU)?ww~&T; zBr@bKP4B$z*A>Ze+}1lK*Y`X!N%UNBv|ERHJ8eXpw!NchS}h@1-pFymwYFpK%}l5j zH5B*3&zTUZ9iv#2BO!ZG{ML0w!EUmfgW{?0_iK3fN_^fnj!zOJLIF~{YKop{mA*RO zClrP1^%gs?Xmn`vYVqG|JdnP7v&W(5hIWMf-roaW^C5}p<3bHyw|yGIPciq^zLqyt z(B0sqPu&=o=UPy+-%`(2!KmjcmFcpMr>-rkoM3iJC)P#Z#7@M@A$e+(RjjybM>WRM_e4z3`E}Fo0gvZ~$CLuqd#~cBgTILQ z#Pdv4If~w?;ub@v_LH23aweV3j_rwe$*tWJ6>pbZpu~Q+fwJWjmaOmLXlrLvu|+en zDezdv>9cvlv$L-~{T0jALp)aLg{9WpMPMrn?5^7-wI+@;480koMM}x~&aMaVDdHD%Q)F)FsfxMUv~4_t zJ>UB#KXy_;25mf?y&*tnImO^Jc8eXZZ5AviakSD*q4?`(?``$>dH0@wKdy3eVxV97 zvYzxT8aGN#w2j|Uc}g_0Vpm`0%^F|rmZJnu#J;LZYjByYe`cWSZNu%z2R(`_A6gRJ zgp{ui#h+Pm-n~b-tKxZ<(dxnQ{6k&gwvw_r@p12kR=dyaUU-kJf2|UXk4SSpAQk2$ zTWM2m^nySdWBM_K6)sF~W?qOrK`N&AG@6u)NFSr&BR5*ydPeDDU0Y=X^~)*Ahn?Tn zDyraD;$!NbJ4{X6K}RA(7XqzP^rfCY@OP2d>8SlIC074z%daU*lxA)R z2yISm2@0hO-L4zY8R@4Ny!2OXZ+`f=hY(=R#uYfTZwT&t_)5nP7EC^q@tmA=cEri` z0pF}SbPq8@Y`OuPOW=hA$;g#gR)KD3AR_pV0zMo@*jXY43P!r(NGMG)Wf4-9{d7W41vT84FrvJ>|DXZiitVj%!UYtGP5V%5bMg)y#; zosMXgmh@`UmjanBd)8!Co^YJ+s_%gvQvM9hCX zZE0(_C+EU3(_F`Mo&HDAY*65x<~>42?t}vNv^-z|uqCZbd-Pzg9w_nPn-qF0frFLS zj}ustj++7O3j{k6gDX}6xc`O=?r4x=h4Z27JYWKnxZzgGbZkfKHlzUu;G%mjjR+7a{sl^3;upg@x&LJUj}FrULQTa!4XN&sTMk;Qn(J*3i_ z-hoB^c#-Cdq!o8J)*uwavLUQBHVB0Sd$6_`-UGufdEyqvSjRQit+JlBpqT2Kjwx<| z1Zsp|QwR!6mK~2$xTk_bOW;En(n$2D*mi^l2lAonQKVA4f0z&L4P4uURTYP`tB})E zKnyYa3Iaz}+h#G!dX0w(Az%rtfiP=K+)na&cp70Slip*Y9tcB3o9i{F1>RihxCve| zA}TRXQBfnWHSkC&%>o|txq(s0YA`KZ)7P zjk4`9JAJW!T+<9Ts%}Eea~t43C6+Vb-=~E^k3DO^kQlkaab~deG#%G3cV*U{Bo#m5zm>LtgXk(_jj+XXXMXx#znr?@7R<5+$>R4 z@SYXdG^l^k%{`=1y(zZH! z>wE~Sfq~#lo69z%x(r;DUykAUgne>!lH0b%Rqq~s&O0)3)A`trwqs?@I@^5+Co9mE zRjBQOT&0NO5Vg-QzbSI1n(6Uz8I}d{sXE6}4^vZ(GCyWda7f~nn6$U*vOf7jFP4bCDe3~TA#oKZy#Qo$9H6kadNszOWweU)x`6qd%O6Nuety)=;qDuN& z@4MPEIHLOVucOWL4yOz^#y=i*%s5=Gm8BqGF1FB}Gm~RV0sHc|INwlRiLPjvGJ8@Z z8ik&c4&AsZC|}v|n9%O$`W-{7;m9q+f}TBQp6apK$KKnr#_6(K`uAB;O5@`9Y>=Dw zAYPu_OP+F^e--hyqFVg$ z$&YeTU<6)6ln5H`8;;x^x}#TAl)#EQSr)&uqpfmsO+GTyIK&y=W|5k$c(6`?>gJ0Y z=cVf0<3ge?`d0U?YSniy3#IPKZIu;XTavjPY-3Y=W1P0_x>mx8*H*6^rw_jGbCmz6 z4J%Z-q?q2Py-p#oCK<}Dhc9Owde<&_V%0)%_L1)2(@o7R-UYZ!<0e4vSz5vh>kSFP ziG^NFhPSbv?e@iqbePH*iZ>3v?^^olsotG4O)@&WR@pfZ?vgx@wb8jF4R@XQj-21( zq3zO^JebA1Z~A4E;W}5j8UrVrt=4PWZJwo@C+qIdk;Ot;k7kSe^rxOmE750CST6FO zeqb#_$yi*Y^WxT4{Vi{@ob!hY?&!Mt$Gc1)!ym>nFO-Nx(cbBH9R9jDN6)BnqW^G? zA5Z1Ws?FNc`@{+r-j=t@6n}k3 z*Xp`NTJlu=z!suY%x5)QpErpb;xX0s@tG&ZZpbt7B5Q$2cYdB|xIy(&Lkkg&OUBwYS0Z{nE;j?_<fje!BjV9DNa^y!8S_jv8+0zaX)|`=EFai{)ei3$)w$&HlODM`Tp`0fAz*bt{ojx2dZcZ0KHzN@eJN*8XONqLa$E0=029(mdSM6{gzVpV-xjiQ5$x_#?w7L z+uu%KD{xLvxd@7&x# z^l~4H>241t%@)kdqke?&xO1S?qjwMINi7wvIGTyv$g13pc7x|#F{TA%Zl{jSU zTI$@lG5(og$j*+(vG$u^K3{&)=VOh`@9w;{9Q6ZA6^ho8ruBNCop&XqBxkM2b-&bI zBm2Bfrm<)*r7k98VhBB*oATg};g%YwrE^xN@;qc4w06xF^?jq56sl&96TX(-odj!% z`ZLq4eOgqhopzmd*oGqZk2>rL1z^gF$L_m!5f-u;;I#V$C`CWL%=gGPi zlat%i#`*y6-aR?l=bCvbY@_z~H2cmOCEWsruNl?_#_5*va&}MB8ZuY-TCh*3jgPq> zNH}HWcFa}5GUvqa8D^^--4f1aHAONn#hRPK(ku?|si9mKN?>&{gsArG_ZD)}D8b7U zvn#W8jY-nSM_(DkH`F}V?Qz`miJFp1834dV-_$-Thzi%cnbt~{mgn!uD*U#`!Btn= z!FaM=F-6tc<22_xA962Mqv`6ee;=w*5&!U!&9cO!S-118{nc2{cuo@5p6xZ?p7n=J zZg!s!-Bz}T`~HuWs3nI%{~YNM-)NX{ewM1~hbhhD8BKFcw&#)NNlYHY1DYe66wu@JRfkwHHV!>G)at3pZ~cyyb}uJM=!_giB4z|B3-ENCHG?yPOy6jeMvu!H zw!5wdHXT-bcDL^0ncHO(Z^H^a!X-%`pD~P=$o*=V~&g46~j*(WU|xv~NoXEPVW*$+k|cjhlQ<44SNh*wAL2xCIzd{EeA(mJ%x3 zbvyC=kT6Rxgmfhd%Z|uDY(X@GC@;D7XW<{Bp?g{|x&8N5?IljIOWKV6vIf&y233U# zX~_}CRA_E>aHx`9lVW9e%P23f>8jf4Y{PJN2>Yw=DK$w?-2 zR4tCe@Q=Fgj>5;%6S0A+21mEKAS|t|k7`h}bG%DB=27W@{WVXz#wypn&e8H=!_jaXr{KB6~igRnB=C432`%K|3Nch!H_xFbW$hQZoPVbn*mn6Sp`%+nVhYLAL zIEC422T)g6nM=%|s9b#8~^xg%@Cfs zPlppvtai%*EdlYa+Z?CFVhB2kVJUKqKyIdE*bh&_x7l(a+f5BL1JL7vD5=*J?FkB}nv@i-|E!a}?4&d7Cwct9-LO2=ksyWQbXWK&ceKpX# zqmkeyY~V_g#W5_HC_bcAeaO#G`s1WNGL~OZ4!Rc+*Ew8hnm*-b@ti$#%kM}Lu|`v{ z(b;4%dS|@W!5V27e~kRy8olwc;np9C{flGJZVv_Ti$^W*piJr)CUiBq*cMq%uD`JN zi-IyXdlCneJh@R6YfIU&$QSyL^{p+fNi@4?-ei=A+r=IZisQaP9iBgWYo6U%(erQ- zlRzPxy`wc$m-HW*A@#A@{@p^RTfog*TOuKwq&?l=&@P?)VdBz2z`nNBNZpH9??2w< z@F3RijpJmX*^e)EwGYPV>KWbMUt#MdW2m=fyuvF+xBj@Sb>Uo?$8D1&-P**R;w@f# z+k@1u4UL*VeLtPD-n1jrApgplg_m43T!qNpo3wn?Pv!-|C@++AjFFa|o;_4T*~aSn z^>wmWaG(UI{ebzUA?p}qNU3)(vEev*+&jQl!gyeZXqtt%p0Ca>;e5Gx{scpCJS5?B?81=2cHxSE@2H;(RB1O>5^t{{ zsJ(2&*YRs*#QL}Rg@8$|c(>8I{OufyA-hlMV*YeeU}2QO4aMpBIRhJZV+CkseqS|p zcmN|XjuWASVZ)Twc46)Oh&uiJmtox>-&r32uBTh;K$}JYKlW9`mIFPTT=~S-v9Fj7 zi-xk~*YL+WaE$Jz1ymRXBlwSJ%ZTCawG&O9+HX%BYmF2#zkPvrz;#Ps6l!ma-+FpN z=-~slZt?Uh80&*|=E=LoL({B9g4r#*Qa)tarl|>=a8y z;)9)omIfWpp%!}~WTPT^NF576gA=yWzpq+%kidBwGw(sS!@vgWqdVBKl=etSki-Q#WuKpr-5_)*TQ-9=8E%6AA#( zX)i$afH44N9< zlBwVVJz*j^2kQDbT!7x}X5U9~wg@hguN2MjYrgA(O z#=69swRz-Z0#$27Pz0M*ZL7@qA!CTJ z)kU-$+;guie7>_!L5f21?5t~vR^!e!(@)li9TL&zJ4O9)Bi13JnejHU@o){b&Ylr- zv_MugH14SL!hw`#;<0c~n zb(Q7yu6EVeztkUs1 z%~?%7E?M`F={ot7x<|$HU$Of3Z)Xtn7a7EvgC6GxQ*A;RYO)`EVX`0bhH!$+I@&7^ z+Lc@c*W$e3h&H;sk2QJoFmr=oVfHg*}Gl;^7y$Y4Y}z02L1Ge$?K4v|HebuVU^!kskcap z6-Lq*%=E@pWnKnh+f49I`;JZezFT<7`9P%~{u3brM6Q58u-(nKmWi5AQ`kTOt64OZ zqjub_>@gsa5WM@&TQ5B>wk%{JspJND-fS(1f2-Mo0Ld9*$_my%cq`lN%x->?00$My zBpB-$wCQ?Zey#XGQqogy`4=30?Jh6%TlSbj=GqGSP!6iXtj5^Pqkns9?$ZknJDfeM zwQXMdi)WkIb}hKNJ@-ATN=}BOG`vg#{0`N%Rah*l7K(HM?K}O@-F!W)r4B)fWRM<@ ztMOec1>s%M6RS1|qQ|Fb#AB^!8w<8Ee%5G)>kp6=8b|0)b?cXRd<#(cf0GXHe}G4a zM=aU!=j zfKB3g@?Y#x6#G0WmJIbRl6NyE;ZrlAfO`pM1|5m0g+kiDkF6-*-U^_YB7tHmkXKCc zw!+5$YbzXsL96R?ePIgL(E~PaL`EYA&4$S)T<4Gq#0fxn`mOtGDzYT_l>TJGh#_k8 z0_Fjr=MyMyoXwN4f%ho@I#g9d%UbQ^HdG3dldui3sMbuLpGVJ9c}x>&ZxNpEO&`D& zhv%=59|?~9_9fAlqX5!D)kGveEwKAgFK$FmCVLIF2vy)HK!?MwQIvi^2Xu~i0_WJ&I^wj+z#o$&Ka}V{_qqcHEEV0(j?Jju>Hb!ym!-b#j9^KVp zu;g;^I`%Z?gtK>x&vyQ~nf>G0y@00K8pjC0tEf$V(&V92g z0W19OUn_ipQuF&NwoFwa2z_|JKPcT~P750Y+nk;=pQL4t+y5yiTY=AxLIW-%_Vilv zJ;9lSUp}5ME8RbD+?PM(DLQjkhO`(kq~$`R-F|RVYtD+IGaKOj`T^=-1OeLRQ)a)f z3ZyYgp?@rR9y#$pFsY7julfHm{Eu3L1=i{1$uf%L+Pg>iK#5TD!*2zDdzKr;g3Ove zl=_*W`l(tr>hSla;H%3lJ^-n#<2>lAzApwb{wxLc@hSrWzah=*kJW?iRvE&L@O0xI zT?1MM0IYoK8KR(1ErZF|EdweU$&^h6#MW&Z>x8@&ss_Xww9kAz-kmmh{%+!To^zWt zFR$_dlJbr7PZDVo7ovL;ZmW2yWOvv+&wm+jWgXwmWxw0aJ;)Y6u0UT7&D@u!%Fs87 ziS#gfWn^^MH;;6!gq<>LOnxBv@zXVc=e15Eba+Qe!a}WQ9n;^ZvuvlJrsHfm;W{~I zEQX=~o-D{jb)|ZNIIpU0sU!I!!p8%+_sqj7nR!#B3$)$@?srtDYtbp9RPA;s5S8Wj zcFiw^ZIA;wWXI1xP3UGjNBM|5b~=Vc6q$wfE3Ha?H!4n=uX?pXL<13IBlkLcAzm!; zGH2qvg0L%VEE4samfCM;v3(dNE`vX{Lz*wH{cMKavui9-LN)D3QgJ`#lEuf-ft}yx z!68-zlguTi9Q^w#u`h1k~SIxpzZwEAi}4B{tw#o{~pjm zq{~5)IKF5WK4X|9!gdUVX0H|PhU>r*qliG+z&hbRa{(*{?`q_-^aS8-8we7Hmk?bS zFcVY;Am`qLGEOrsTIW!;?>OiY7UK8LZ>()lSbvJ=%eO!;(cc3CuNw7R-EkJPry|)b zSM>K)4?qg1V!BWb;p9mKcNq4?`LpK|sjMti1ZD_&2;0EO`&dVm~$V!l6tWC)*!9?D4oatr!7jNMl$Uz}FQ~ z4gJ=H$OTR{g!!}W(v_CrdyJfHWsOhvZf*BHcHNo-)HG%Y16@2QeuX&)N=u-sX&uYx zEvuL?+ntbv<>*j3^L0N&;5mmtA$De%p~blhzPQi5gsZxoy)4h!SBrWt^kjoTkJsG+ zNOB-K>1W=WU48|2_%>3Y-;09e60)0#Et%>n1Z#443)>!MOtVLYd{~1St|LpF0?m9< z7ry#45$5lIp@g7;XF$j|1E?#-Sn`VgE(j9;RB%WD+b_^EodV-qRMTe-9+F4j=mzY1?&3?|RVLvyVQB#H)jNkEc8EUMz+2U!$0xgPPiL|@Xy4@P%K%W%u+8REla;}|W2LpUSAJ<^5gIgSZT+prYm z-iGcTI@EM!M@pxyiqFK=LjC@fvPjAc+!7l(FH_fjWZ3nmmXSs3pxsn9AhcoDtMK<|vCx&5sX!)c+k zP>7vKSaH9F68ORfP8gDfr0=E6lL(NzO6v{KSQzS z@;Zn&09#~OU2o--7_c^}506K>eC{s|33I9;jY~=pV1CV_c94OV1K^7nxESuqDo_j2 z>lWhvuGcL1q}QbW$3nk6-vV9*pp-<`!Z_v*cPIHhg@NY!RzMRDyV=5HFF}o47>JtW z*{WxLJh40v$BxcElBQibrjFlDCSNIIPL5+f^U_&Ab*976?Ls;ExS_N9da+|0qC-yS>bCFKr2p7%ohz@cFR;44hZ8fO(-?Cq zDrioHQc`vC!BZ)#xUPdWr;WpH6I3e~i!t71T=Kk3vzh#^Vadm42cAFF7#3b%7rGslJJWS|?%|I=bm@o>d_5m8%Ea| zG+O8gBOLCy8#Z^R+WX2W7Q3E-SF@ezeJ6)il<$t4TuGMZyYpHhe{-=JJ?3b+Xna?p z(*B0tmgzn@EZk<(+)pY!u@M4zb z*ZM6P<==D3-^*_H@S-q?d(W82nV}+3{=~bbtKpK^7UMY3_SLr!;Fl%AYCmO;`nu2# zSN$T+$9)~=-+W{F1C0L5659=AtVt3Wt&(S*m?>}>u(mjKpSx}z^v+Q|6+DH}L0+8= zVI~VkXH#}IJ|CXh5r`n#PtMGf=B$Wya#*fFVNUpC>>e$7TD^` zJ12OPJdn0SFs=skVl-^}r#opy^a5fE_Kw2M&0^9nF2tkjglaU0QX=_`0y>!%?Xvr0 z9S4>%N)>V$Rbo6J1?*>JeXL_LELlrnng>=RIxX?w&Vm8IEGUj6R*AwBE9x?_h&e z6RBCPqby&nuDK&Mk}~s>Q;e8{b!Mk1`A`DMyT@ysLPvEj6fTg5sjV~Xc{-rgKMUe_ zoOev0fysq)oXp=y``DzH{(UIoGeQ+|4{d?wp54KPT1VQWvzw+eOLC`k_#MV>r}BC< z%`)yC&BJwclVR#@KP^aI>$eGS3?0u5jkDV}ZdD+6At}x~7T362$1~O>|GWz8StHx+ zw#L~V{KLSvsaiiuzS>|!HKi>2>I2q3?Yyo+Q`sVeg1m_0cPX=I$)X*$KVe;}#pQPp z@|x%!v0hQ6JO=CXS>4ltWvu5aIIOI;h3^9Dsr8M=MFIOC-M<)oru~eA_J+u+T_Itn zvcDRid}n!5`lr$GU&#}vq{J%^hexLq1PM*(y-QY)0Z7ASS72kqJM?}7(|#G|2Zdi%6}0i=L`nVqheNL zmoQknGQp9bZI4p>#oV-5r$zBzOTiLvVABme-PdnxHjY6utMoqE8~wH5)=c8xqEYlN z#9C1IYuVfY`vdP(#@v3Ru27W)RKzZ@A^v-}bWe%v@LFp)i7cTH5|%3<&3RXAg1&)^ z=IVk?tbe5}8~N`ZCjT;8`(xYA0J#*%TEO&$q*8;Eo(EYh3SEO(m{|*W+|l?k^y5)Z z^7IA(GrtRgv$6;c;ROHkeAu~_M}7Fvx{!(Z9yAR*W4@}*R-w>y^Dq>nGW|zO{O<29 zF(~>_ts?Lpe{t0Nx1h*<-U2R+_#3Y}YyDiEVYoY267tvxbezz5?28bvdX%u$55b2o zm%t8JP=yZE4_@5WpS%U^@PS!h-c~JRMS}d z*z@!ZrKXpo+P2L-rOx~EKlm&EFzTh^8HR;4(v%G?ZQXCyp4G(kQL43icRpm-vt+G@Y)8;@Ix_wP7$B+p{2_vT{ossM#;Iz=YC{fjGpkd^!PDK#PhD6Yk5$whP+IKI)8BO;E4E}TD!6HPg>M!O&MDr znIF2_KAzFPxE!AOs&{4a?YSG$dhRK-lagYuS;QVi$x)b5AE&to*pqH0^|tR@&y+9e z&-l*wP^Wi;+c`>_<4mkySzdg#QxZ=@^@=w&RAt_OgNIsswqF{fSQs11d84OuCz9r! zlw39*iFbOJo|??g&U?4$G}cM!h3`WHiJ1JLxEkoYZa-vtOCFdo@ci)5 zK&f6k&vvfbZdZ)tFJ?V>DINa{&;yztiqDyj-_$wm7qXtp&)BiQqqZ^{@{V%!N=&o8 z-Cj%#sxw@m=lVVS5Iycm6x+S<9XU<#{nfvU$uIWM7rVU7uXTkA2Iup-sF^7q7YqVi zFrq#{)8E3JPevv*#yzlkw0FbnnD&_3kfqPfyDw7g&UEGsXkopN?DkNgM&$nyFS zSn{UK8v}igHBs0sGsX}3gJlTwPWhc(8_P2LosS&sYu%ozN02IYm46)_(4%b~%YsT& z9LJhpF?$20Yd<__S}aFN#Mvo4$T(f6B^YA%TycMA;=ZA?qK(fd2AO}!qcSv?L>WT~D@7zulE zY94H?@1JtxeBUy`db|Nhz=f=ZQMWR1q)o|SA%_FVb?VU4nh$_S>|S~XggnXpU|ePi z%^l~!gEaa?>pO4QPs0*mbu91?)g&y~yC@X^vj{XUROz#4h~THfcZbLv7O-AEM5CVx zVsXJ3v?>d7Xo22nSc5=!JHQ6U?&dHO?Ly{lfldJDE(&jt8xOk6!Oi56hur;mZ)?MQ zTUBVz1TL{11h4*-8w=uwBlbC-8dpmgbZ{1fp1zt85zLSy1XB)`da$N5!Ia-RrP{S52Y<);l?)}Fg@Ymkk= zzLxjyRS0cR&(M3Jj3|^&$s^~_G|pbjA7k70Aw34?YZ;F58XZOEPD)t7P-v0S&vZR6(dpw| z5Hct|r9%(YWr{PZ>QEc=_2q-%3A7H?(HiwIGdYDg8 zg6AJdmo{ShzgQsuGQ;~kxLE10zCE~TWgRUQ2e|^Mo-Hg;F?_WjY88_EP?(V(qBEFW zWcqo4^*9TYvj9&|5&qH1&C842zs#j2L^<>S6-qv7!cG1I$K@rhmj6#JmP>%?@RRr6 z^^&)GGIpfUe%e$&#T*|Y#Vye6vccS#3{_D_Qc$rd=Dv{1>rBkDE;G~GTD$NK=jwB8 zosNS+>=ZZMdRbcxyDD$nZO=O@V)oPztI18koCSN9P7QsSOVp)QIQl(oS@$HLZy`y+ zbfAA)EVS{VlS{TpJBo@*aTJr6r|0f5bCG!&BIx;EY`I?Tj@{m-v3d$K+oF)UuoMhE+J5YFPUbs1 zfRV(;4Yr2mxrt+S%!=Fcx$74trckHzeocMWEbREbUF6ABn;MNnvUQ5`jFUlP!SgTt zXbP`$HMY7(4`rUql`Jj=*5L-Iu%r{E4ieyWfD_Z^X|lDcdnndB%x^?G*yu!m5Z~b) znD)ToM*23a&6UkBN}bzd+rtZqR?*qUL6@wqWu8zfOXI5JUSkS~V3_Z;{X42|$MjP_ z6vG6aZ`S2^X!gfPUE4&ei^;)Fq~f752C_vph6$WU^PyS zJM@|bry)oV#_{3qHks|UBN66aPYiOL+Aw90`!i~6F(b%(xHXRbTR(^>F!j9VY&X<& z#Vua<{LvH5*Til5!A-2sj-g0-PqZ~p3pM(1_e0zP&G)2k^yt7>o9Pqq&H<4l0Mv1H z6`58=2g?mE778ce7LyAHL%h1mqpeYtwSyNPrngG$nA z#&Z?t!!Z*RrWrKZ`-PT|*LMA(AY-b1b8$O5NCq8LF;J^&QV>M9xm!Sr ze*|y?ovt1SRcaFw+(23D1^7OY_sM~Lw4Jf;8W;`puyt(&*t5a^6?Fb(TKY$Q%ma1) z2jT#V#01l$D6akQt4ewPZZV%Lh|Z3G1wI2;$nJV1r-;Tn7$(NxlVJaRE#B{qzv|V{$!tJ{T8aF~6Ua_cio@1Hfkm z8uz^}13A!v*mO-_n@~;QzYq^!xZ`c$J?PSYH?#Vna^c&wlWszMzgYH+ti21VaQ77L z^*d3in9C7CIz6CQkA!B3Wp!l7Sme21HMhXkJfVi6f5|+mNnL>2l&i()g_7ojiT+;t zGQ-=h(ervo8ufxbgG-+s_C4W$Q676kS?c{c5eo`_EDd|XvBd)t!b56lj zq3FN~zr9F)W2LKapDI}zk&dUH9ab~jeKBdtV#HThv90-D#ksiyd!><02lEt)Bpvp@ zsX50mO|jk>nx^D*Jbyn?Jj=OU{KTaA-W*&rt{I}6>Gx^!Bi6%jVudH3)$S?`9Qxtz zcNyCF^|%L9&873!4BM>twT_%?q2@C=MHy;XRFh?A;WMwNJs`Ln2~l92|+tVxW( z#qJ0R;pQL59w}xwF7wgnhTSSjVFgAQEPtKmcE&cnu-Y!l>0mj%tqvPUTGM+Kz1>f~ zT;2JYg%-bZ{r6R8=wM%6t=n??o?nPYW3Ed5-bW$T$IkDDay1ltWwmw3rVAHPcbJ5m zDs_SG!d31_fe$Z#8R%Yoka(bf>-Fnp8fGdTj}*HyJEgp6AK9@B)7NKpnrBD1*Sgn{ zQ9=GnRAM%Dl#2t-Dw^@*khitZyRy=$G43DDHTnK@^*`|W5x zO$=*YwMo}=2qknWeuI##di_)9E;XN^V@1zIg=HmI8Gh#|IRJ_NpsdvB@mB3&Flz0s z+ZKmo4~uFEyfo|keU+~fDkgzC*p@uG@N*CJ052_r{mN6(J2kANa zjV!q$!*P3|3T@~jA;k4)TH&4PQqRoesa$-;V(%Rw+f-vNFNqjVzP->P6-sO>3}=|UeOoPd~Qf8g?u38heex~>7#-lA1>QpLggzaD+QjSrvYtX8a=UV zb8Vb={S*G4joP|{5xPKZd%g9KriI^4 zme^>)zi`=nZKau$N2hCNnu@70(a3}RAtFO(Y8y9{v*pVi#vUI6GuQcsI-rYq*$g@{ zITVjSvjTCd!Lihay00tWTw zMDqo3=s_{CoO<;sHUG_W3LuxCEvF0sE*X!6GQBUGVADQQrAE^`EyW^sV431QMe z-Q#$V2dS|E43%AjO~0BK0~R&O*_|2pd1f3Bd~D+|vo6Js+=v|jsOUzZM;217Nz~BcgF@*h|q4nYD+bnJM(|-8BB29@$fjARO8qr5 zFKQh`(h%3ntwR%Hq{MAo&fHKAc~bTvjlaZG8o7w6nAvo-f6vvuXhLNwDsQKr%7!_? zt%>w^1zUxJt~jKeuCCD$K9N78?V4ptIAk&EII$A|VJB5W*`jM^#g|}$Nuv4Pf!G4- z6)-|5gyb27ywa4Ol9{FJoQ{;I4PR6me3B7@`HJ0dQOHS96NP{Sc_FJeIYZ<&ud`Zu zr8lR8N6{tm?U#B~drAB|`F`?E6u>sSh18rs7?ToOX`UTK62($0yOMWgx;VD#R$5Fx zO(Pk!wT4v=KJSnQU>2R(r1VP%omsr)x#ET7dum>f6m#+@aUJa8SKz4O(J9ox8N0j} z%)3z5yPu!j@4*J|^9ni}xCZGHb?Vj4HG-<^wzrC~BlL%%J1-@7qBmA|GNLoGv}0Yh zV>ORhpD=Vc+uUQ`;|vprdymcg&_hCrYHxFds?NEKAX_nevn}MJq6u{$$5oA8-Co!l zeq>{+XmsXrS802U-WQJykB-UzVR^X5h7sF|;x@F-@8G@gfTivP{ON=8aeH<^A?1fVFGBi~jPys9 z;>Oq8O8tF7bG>SIYAFWsNN3~Tmqn9mk&}(FgK-#@MG&ewqv9T5f&8rkv;n4bamU&< zBnI<-T`f_OlJM@)_I0|*Y3Zihknm6Z?`|l~S%$O+R&TJ-xT>NNA{!o=8@wY&KGm-y zvoR*W;Q702Wv$r_a7e${xlUzpV6}dtp}?G(!nLc{GHcFZ&dyzJzz2Tvm z(zNozvX%>xzR9{OtpH*oFmf~y$yDv@?`&r*`X=BdZ=yaY`}s1c`MH@7z8P=9`0jJfzlZKOWAOY@?g$6$je_Ua;?j*$W0$>JeqHa1L zawUx3UtykxsuVKis9Z;o3(h>{Tj27BgTUKe`wsAa0gVrj2oeAff62&05BWnmJ%nJh ze{w-Y^IDl;B?8nwRA81MwJ6;PEePC)w=zOFF*f=D)!_`gEem8%vbdxFha21I;tOUH42Pm-qg?Rq zJRK|fPZ?`Q6@;PiPKNkXb~FqcH8H{@yq&P|KU7C`!jx( z#}x-t92vrWEXcEaeR()jCXZ3I=AS(AzRz}y-=1Rr-{e?;F@55Rf5Mo=4KH}M_8;{D zlf@C11uJ`nM0E#{sJw}M+)myUGdufPL%>&Lh_7i>e`drfJZtc+BZuwy$2jE8$~c6~ z#oYmo9uoDr&+{v<0v8!r9`~HBjCn)+nlKJpKfY>Iq0Yw&x8)O@{V!d&bs?B%%K0Nk zE$Bh@>tE3J8L&e_MxyW4Zr9#7cUdeZVqw=gfe#`~>OGu9RkeUtFop!fDIa&e@Tzr<(Gu z>bA7ds?H#1k#S14cK-hT?b+H-Z;YD}l~OZ00*!A+MLNw~Yw)`Nq&} z+(S)5`nJBZ`04k+?QwqGt#UT$Jtq=_E60#B%R)0hO-%k}ppLps9>Ak!H#2L%Rt5+! zKw}yvK_$x0VlRy)0PePc5>GrA1&kA^s1VHrXm&q+2Cih{f%Uo_k7BZ9MJ{Nad;LX$ zYzO{H1H(RH2Wyg(c!LV+%pan4*7dpey3fN%l%@p7U5o%iJ>pwzFVQ?2Z-+0vyovMt zX$b%$NzQ+{DI0-}|4%n%@Yz?S>HsPITB=?MV$T02Rfj%H)%^*-AXvKj;QEu3^I>}| z2vERg-H)N_2xmUym8|e9e@WE)dOCs|=!jq!0mRA*0XDew-!0a=z}*8L>-Y)?!_<4s zDQ|XX&)uI_nc%T?z=s;6Ym?{H@U2TCkQ^Yd069o2@30rJ58{2&2}_5y+{OXQ+;#ci zsFVK-H*KY{_=hya2gcm^H|D}4Y5BSikZyPL%qzc~ghKzAgaX3O{$sn>!V^$rRD$^{W0@lVRyYETpI z6bH4Ah6l>(ha`M8jk#a+qbd7l2l)~r$VXil8+HY^2kU7V;)&jjY#wS>>)O|-`1}@t z#UJb%p>P%V_v|MP<5Q&rr%7E!bHN8aV$eg39hi`yzLRM=t|4g>g~sckg34_T{N1VD zS1|p&amV%)T|12*#6hj~|+_G>%U5x<8aSv@>?kGfE$W4Cl_0aB%c`%P6@fX(yguz;2J?nWUnJ zt{$J^7BWvin&e*Z{ezOZ3_jk%?oDJ2_0gvm_Q6-5WwkHp8}Z9%HY*TV3`sA1PQ==I zpH#=-wFmK2YX(DjN!XLXe9S?%k~q5As#6@Y3>av9@=J!RS#I#7c2s3QKsqC{?)X5J zushLhapHeEZ6#i1nZ44t#$NStBzahKY8XARAsH-|x8T@cP#z~Lb5QfG|MXjvcAK1a z{O?0oXf^I|ECqnAYY0ZYr19j9NM^T&@JM16JgPCLp&WMyH+(NMRuDmbDGR5}Pl zgrQ#OKO9p3i)HtR6qv-CpX8D3AV9Ly`GaI9_$SE@1|c?+{YeOHLYpZR8zr(@=Qxv` zt_((_^>Qn_ix$@lWt+l3vgK)M)ZwLxBfmZS5}5~leyEi+%Neg5vdwBGxgwXimH&_f z1I^`nV6jvlPME#C58Q&F#2!Oh`TvH^f^@xRPlT$`aLm?|@697l_GzWwFY0C#A9T3p zC1rVL)2m;d^b|neGY*dmPuUai?xRR)OV4u}W5ckG6_-*xHe@ucX$;7O&!VV(@8JpCgY+E_*WH-UFmx#H@RIh5F0f5GBPhYI)BT<69!e4)?y~k~ z(QADZ#(ElnHh;VvkJ6P9W2?yXF@zO@HdICugI*U!i7RbWc`K_OaW;V(osAaWzB9PC z!&xLIqtpFKG?AIR$4&Uq$)^#iS-S(o#SO*JNN#HI__5BYM~M?ku};r-G40CIj=%06 z>7$Z=ZT|Wt_ zX->~R*Z+NYp-ayUrLj=IL9OYxFQ4h(*gR_%8{r=T3bGR!j#?B1QhL5mvZGZZLTV>n|4?f3R8Q_xaPjlVks;8Kc5K069Du;Jo?v0LQTf)qW1- z^w@fk=sqR(l_Q#*J|EGWrR!6PkI$#h(;!0HH>qir{}H zcV3t92N@lB2dDz?fd4sEtp0hU!-j+YjH&w(oNE(;-(U3*=rWK_0Um{Qjzts~U<-u_ zp0uA$SgZs+qB|2BN^mA`Di^4+A0#03KiE3kZmaCZ`qmsK#Oumk)hI()Jcv~}eIVz< zdFzku>J7A}9S69GgEqPvm`!w#N3o-ws#)h}>#dTl6FT~h?`2DFJ>rIT+4`h2Hh)*b z2h?*7VfN{ZlF}Ox{EYX{RmmILPd^H1rYy2*bqp78%bd-)DDI^WENzV!=k3z=>q@Pm zuc?LCG0;^&=Y?TnYPaopG|2Tl74^D=k}rEhZuDMsOz-zM*X?#qt=qNL;*?rscse;a z*Dp(?ZcRG;{+zqZZ8M9+@A^TIZXiW@~frMo8w@gR-x`!@Ywl zfWyBOBLuF1B><=v(+Syfg`xL$wdBQ(kqQMUyfoXqv?4;+{jXb38J>J1N^bOi!Svpk5C35{LfLDjf zB&Yo0=L!PYUbRju0)utL0vtC8h9gAVgu}}yCV+?b&|V=HrLdTSm7|pkDV$GXVec%k zcEZPw_i!Wb!=mmGudh!d4??_C7ra~r{!hnN2ZlOae2Ktz%6|`mqW_-&H~8@tOnbzP~I*1pZ45_%D>l zFL@+xR{yB@Ka0Uj#mS7^jpUCQjDH@SvcXfJ>|)9snE(X+_=6LFX%aO~ajZaeWD41YKk!#bjz z?l-A2kH(cnpO30`P+`gqhgLM$Jb%*JUTw7KmC{yXg$cyug>ZyD zhgvJ~5$d;8grp&Aj>GuNKf0c3&WPs-)nv3JrDmGAni5qSM4a-AllDJp*{B(*KZi=2!5&Ywijlda=4H39 zBh4J?WRk@v<7setct0ksK*scIAA>Ji4nzTlu0vq0^8;n)GbjW#KjMX>Pj zIux?Nod2VQfLQ6E*noG#e57yll*`gbrxvl3iw{uq&baazB~*|_VeZ3k9jZ#5A2wZ^ zSq>w2(fskBjO;#n4&k6F6-Yjrd_9r&@3PAOVw+u_@B0nFB}3h0VfJwvyc4yhC+z^J za2gvhRE`1<7ogPkZvce^j}-lU2M)z4kNxi7B-RrKAbFLOV_1C(M`J+jG0_zj{FHOgTd zIbDaYI&s1T*XF8{CZCD4yJWG)7fNw!Sq`DUl!%8J9xbC*(bm))nh&`CG}^?4G9 zW=U%3P~N^G+y1st3z>sxgbUAxst-LbakP9<(8Zni@qw%mBcyf^oooAQZqOI?FBah5 z=Udw@meagi+lv1qIIUlG{82I8SE$2hAV5$>d~`A%%=V{QoZtjo@4lmi(L!`(ckTyd zIOc`mE5f~Jy{NkyqIOQ%%`fZj_@TC_X};Ktnr$D_#|GsyF0LZ?$c;Gm1pd^FbFAGV zL`O;-PtEm<4br$qs*fM3Kj$fCFr{o2ZojQr{YaMfW5^SAb^tBur$b*f9e?k4EHo?b zSeizHl1GzAMumUq8`A!k5NkEzdwB(QBZwL@b5G&DYcJ)!1aFtiQ#eK!luNBNOYZHq z`UP>MCVKkWOI%p0!RjkN8x>j1@onL5Eehe2$!DTfD;-s^1>*yUPb^4!Se2g$3pnG` zEY*<6lE{y`@)52Ypru=^A0E~htbO-``cKvQVjWE$j@*=3J&P`nijHUn#q<3+2cw52 z=DRToWFeHJTR6lof1!X;c(YXNG3x@rxtfWsQc*XtmuBoNF ziDH*+aL~|H6EN(}eRV!btpS{$RY<+Cq;dYF!<{f)$G+`H7pvn zDP5bxsY@3KgTA!-R8CC0X0dKXxAW=ptmH!hF2zxJxi~M`qg`FQU{lL%ur1hd$z6(V zv2*qW`D-o4>Z|^OM^)0JeD`vdfL@}ae@fQvdK_SetZ5g&aPE2Sbo0{j45 zwl6QHP9Y+$5@A(sl$_1kh3=(sVz;{?^j!=Zoco|12YD&ETExZYM}UzrVZG)qX7`Y~ z8$VXL+Uora$+eWcgvLau)c($5!0Nh&l7a$3agxP>*K^?$kJF+?RMTCJ4Qh0dug=TX zPWpC?+>>em7NiBmat^~EILCf{zoqZ;l1BXtD{Mh2fe3r3@g8QSu#oXlGn==Zx$){$5 zvxSd*h>Rj2y8+puJSJI&92w3 z``SIT&RPjDZmZ_JW2a#{_!#d#d6|3=40yHSR~RY1{Z_=Q3(FVmNycg`P7hXzLT>D2 zS*zvKkGNjbQx45s*1VLHF=Jzy2-D5HU4Mz0OyZQgQxfQ{Jmm_kG!o~y1U=-AVgbU4 zqF>PB{ZvlAb(+79H3()ByZ($zwy0J?j`*f3A4CH$pan2sEHvN?dP{afan zr9qgXKc#K4RG_Z|q0e4!;}SSXF(x>m?AQRAAK$2*#~z+r92J4fSJEKBbuu)qV9s`7 z4svJ-Cj&^3JQr7jb(??V^qc>%as~K!3M!va-Rl|B#wU)N`!Qb{wQm(WoM6i$%^~V8 z6%LWb-YLVB*vkpIa6^^b6*AS6i({+kBG;;b!*SRJ9t(cO(B&Zu%p^%`unF9StXX+o zXixb#qUeiT8?o}EuWr`+xLN(_U;qFA9buk^Y4;)!8vd%oF>_zOaMvk<@A81-bCty^ zZ~}9$6+(#b;t*kFobFUoi^(s$_UK<8_+M- zKZl+zf9H5KkI~z6_UGJ?VC}F=9eIa$>&R@qS7EM>vk%8wAct)wo0u+&Nj_MOmT)K2 ztl-EXpF>1rC8y3b>86*1DjAkFL>HH9!wVd~+8e|Wj#;$(Mf3(G8=R4?S%y(fMe9Z@ zk^K$#tdvqj#XU@ksygw9O5OYq;I2Sbk8wg*E~11qoMKf`WAWJcv%UvwabvL1?7df4 zNTVcX%nmW1a@iq?vZ)QyzpwfUP>ZO~xq9XCiMDw*;*}Y4arw1l#mJ$f1vFs3c@15O zVDC#-0*KHF3NTK%1sWoGAeO#!dN3l<0vyxu1E@@5LO6ybF{n)(96_KA+SW#J^uc4C zU?Nmg#duPemP6qBNV?O;Jl2!Jn~MU)M@lH}BY1CFK%}b35FF2{J*uJ{M5b$4gVQ?+ z)YquNHWc4;a1IxL?YrUZ{NSSizS-cvN(CszHm6k5=1tv2`)&hk`STb9+e6^x)Po@U z0c*|#gt;on+=H&@eb4!s@o1(w`xflr8Py>a@phG697iu?eLs+hqJ_Z!Oe>#0!9r@D zgTM=vCvLASp;_8%PRaDJncnJs>hQX=%c@pZ$2Lw;?Sf`H`}oE=wdBfOH{eam|Riy4o8HaBm?P zO6a+a@&4Cn7F8(s2lWeh%vYDp(_vVR0d9H?9rht9Y^T>jE6G2%A# z*u(!BYDX9{g)g`)cZ33K=W>oVqY(9=9KTb=@FatJbuc2S3_+$g^!TMMj#iR`k~cC{ z2bvGRN?uE`)_-#?S0iIfl;V=IvIY8sO@F^3Z8C>=S@f#N&#TRT7Q=Kit%F|J3e;bH zD4-RDJw@hg8Lu>xGEUQracDNrcaAK{Fi%Yy-OH7~&snbZb09EgHrW@&-BGwJ5pQ1> zpJA*xtQ{j`dhU^q;PLRy_hb|wN85?`=kya(EZPtA!v-+OZ2WiV5_U`Mvi(M#&J`Rj92%#o$eCW(6p@i@n(WDPE8#V!JuJiNPmHs^5L z)0rHjNPPg;u;RDZTHaL*R+o##%WgeyrGK4sW}4KL3lf=z(vWILHh%E(+5-l^bUe58 zbBLoF6!cQ6JStjdhTO>sZ3NQQR($^fdg}hRMwQ0H*+J<;U4n|yo*L>#=BHgmw#A63 zJ2i^SFPcAR%!ES&k>qtsx)+M*gnNGagO#%i5nXT>)x0naHF)pBy=mK@9A~bZu~Ca*WbN_d{j=k zC=^w@bm_`@c|O{zbcNaJW}NRs|1HcHx1IG54B6lh=5jkFZH0vcGn6RF*{U749r9Ub z$=%ldTzwg~(^d1G?ZMzY8=crb9J@eJBB*I!CFnHbOtWM>qjxkW^?6%2)&PW?DMg-A zN>%)S7<>14sM_yuTn8y)iX3v9ic&dMPK8V*Nz#aNEOVE{5IQ(a8MBKbggc55qnwf$ zG01UpuB36E5W}eCFw8iN&CKlkch%?f{XF0A@ArE>&-3TqZSQ^UYp%W4d%f3M?{&G& zhBH$WPaekK`H}a5z&bgr*mqt-41X@5zERdBm`K9>VzM$&$zOl;o4L1F*I#{`(}wJf z&XZ&0keRn;N|-s3;RlgGoB{o21}<`HS^4!m_*|U!mYnJvuo@O>gCSy|!ENol@U^~z zT@dX1%G+yZQ&Ifkq&%(LYi9_)MX9!TAIXV-RreIPqO93E;u-x_k<^v9{__6)wUsvo zK`8mNck0jRwD;d~X`{144cAP_kCeNg?apa+I;~Ymy4J1JI)XR&akk;*&&e#0z=n3ecNtvl&ZMyp z5lsHvVr97Z2HoNxk(&jMzD6{Q{9newfS=*L?$N$f>AyPX@l)AHMpfm>{-&-GH`KLn z*E-*t*OXen&3#R9wdH$VIn4$Gd5MOEgsKQN!+QJI$@o?`=i8W6hqv>ANTS(>(eb@@ zV~S-t8}!E`KFo{vc=%DrdC8tvQW+PsChnjG(uut2o=Xv-XQmnyxBVU4$GFpl4T?Vb zF|ai3r>q)md#Wk!-4~@_#i06A=7w#a@l@o^nUGudO;-)LvUrVZ$RX$BuH@s4k;*z( z^g<1o4QQ8Rs>gcXZjVhWm*3Mk`l=U?_b+thJ;v4~SJP@bXAniOi$^BgcL4Rby%V;_ z?RPOPy8LFYYuUC+cE!cr6>l@8NDg70SNTKu!Nh^He^X z_OAIg6?uzYb?i+VT)A&yIm`FjlRCZ&E_EDzn!f3V_nVv7;vdW%{N$KpKiONVWwV=k zp1t2d`Rb3}cliGPJ)!4Em|q)t*Eq+T0%#AaM89(_e+UcQWPEO!?Vms3Mop^!dN1Mc zZSVP6>XeCPqj1%&-yM=9?w3?ORa0mj9Lui>b$(TyZ^KGISqTc?pJJ+q1>u;LBZTTE zQrAJm=*yn7`5L+f9%X7zJ0cI1-j|cW1V zdZ1;XLH4|e=muZqzc%hh6RwM0*o@1*R7^N6YhWq%pmB81P7kc)iKpUto#-uDvYi3T zrE}NZFiP>Sr^enoJ@>^M4qbEGQM4=TW-arur$#TY;@jA35fzigrIiezE(|HLPDJj?mx>S6?n?>u3^7cHt}^!K2a8{*M@stG z?lJU=r|QQ#EqC18p{4;e^CAI?Ux$(iV_mBq+a6Z97e3YF)6;kv3~)zz+V?wV_dMBa ze(LYwM^A!$-7qf*p)5!Nc8_nls;rjsM)GtcYNMg?gKLMi++^g>JgJ-rxn|%W*pp@W z*n&mNVA3$sCqgA+6(2YbT*n@oOHwN$|3Z;vn zAe5pg*I#Z^L_s!PH(BH#z$GU*P#r-59A6XU2=2Q!IRTq^KX*2G42grV-Gv4VUYsoC zK}rRp`qp~EpToZ=)TzNk^M)Ujb1lMXKx_k3H;ozXXOU==QaWtHj_KE?bx$3-Es@{qu11>F)4 zCy~XWUydmNXUO@u9|#t9x9%t3*FLyc6(1GBP4U=EV?7UK)?n5W=L zZnD3h1bThH=;OGCh(6RY1y4{`3|4|?B=rduS6w} zc+Fa)?VsKj76X%w5-(nya73D#`vSa=z07&oe&eZE&-H|a2QGeR?Q;h%blkD_44A%k zx$Y^V&njL7mrSh_lPa*wx9V&7o)WszW~ZHwbh=_^O@7bW#P84TZrsTWy|m;}NREwnurU#(hu6*-_!l*(wXP(>yPd2 zyuV#m;lv*2oeJ3r*2fdNTIZj7mudFqyS({fSLl*hV3*C*pFEdubm+^?JC&#GZYBm- z2Tys?9j^WtW?MB^(Mh8>!704Dk0J;*S)-4~MhsmR0l+$%=&r5l9j>fB8)E4`|?SqD$N znP~kMYZW3$HF4JCxozN1HPKOXUf-1uk&ngMpQ&|O*hly*C6C^yHC5-`CaHCNr?LKP zEHnM!$JX@u-7T|eZI%KVN1h#eey5Md6e|WWxG#m6#zX$#$Bgph6nG@MlZ*UgX~+}M zHVp3yg#z9*x*7(WECS-zx@S0zZHfDr@ex39-Q_I zo`?#UCP+rU36{&j7bD{_h83cK^AYU#pb6gK;Gl}>Ebw<{-gZ+2I~73yQGgjQ&O&z5 z8YnB$V;IhCtWX)k(D2}BndyU1@*j~^0LYk@kyPniFq;F-Vf*)6Blip4DMCp_fG{X4 zq;pVH1^l0fzW@()|NT%78g_4U9GjkL1{TVP^vN8#QV0@+;<1(j)STcIcxQi30doHx zU0^Z>0K=b)wkV(k2RxX67D}6biTQc5H(uDT_&0(ZpV$8%k9i5MFXrYU(aI=9VUDq! zvmCmFf`eNByqy`K1s|Nq`A4J=wDsLe__ICmZ$o$*2eyZq&G@ktDX@u;wMM*uUtYol z2{15|Or?~+N3~9@m&VEKfu40~Pr31Xl>~~w#2s4x3u^jG=mnv$DhfoTDZv6% z+YH#BwO@r#ECnA{C}XTx5K^5$a2aM`L!?JXvBLFlF>qiD$fVR`a-djU#9K?A!rOIm zr5=H9Phcc4m+AdeBS4p*P4pR|uTAscjOTu;3Iw{AZrd4SP+9+6jr-Vav~pkqV{~R43+)RUpY1a=H$14nbbWvGUcK{s?3=JCn==9KXHSsY z(vs|=Z`QT;z84WuUiDrzd;!5dCA}i;gZ}ydw)gz2jrjjn-|~O;k81#vK%N);TD7k( zd@c)U`%*p!CkHP@bS|vi5YXs9j$B+>=?AlRhQqxUF-zUhLj+1+72F@%DFa-d53=I^ zk4UM}@?y)mKa+l{9Xmp=>miu&i6a-6g`h8JG4F_o)Lm3&rVgK0zR{tRVQdm-A~b!AA%!m?ahs6BbXPc%# zx{-Oxi9{nS9Z~<^lmz`>ZP|ZPu>Y;I=KuDd|MbmM;60uKd22*Ghp!BXPJ6_RXw+S| z8=s18m<@+y9kCpGy(?`EY&_MVst#X-0G*ZCkl?-YWME^4#&0w+ys=Mzu)i$E=H~F^ zm&v7l?1Y{|)CxisAY)D~+M0z3s2bE|xbu63&+Cj}N8VF-11AKq8DUpYqyCRDQZ*V} zv6JzH1nb>I>#TuEdwj6g{+RY1Ga<1$%j+doemv(EJJ{{k^KLI{rP^-$^JXKYy#i}a zay>Z$vkB3Gm+WFJIhLT*WG$Qp#zmJ|r8tY&?eHMrvYCixeLfU$%5&QnEP13#UoPpz%3smop&M%as=DB zyYBHd1SXXUPSg6>2M&fS@o@tmyRW%B!f7lM>-N8x`C2Wr4MD1#9wubE=nPFmIK~3a zK>M70QC)gKcgn&L^ZNqE6g}c8ke%YaSM+~0YqkZPh9f|+QVF%$LNzNJ?sn!xw$had z{&wY6!fB&&)xEuM{Ax^jiDL8HGbAmvQ>1=Ue* zEHVk20@E>^^Ayk@BknokL*671<$AQFjL}eoM~&iuW$pCUr$nhr9eBuK-<)`R;hW3U zuGrh$jWF&39o4!)aRhU!Bz=rfp8e-z%)jNgBq!anC(%%m%)Ew5mwO=OlzXH9MOD>qcokGkjCH5A0DOZKR4U3tjV9@?pNE zv&k&BS`$;D+dK^rZ)@u`+VUnys(ofVoV?0`I86G>R|7NS*_caULF zuyIl1x@yS%bVS@clk`QTIn-QT)_O*dOz=1_l-_tOu&U z^N)!CY`-HSev7Lyf|*_#V~f?JH$a|kje0nr337Gk-?TkY{~E#^Cdp1;rD43d(5YMgOTvVS_*ve&Nrp9`UayKjJ0j zd-!nuN3o5}s3hLmWUuK_F7rM$ev2hu>5%7@@{6{|a{8a&7mYfkziGiY2x36=*~6Fb z{V%h=Y8iwIqAp<74agTJ$2vYDHkdUSgL_Cr3(n@*=r*G64(Jq$)>XeT*{~zLDPv!i zMO9*hs%Y7}6V8ii1&90%oG&Le9x0(!TIZFBKk^e)EeiAn47!Ex$W#lNa|GxQJRn(veqSUmL8q14##%GxK| zHzRj#KPaH%{3CKZPdxp!|xp*U{0!c!!A5IU= z8B8)<@tut$%D;q@<{DPh)fBXK0uTKa8IWLN=<3Fd*dqGMENGXi1ikK3P%}xB zL%(OLMi3G+?UZ9f93N>kQ+W|X+v-Oh``QQgYl9Z8|SKgUgveS z77iYfh|<#1(ho>+50Uh5(R|%rU|va&&~Msrb7%s%bo29~JPN6=tQKd~=HbiFhYk;r z1+o%|1cvVfhs{hi(x`Oyy|LI+>zKD*64xg-uSlhN@FGmsz&;~=DOnTclTGZ%&)uy< ztE6t*j|)TF7KN5xg<2JL`1tNaI+&=1g8|sBgd5pjf7xJL%|ts#tjE9TT&(;M7Um%dF!en~`--n$g*8BmLBnF)*865VVN4@t6A29`T5==9 zOg&%Xht)ZhXd)(5D(B_YfLx)k%5ZxAL`C0p=LMG`*G~y*dp>-$l2x}nwed^tT}%cI zJ{a6e(UO2-~zx~+2&rlT0D6Y)^;jju#E-|Yu&pQLn{ap3qQBuWr#etcF ztcrJYLxTLmpBwhxWmT&$PB8qYR@gOA?>NsBPJTo56h24R5HE5?@4L9wa?M9(8~q$ZslT07tlU{!v?l(NpeNg7qIjC;A!vMPb@ zz|mmKj!yY2zkOGh+?LUHwy$hGmH99=@Uyg9qrL;OyCikjaKiRLC6Vh`fsja1Dakz@UT8u5X~N!i;296{T_PS$_9C`5019g5x3%tBVFiKL=(P|z&QAHPr7n z#FMH8gCmU%X79}uzVUtVTwC?6X6!64BC~6=4GtLVkQL1UPj;SQ(-b1UhXUTq3c3VX zJAoq{y9>Y!iPHBZjo!MgM4XLcm$u<2fX0na8>Yr3vSNJqik{T}YKqPDc95s|c#A$a ze&X_6u0VNT_DPwYpuQZtauN0Q^@e}P3>bPIBF^|nL`;hG%@`}#vZj^13Ug^T$_2Vx zw?(iCz9-gDXeOyqKdit#lgGueR3n3>;>Wg@4N`#0N%|lj3^iw?B)nG4qO`O1`tkcG zFHhnZ?UKe9g^)GZ+vQb`%K2eoK!3lE?+UJ+UvUzF5#Lgcrdq^5wrHl<%40FExQkx7>n#)^ABSJ8sXr+f*DOR zt<2J7cI#;2?wygb)M|P^pOrIhVrRg`M0DG7gByg$SnBb5Zc}c`Nq7N-TQf;nq&Ym>&O5^7!NU;A5j-ha2J(4W~&s+tIyt!O9rHn05yGQ{RZ!FD_6BVhro4Zmf+{%B$%43$_?JU&6I)@)2ty1DAL{7%z6iLmMggoYwdq1z!?Z;5v>j`PBXv81sm}dLe*s#*l zAZGImy!>?+zaGCg+n*z}LRujuL{>KV2k0YtJsWDq_eal-I0)a;MvBPg={3^yA^~2Q zZFU&W`}pt^T`utj{_*V7@>fH7FlKc8-h$VUl!o>C?J^c6w-xlOAB`40cC%h7XJ*k{ zfseJo!8>OKN_@U5SSp6NKa)_=Y9_~Fu$A~&S!z!iIVJpB4C`3$0GHd$c9v^ ze3F?=Nq4SPF(JdN$kZp_gl;-e``|urMJ{9OA)|>wMDi&zTh}^k_xkk%TiJ6WuQNqO zu8XX>D>AaGHSg4hb>}_yzCTdB{psDkM?uBl+RgQ1@ov;r@J?W>%z=|4f&LJnE{2W> zWXi!Z4TzHPIR^hjJ~bnjduwzlQcJ&3sl}z~t%*To3u*)Ytg{oLuI+5vM`<`iy^LFz ztZq0rFy)wfEx1Z5drLMWZxPW9Wro%==d)5VgKLlt+I+nAwK*R$I6-*b{`ux#%7blM zscxknPg3`&5zReWfID+D?o_vWIlp;<9de|{@pIfBYm3bQG%~)&2KaoW;N}=J%id6a zoh%c8BlL#ORQFnd3_rgmRgGXQJkAfn5MZ-;V=OIYStWmcW1^ zKYKC<{>Z-6J7%DTFKB=1#*x<|JDPXS-bHp!kd$Ez-%6m)HA@3=;FX@5Lt}?!thp8U z%hJuh=M?v7saws|9AZh>P`p;+(kZ_Zm0s<5nq!2}Mt|$-1fQ8IE$vP;o1iOT}HB!9tZUW6BuCbM*80M~3w*h|oGTVWq&q@D4Je{96`C=v@-}79E zaNUwsPw(;IS6<-6{v(2^X)Z9VM*9LVy!tNY;~*jhVwfkNkUB3aZ zG(dc>$qi2wYMBLQeVIp(pzGrWDgft+>T|W1;;A@z*HQykx;+=RZoG3Ma*Q(I5W4pV zi`?Y4t8XmQnWNF@vz(ctj5l5v(Wk1{x3H|1AbAEr6At~^S*n%Y^)3l^D05t>ZPc^O zKqLW+6DCP;?k2e_v1l_8a;7+|R4JXuQlUqd7w4Y9t&dRVORZgUv@T zYQATRBWT!Ylo1{PGLl`Ux+4_H301`o>J*`8Z!10*FIS#a{AlA_r(hG0^cd;STT{*S zIP&+99dPhDPGr0Q^b;r%99_#ov^^V1njKX7Ca*g=*;&_;7%OfCK7k&=5>jv5C5mo~ zYy!BR4i2gsc)8644W3oUPhmO6Jzlc?1yQ29uTX#X5pBJe86zZ5pxGPPR=O@_47*-` z?gG|hM8(lQLsG-8L)D>zQC7H1(#C)`LI<*3h0H&Vg$DeSYK*RbK zh`2T@rX6ZUbI#DBQUz7y$gvIs|7c9<*rZ;Hj=puQ;pCyZZLoBUv&Zm&2fL63SD$(t zyH(3ii)guHQ$_tIz}>>oyA;Y4uG-TFV^I5a8VaCp`Zw1~ps>;0$a-4o_dS3uDmdK@HGqsgOjqn5)`Odv2Q-XBm+1; zzvY}!e__CosDYBNf$KHAo|DV2A@1vll1|r8ZFyL-1(QT!LlkD@f{I4NfK=3I?7C0d zCgz-yTHo!y2u+v_^n6I_L;rE~8dNtZ%(?#KiWpPls3=qA84m+?lGx3%GdF zL18kohR`;4%)(P#aE9yHKwC!$Z}HauKKEwl#aj+tIQ{B;b}yh}&1AZPMUo`Cb3$8_b-(HcKuZ12 z!fM;{?xJk@m{F$mu8L9D30uqjU%|ztJJF0q+K;7JtHQb&G9v}Kh^a`P4&;I0QMnH%uJIIINq7ZwG5x}zw#SeuQ@UIgAd-N@m3x^Z?X@sAAXYS z5cS4sz->~_p?u)!*K6bhG%Rfa7g#=fOK46TNrcJ|GudPO)d-zNz533#HO}r5FZDNFZJ5&MNN!$?)~?JAYd&A&G=!l?)Jkc*z{Q$qbpWpFgrHFk8$NcmB-x@L!ANKfYB+I5yu@>~YHahFRJrKhy3X zFT+!(g!q+7ruEJ~WOij=$G?)6=nVkuoTm9mV86!mG}UgKR^%tc@WYweituMcZl z0c_Aj*+O-bg>PTdI@zZFH&G&+s2K4a_!4 zTAs{c`zfTg`Gg)X`LH%D+_}~ShpSvzuHy&4Me?60JOEQR|LH)=FaYh9NRz(dI9Tj} z{fKs4nrhBi$n2Vn@ZhMO^y4pNSu>SlKxJqb&ZHiae8woV*-6xVg;h*KS{Y>uC$FS* z-fQm96OzE}D*8MKM#66Zx5*Peg+^Y{)(5l)pEY(2gS<`}VEU(8tOE61U2~Qm<(84( zmtM$zaM`L5*)d_Zm3rWdY-V{~t?g88@1Jnf+*z}E*$098YO5;Hi>EW2{$!;vZMP69 z3t>^2?!Xcves7E(nITu}>+_ymdZ3^5g|w!)+cR}W;vW%(i3&0vei5qjvbD@0A5oiB zOb++t8>REAb=UpMyK!C3c0j@cD5|>NX5WTh7zw0jc^1XONX#X4KZ6$-*QM#d8OFUY zH)b|DXW=rISpJV<2zjlyY;>&8Xd4LarcRbT{^DreeQn$MlcUFNKb-+=1qZTN4&|8% zGcA{sp!!a5vcBZ-Eus3Oi>QA7(cYirQP1h{ti}-u&Gj0V-GS)nx*et6VEVKPZg9&R z#aV2EugrV9oefdfW=vIHtv{AC-M-sL)B_+^#&})KCtjsc4XUR=92=oL@2c>zFXRJc zGrW?zh&O}<)K`I_;=GwosTU*kdyj{f>ts5ncRk)%P9H0X@e=qKno7N8PRx!f>^!>b z$>&kM;2`$$gb=t5z*(LBw`E6vA`4W&KdqhY#(4SnA7Ju2IC9~>AXH7}oh{cRv`n^q z#83s7I1=Y+7F?AF0!~Z95ISO@>>J6r>t}5Wdm$c0i|-mxyHQYJdqE|=3PbOrL+9r) z>15b|&Ku~(c%tFma_M}GPb&2-QCnC7ai3~H; zVBZEW7bi?29_1`q$}`It(+~K&iJFP^v$;*3Lqsg6C5AKD=%{K6Uo_pFP{wA@ef>6x ztg>2z^=HLchpL)Xo1ivN=~emwf_I3I|8etN;jSuhYs%!%iVN-@nsbdJ*z%F)4nzqn zK@kfx+PJ?2M)A-4C^|;6J$w923o-8@B^kxwaML5F=hO`yRJG^j>q*;)I#W>sBPd|P zH_NJKulJ{7O`!TF+*}Ii3r1RS56~-gur0p~BOB_#q`hP& z=M1!LIX-;|6r4u!4+6!iOwNOK*x*Te$*)cSr5_^pbDRwhQt+!cnFI99~~hQKwQ{tN4`uplm8ud}iRH_0drCFE!D!K0bq1GZa+- zv)T4hNAnFz!A~;vb_v^viNK&p8)1nCrbOKq*rXBA9Ed7G!>YWaMspM;F;Twa5cv`x z6jQG0V`36;T=W^0A@lL)g`sb4+C$&EzqRXsSr52G9DMMFEM}wxd^Qc4;;4san=04D zr(*lZN0sA3ZhraP+Vgz=d57=6<_HNjX(MTvxp>T1Poy2q0~}>9cJ$OARPSTEeS?Vf z8IiS#zr^gB%cOu+2-p;kEmIi~r&Itl(s*UuGdZuULxRVkfeOGegaJ%dfmgKwSg(qeb0xIeSy?uDW zfJj^~*u;78pgbKYhr%9!L0Ug>6u&lz+isTpa=)S! z*rrpYR!vRvnqlu+`JP%tHSj!nWh?wwv4Xb|hWb?yixe&}pg&pZ^^AGm8Wh&h=QjqmGL4Or;1S4Ie2}D;m*aP37$Iv%f*P~VA$X7$U zY`uqNYbqbVtmKN_Cmv>5hlbRzWOp5<8dSuZir&a|yUPzV2Y>c1;T0GG0li;v zRifR#Q!r6T>2|#nx>8GD9EQ(w)f#aMhyu|RE*%;C8i?KiN*){|K=s<-S9Pl_vL*LS ztY@LqzQ-Hv8iu*jM-Dm5cHI4REJ6(WO;xWFfPJeUp_Qxm_0dZ6ruUDg+wPd$F~tjq zDR_y`i3Ww#fynzLxrvI6aodx+esWE3y}9Ue>di!8j+c?Q{QA%TE)c*MD$V8zR1nu- zhBX?fg608Lk{U>qc3D@J)T6qi3!#tU2FT3`)-Nw$WwbwI#OqYQF@KTJPN(lVZ||$I z(v1qVoNH+-@CwL}Ie0SqzRl1IUg!%du#(EJA+L9<12l&E=eIh-8o_hS$UDG5sOIs- zpn30=nFiA~Lq z{XIvgjy+SbkbF5q6Z@l#hYDR8z)XY!mo+2Ie}nPGe9hwB6y_9OEl)fPCvyf*RC9@P zZ*sLUtaZ`qobe{fLuapFj-$62pD2^9@p}dQ@1{dXlx;nBUIkHdC_=f#R$RMf)to1r z!M6i2UrYEmf9P)d|ZCUxCbAoSFIg$?TtUq5sQ#M@j(VAw+!Uo%WS;Y zlp03c?s6|DD0y*(1l>TcF*!#-VWyj~4v?{CYq|bSSE{+V2$G!73XN^WO>^nV!gpWj z3pgC4jXPS=>#<%t?;RJ{G-PiP!nblJ4dxb6r?xycKVa*l;f0|4;ujV%y$8Z&(zwY{ z3-q-F^JX`_z9Kbhr$BAA_EytMSz8p5j_G8lYU9|TDgufmDSsqF)jMJHWnHw|6bSRhg`Pt1HO z$#aY81|?fyCThFtdQNa8q5|tRn2B)G@4Mh0)SyPw#TrzVy0_W>J+Xp{Sg5{;K3NiV zPDHJ&xD=>Quety0&=v(1i+@=&WydCRBw)tga%Nj03F3{M!71Pu<40ztVVUMsg8{9i z0ZN3xIm^w)|VT%7udD96-Cg|n{^BFNMp=w@1=ld~`uzjgT%Q5oqWnt-_I>b3>YLQClUo1R2}0)kU$4Nq1=JZJDVI-^ z*}#CgTQ<;zwvf2jzmZiQQ&a@h9qMuZc8`Z0%vLM#KqJ}cx$0r~obpXH_S4eqC5e|Eew!C}K+XH}DZSsT8CJKh^z z>-sQ$1sAnYc%W~%vEgxt&xVVx6|7pVDzC-hxk_O?R4;}Z$$ksfTYwoqI4N&rfA98p z!pu6cbdyo2h41j#Z19b@oC64R)>kx{uXp-T!TlNK&#V3@yH=AGg4#ULSgx>R7#M=Z z<;OccVL;?emAA5=0`CJQRtS{AUH3c%0(H|Kze}p$0CbcQ?nTrbUnc+g;>H1)N+LCq zd0ynwc;q!|z3r7H(i^_c|A^AXmd${fY6h^BJcvUYnPRlX^tw&|3!h>BH~1_eFJ;T) zan;Mlp4~T}(n%=`f?sO{?ijqu29hFa7^Au{gd^I)61)mH3;!x*OQZv*wMF};NwNpg zGiDcwaOum*Z5@7#F`1b^ zY~V}F7oW70pN~JBWJN1vSgCwCZ?W^CNGdoITQJcilX9+6EA$YMs{!UQm`ws#E)=&A zvHo&%dEuCfWs}_66Yup2(JZy%yY@4G?~k_j_(dxMsuux3#s!Gh_7CzxxSt^zP_!lu zKi<3xgBGa6x5f;#ZZf&{Fvha)p?iyyQrCu7jSRihbcqsJQNC>6WWac6YJMYs%1Gy&p3R+Q_R)I_{{ccoSH3S)e+2TN!x~Es z?XDodt-{qk!TD5wDG(E3x&a^T3vuOHQhCys8OJ%e`&rMt@1!^PwpsY< z+;cVcR>-qmS4{ue)^j-^W)9+Q-FTa9{)DMz7=tPfl z`%V|F{GIUnX`VL01gV9O0sNsFdKW4h+#3&S>SLPgWNNzW#&S^@1b%Pw)Q8z6&D-A)1I#tl z*Kyug07I1#hM7!dOp6O8!qhx(*qTMZ$5cgBuu!fSNXG>Xeqg#}Q*_$6%}g4s$? zb2Q>{8;MC3n1K}wVeL>qSZJ@+k$sGVO+w;4egDvtHDVHhd$g$Q|97>=H8%f9HXO_UeFLC_@ zrG`7Nk9_L-`jwvf)n?4s?Ld@D;g_7(->i$bUbJI?lgk*R;XYb|Py+8W$rm`526Zti ztn<)|Zm*F7g*9auMlH4}IXGbs_2@*#hY}y`zlEfQUUA}mFUGPO_Z8g*F zQ&SBiSjJ|%=S}=GRmvaa{m*Y1pEd9j*s2N{KQYFigyG)e1XEX6-6Cv^HV)Z@L-$ila3M|GB4N zE2w#J&5Np&B6ZN-LJ!OAR%ng7GR^`#9O!Y&Sigi|)Y9gk3HP-$?7FmLz{_oKcYyDy zbG9EU%=RapE}ElC`FPF^t_aN_Prga!XRu0uxWj4CwP&VAoV*b<2oplxuU2z4E?`vZ z_I@3>@VXs!SFl~@1;96vsc!kc5uU|dqu48qz&1bIoTbKR=%?HE;YF)~k`FGm+HNHg zkvuGnr;VOM8dbH0xu#ZG!uS?)nPZ$rb*D~|?|^0#jODOgnNkD~_XGFTuX`hVlUweT z+iE$M)}Bu#Vf&6``UFnK&x69cFbTrtwq`QN(f=!S zre}v0dz!R|38$!C&mj$tqSq2AO)J;lU5oATHnw@gT|!Ae4qKJkhm!zt*)&wxyzW1R zKj`n^)Qi63?4&f3VNH4V(CFa4FbP^bNG`uKYJw zEvF8D^aH370<7plZTzAPSkLuIBjXBz%oGpZL)n$Unw;gG7H0f-m*JqR)dl*x@;R?- zO7{Oq?+?}s);RoYf6{F4ZwW^*;l#^U?f(Qe!3r_oV~Ohjh?IDYV1yO{uQy_o0fB=q z9uK39yhOhpZzlIAH@D;SCNp+*MO1JY%@u|SF+&v28~u^QuUFj@bIJ7{eqFXy3QHmc ze<{tLQ=VUhSM}bN`Qu*RRr2Br5TQnV$(&R1gO)5vu$hjCAG(oCyja{T&>LM(yp&H| zB`gq#-uU^s&)6dJAQ(g{^F)o5hHJTnD!F){~LqDR@B#|!6T780GI|pGjDLx7+A>v@q?1t9HEN2PkKGJognoC?$!)O7!6hm03Vp5F zVXkaUTUP(C;?IGS>psm)Ircnw)My>HcpI`JWw_Q28YzWU*HUq0Ywz-*UkjZBzkq&W z>eW2HF;tH+kN;}VGm;MF@^uB`bVLaw>E2y#LOQ2B&Uo^h=|X>D3X~i9H(L3-z&4l& z>^Y5%iVaQzCt;zEU!5fEr{HlE@)%Ky38;k2DA}$_=gYy*?tp`j%gyXir}osi=YF%C zKknsGf00>UN68y2tjebU3`Zm_g^|Fx-a-0F8o~miYjzp^F63b&eF$Kj_R0`#^D(hl z-&tTqq#kBpS4;5U=(XSH4*!}KuY&#J^QY?0XUfBEvj}ZOxPmGh zIMT#qU6Gp~{ zh5XBK!7*xeEGyN26~Sb*qLFQ@9(}$h*0X*X)mi3aS#NTstTy_%X;%I!z&C-cd=2sO zMGVFI9}x#yHI-&2kjS5asPvXL8*^TjFs}wTA~eEP#$n}%p4{9-7Ckm&SCorWXSVO5 z#cE&NxhE$+FDE-ZaF12Ue9CM1UE}AL73^Yhn>RRrXQFULlRN?7*jjtxBg{w!IQ~Y{ z%`XXbo)Q;|M2vNtd=6%F>Fn)lE^Y*7%gWPAY3z&1>uDjb%+>f*?Z(?dfcIByJDqmQ zBQDfi+tMi^)b7`TMBm9m;23hJh0j6t(Z3s>P@q*;YC>4Fh>bv((CVRny@r8oo?1WbCWN$R?D?ZwB?6~pn!g?p==G_?c+OtQWBM7Nbd}okns1Nk zDp;=i1fu?kg)|}NR9AMox^+mcUkLxK3NPJX|Hv7a!4(FnZ$iM-J}aCBx!qN84EX8R zA+1#?Hb{!C{Q{4x;WxPvkHKOuhKYAze7=@fppv%rdxu+-fQ-=kzW1|zQ=O#ZOw7)= zgIh|!xtu=L=DYDB8SBPaT+orCGq6+s$>h-ZF$j^oBFvvf)`8E%Du5oIJn)1AYw~h9 zXKFco+u{SOt`PB~X_}O+1hgF?Ej*|Mf2Sqfe}@X+)LiSzfr?L`Qad4B-_YXxTO{q= zRzM(vjL{FYK(3K@D3bT>x7R{I*QfY`aC@NtLpNCtV58;hHopntVqa03{3C*v%(i#y zv$cPKj-C*T9R942s(8{Bk4v5`>m2oh1E8J3m83iK_H0nXL@1_^#}rgxB0xfKo>zhG z?*_5e3!*M#(cFCm8c1uXif{1gNxc%+Z0hel)&!w+zB{YPvyBwX$$_KQp7ylhho5|} zGq?W%3KxKH9IYd{IGfQlZV63a9S|200Mi_Xkoq^1KpV#Ce?;OGXP&-RF=FYq6v*%~ zg8lp2wB*|;f|JEPAOq{t;&tkyf8Z!>wF{VFESGHZRE^d>ouyvWnFUTp#o}<^Uh%mF z#?0VskmXzokXK10wYIYI*dbg^-dpajcph1t)IPk?7=53jQy4Swk!#I59c=7dQ(kh? zG_SHlpyI>Y`h9N6+Q+aU?=&%&kRF!H!(qBBC>KNUw}f(DdjF~$`=cYZW*izAn^y+4P)FY-O(S8K)@3Ou~y)#hT)g~nXCGBEyz!VxVQ($zT=B`Uo+cQ@t zX*h89ldVA(wiK!U?V??A94mUfnKsx9P-k54Y$n~#mHf^rfnCQ`Yx#ymV%PV|^VIHz z^pJ~Hu;V6=!f^30N4Z|XwA0<0p zC^|j}@Uc-Hz=v@dj@EcyLFE}YpZwg^V{Rv|ZbV@-QO{_;@e%e!Z(%GbF_;bKbt(AO z?MA+!l}uOR_dcRJl5}8ymW_Cyg-XAUZq}ul!@m?e^MJp<_`4Vpq#3dB4yefnGa4+A z_2emX9SRN%PRt7eK+8_}jK;0|F^JsGjI5FM>bLr($D2Cz67O!2J}FW{{$p&qU|b%s znU9g$Eed}=wBKnkC>|$}WwK;`4;c@8K^n@?io;Q}$y8=DYJ=0~Y}t%90Kp&5kW?q) zWv)a-TkCFgRdD)C-$G$;c$qmt0LBf{ipE!}kfsc=I@pu1NczZ>THNPo&%sO&g4W2? z)W_7KtQSNBPG1@+`$m`!`=?l3<;2mLp_S4J(1nml7AS+#`8|oka@w@l?^d4Is8O4B z9k3&P9@7K-S)SlA3Dkyk}ek48;UR|(MIWPOD=r?Xy8rJ@8|N=J8vok(Ww zp`s%psxU6yZ*7pvip9DZ4wF^bWw}XHuFO|9xsfJ4)Mk{F8cV)snil--|7q^s!=YT? zw{b;Dc12Q@sZ=Trt+H9!O?ye2q6jgS#F&^>h%!tOvTIfwtXNDXDZ5FGDVv!XL#2}K zWF}^#QW%~I<7qa}dT*`I=ljR+_uqTG$9ug0)IS~5^W4vUU-xyL=Xsr1Z?t8)?kYJZ zhm|6rwLh65Doq+e`mrf#Xn1VmF-WeKIPD!)o>1l23_Vs_-}b889VZrCjj=z^CYJau zKk+Um8tU){@%?z)me`=9P|qJ_drJnKc04Md=tL5jabwIlYF~i{>azrd-NocL!Q^nN zVtK+6@+d}W@gKRW97k^24y3Fo>eFFWp2gS@c=@E}CCifKTP5iLg*42ZsL%%e2S{JS)}FB`SHkKLX-KonLb#yvV?KExK4s`Q zd{dM~Zn;@eE7%ww!U84|3)U#a{0>ciT?aLuMd3vSVK)u+638$nU-XP+Luz{;rM?z#JU zXA12@i`_h3y+MEi)Q4Pivk#Fv5HCpJIXc#(iZReZ6l`ZGyQ6wQr|ALhdA;Fr6_vTT zU?1BLK<7b~`?{2Wz*%RW?T%i@tS&y`h)Q(`R)&Ca5iJU(FV)ThdiTI4rrdDjcLdT`S`obvJb^N z->UL(kYE`8&N`IRd7_G|#7-$~`4x0b0}Ea~G3Kg22BNmcIBW@xdUtWLaK2RCoic>t z4BxWx?;IkU_4C5CiUR7gKEpoj*AHOAo3p_;hCJ$`o9?o=tp`FT+GseKyjMFsTKq5D zs)ykS^hxSNij6jcl`yK=%(nYcTE*9=QesLCadCgU`Y>s$-{?~NKN~!rk7wPy^I7_u zH?LnxxlR_|VL=C3ODdo~@=4T3#4Xy~GBEHs(m~dq3P0d$(UHHU*9NDHugmn&b0gNU zqnC)@PyaC#t^O4_2T&8iH#=et+gi#_!B0f!xHi<&V_#;*rlkqZeG`YD!XY$*T#(Mx zfd{{s7m~+ry0Ffd$5y{I$(}-vF77_#Z$b4h(Q=K9PwN#HVA>>6Kn?cvvW}7k)H3*?m z{SV``amJyL7Ex&~E;FnpP7$qsOtR&7zDI#13>Y8`o_IhVBB1|KGYThB6WZh~k|lgs zD9D`EaB70C*RQnsEFmt<#oz;pAaXwa=?UfV2a@X}{z%@r&l`zWUf~xqoYqbxM&~Tw zB7J(e4JZKt!@>NY#Ch^O*gy47Uh$>i^c`?n1_w--1z0zepAoN^^|i$e z#XULr-o z#8ftoHx~?#H#6fl1km7&qcB-Gp%GR$Pc?IW8b>dO2EqUm-QXPOBsja@Jo{_abqadT z;qS{XYyA<-s=q4;9V;s#7Y!N;_nAzyT)`0-7bN(OlVuapnZ_4J9=W zQ5s^9G^!*Tq~OCM@Go69srR?nDOig8!zg1AX-3KL`jQq(GI=qAa)ns3@;k8LC9(l3 zeN+TZit2nF2|U~JzYL%@X@sb+H|v$}z?$s7HJsCbUbzF}x1NlQMilWflWVsRjk?Z? zRLCIY8Vew|_yYfJFYi8FL-NvxK^vPz|IN&hF#j~|`{LfZZ8%QlCE zkjK_yh&3wjmV>MG^Z}h+vrNpK%Ct337dACqurx2a^5)wR!E&Q0`_7*`g-J<+0P6HY z77i(XC$Jz70LHU81%{#?AG0N$HIy_HO^G37BI6jeqA|?~x@SnrNELP7($CRGX~Lxf ze<=JO?{}y^*sit@L`OO9c24^sWq5RkB#Wn4V|wCb7}dQRYhJZ10O-p0#$G&*!@~7Y zTQl>w!VSxPH`^BM_DCkVJ}gMS<5mPGuEe@$?{qvWCC|%;Ccq+&6Yd?m*DJ5_`*^ zuK~hNX2*Yh>Yb%vHJw8gU{JlB1{PBdX#-~!w5%Q!T&**sKO_f}_Q0HA>o(l=GTRr4 zs%Y%>E&RdQNRLK?c?GzA&{4A$RdJVg{WK=TYMifre)3&?{mf7K#qVEcj;l)ky}0N6 z$DBle5*((aVsg-s!XE7TeHhWD*f6#N^HM+;B(H)C@aTp=_&lD{6S~^1L`!$I_H8(# zl?PHT(PC-q{m9jLt7zPcz!!>|U*|J-kf2#yPYw)>1A|qD!8krLeY!;Q0z^wl^>>1; z$CLF%LypAxzRKe&cIt8FtHjZj}NliZ!`q|SlW#1|awnB}ZY28NEh`lXC zt7;KT*wEEJFXTGwERl!hT*jtERG!Wm{LEnMUuT3g=QS5C`LpS9|96M875ELo{u%C% z&t}OER5sPk^J`Bq)Q?5|0lyull*~du%O3 zcg~yK(N|$LA(#AAwf)pXUQxA`UW&5`1E{%7laa0fIH`q z+kZb<X^rb=_lL?oFqw=_d9sql z6Mbmd!OO`zF>+a_Gpja2EE&SYJUc)SUXCbRPtO{~P)Kta*>qa4SZWX+YX@y-BJrBC@F~UcP&A zUrI>?29lu}sNMi*RbN;mg|d_`wB`&$R~AlIFq_b}mNHSBhx# z_o9^smI3SEykFL>x|6wK$|-N|j1nN)>D0xfZBUYk+JZ_SwCOq7aDhgbJi{d0)(}+kNHh5t3codDN@sMWHE2Vd+yiC zp<&6XNU2ZT(l?cm-#7b0`yQ7K@W{U9cas|nGl-=Uo%dVPOt)y%fnt_5{5=xyXi3U$ zbcy3P$_MBZWE$Ax3-4`uys-3lwK-SR#?*v|Posex?I#(0kPKCAIO`+@wwP$cW%W4} zG^Vx$xbDamF`6EqiS^)cIao9Pr*FuL272w?JAoAKm%P->2}$m{DVAPf;m4DY%WCQ( zRK{4#u|`tIBpp1sHp1~l1~8DP^)H`)~X1brIcTfcZiR z+O`?tb3HCYo08T^1Sz&1+IY`{EkFPKmLnA1?C<#1OA*n;1?8skz35bn;a6zf7j;&^jaHpm8ukN(8pV~1H^eegiEfnSDKzus3o+Z%t)&h zdtt8@j2W_7xf70$8UmQWb^x9`mFNoP?(iZQB@$fC15kLCdulE={Pg7E z>YDoF5#nm&Eu2krFAzN%SAvKC2(X`u3G&V;ga0UR$tEl)hBX$cpMlI%>Zxj#+a6lN zNkSlOO>NdsW61hCwI0FILqESXKnX>q0p~4wFtP3FN>l8$aqURy!i&r1WzAyGn0IXl zh|y#lmZtoo@=l{RqKi^JJqhQ6o`NH)Kb5;nH#03&g-)j|GM!Mt+Yp49f-Lo@Oki@i{T-TNpbtRMD|XIc{8RWEZ5Wiq4&keE$W-w7T&9xo9GFe>#7h>a+QER z0aEFvK#Z`;%(Ow8T_91Fv{87d7L-ZCMvnQrc(Y`P?bbK046h8OT@Z{+sT`YSOPRV| zPTU(dyC3oPX>Dm~n^qBjs=hwMTauVK3f9@NK29*|h{qF7;R!*(M5E&D>;}7>oTqCz z^XL^d1l`7l-yUnPINXx4BJ|#-HOXpf^X9KhpDlhttL{I&zb0nu4-*l+KU6nzWrZLV z;Nf=hzT^@#x5c{O(l2$WGR@{lv(+OAT~L!}&uK)DpV__E@0^)l!|hh?A1!Yph)%kX zR=@JoPO4^*fh?cp?hcxyb+uGAHWLe!2f!>VJ(ztW{k?wr#XjmX=A!<=6Kjv0fV-RP zE_ETRLN8x%+jN(XCNwV&m5;EOoD-aeyzg(c2&?$dCwO;G0gj_9tDqK_^mS4IJ5ppk zI$WUGLqe(2ltz{L0zIT7&$g`vlb&`vH4-C@p@K?8(JrqQ){MXH?`)^ ze(;g|QBU_(Lq)QO5KYo49GHI=B>DUCey-P;Ye&3qI`TtNE1V3Abgekk>nEM+e{YC^ zX56~gcX@6wva-d^hbu?MaW#XxEObv!F#^C00YL)Od)9X`$r~dqm9M{j3RIpNTzFV~ zy{13HHo(1w^{kIkKCsp<*WRJLYs3W&?_hXsIZm^pYrc@;lF5;c) zM6Te4a--aW8X!#5Pb=Zwp@#ZS+f~eMQaUxa`e0u<$+RScDsjdHc1y6oY)bI+dX+WG z7?n%BKEOPa4zNyn;KUe-#So28<;YiLKnmgdv{G1KR9JM0h)~K&IBD%)o9X#kcCPEr zf~?&BrH?#4Os9&vW`-j-=WKetb<0#Eb+Toid15_-tbzEC7r zp=x$}oRlFu(lu?`VZ5`%ua#GlMFt}PZy%8c{GD09uAv^rlY*svw{9H}^LOU9<;X5_ z?d8SgQO24f5tK=!5u@!c%|LXofWt%wr4eaAMWzOSuXMsJNZ1D76Oat0R>d(0=o=Kb z(!Q|Ii{eV2-$7H8nQPvytlJ?)SsaiiHbrjUh^LJj_Z0(0h`&6ZXY{)uaKNd4LLM*w zfmnk570xu@Ed{l0y&^L9*@C=f_uzrj*bU|(7bj9otkR(OZZ5%IX%C@{1M|12Us?WA zf9H`->)Gk%m3-6)5Tt1g|Nm5_r~i+tN@u+Q{^ewbxQO0Euoi{iP}+!AiPDfSvQH0s z0arR0wD0`N=(KU(<_X(E zhy3{$GM@_IQ&lSA z;o0_4&7ZxqCz;A{PzI@nUm;K=k@sg#v^UCS^nS+kql8_sHBerk7 zPQ+R?=?4)ATdN5E0^`{9)?>b>qK|RACsmspTCoDqJ~q67;b5ZP?h_32B|9gFH7AFHd1*Sjcq z=A8NdkVFPplsX_iP*8h{HU3A!`RmF5CO7qv>8xZ>=n>%!-nXILmvz0BjUrmVzi5oC z7o9)4{C-^(F5PTR?^!8|QjU(O_?)vbe^0I1Qb_jbYEnOe=TcR2FvI!p2NZyPK+!*{ zYK)3TCK!kErj;1eb~#`%lR}y51e`i(JO-qI73cuAqLwM~QtXWcJ5^rvMu%@q%bxHl z%EI^GntY89Lmeqo6`pGQ{05PYzw6k~_l!BGn)xp+pb7bc-^fJXbNf&Rm@`yfJ+^!J z_5rEIHK!wxA?Na6UwOdFsJ1M6NTBZP)@C?TYqnlG)_JC&^V{t|?1GbyJDZG6%m8RB zMp2${o!s;YS3Ccz)K#`cN*OCC9l0n~?ot&vg_Mrg?aST#jd7U*R@6AvtELBy?r(T~ zx|4L2$4R-rHmIF}bafr8rN7cyY#XAAVNv7AIc?La{~y~T&9|u9+_6p(nQtgN3QH9> zu}ss8T}&(GcBy6x+S&>|^a5#-n)C7n3*el=jV?#xM6@NmP`M;CNq1!*)i7~k(vI$G zteg?3a$-&@-+%y=hN>BS0?y?(a8k-(y>4;Ck63%Qyd)j8!fYc&SNELtkBe6ukypbP z@buKJYtM5;C=}k|(EUs1OOHS3uG~LA$+wJlh>44qUktq1gEX*&BN)DSyU>12o1k!r z#kFXMOHDzq-8yQ@8T!+PSh_a(THunx?v@1Sp4Ul#I9#lbDl~Z~rQiHy)bqt*yy#C>%h%O5KCLU{ z#eOu3{T%FMxC8asREl8>mSBW81&|lj=v(26!ePXa*sm{30=>qSG>aepErUzCqfK!J zuz}*}mVHZjv4WQ-ImwU1ydSJjmPFsJD74Rf_LL}f<;s7kFp>evK~*A<#0((|+d$0) z`mze7YS?m2EA58KM62M2F`4;-@eDG{FCU0iw0UQkQ>Xkl);z~vi&}RxM;lL^%HQze zUi$huJWDyQlnW|66;Vj3rv>f{WoHH^B%(DimFtTnzi{o)vn{+tBT_)2^auXK*nv8D(6Z z!b(c|%0;-<>)*HrIeOTE}Rd#|=0tZ!H!q)FE1CEa>s*sveh)O!>{`x_(EzXc|`*yV0 zdRc7Z@nhb@IH^k&dXVU%vm&MW^|fS(D)IX&u5bS@U_>Pu{iAlv9?C^t=Ys5L+NkUCZ_aigO{lmO0`_VE zen$2o@T0&V8xj{1ZGa7r!ABahBf}##N;^F?pjT3lCF!r%o_jTN?D|RlAJ@Tpi^2Lh z(1G8Ly@Xr#k>p&%>~fh;@~NwX*^2F>c8~UpKSWKIw%M^DgeM8gw7L(~xA-jjF1uOw z?gG=01w|CaIR=J#9S%2+hA~v7u6?#*Bw?p=ADko>WB?r=rDeiwWRif`O9A6TUJ5f# zyg2G#5Ypl|Jyv&vR(j%kub0Grrn@8Banoab@x?aG2G8z80xorUhB}4^!F)6eJYgak zVRydDyk#+#q4>S5=!wrh)B-0|cJS|;UP3#UYbIry=$HZfqci`pWd4tM5-jNi{CoNA zlHOI(e}E-56eN{Em}*+HfxcMpzgOSy69ZJ^vs#`QyGm!1%4kK%I`hr}IjAEMp`c_AI$ zOnxYX_jm10d>`$+&V_-^&mJ6hw2%2XIiW{xItm)S%`B@JJyAq{nd~@$aL0Fz3AL3r z_nYzR6KAx_ZB>MWOh!UN=r~$@6RWc%^XZCbV+wL$qvKTn9THfRc|l-BLSxn4>VYS( zA`*F<^5%_w&KV&1;LsMvwjT-JyV;xX3dJKY$_5YY__?~Ks?b+!&Z1lPYDE^Eqo2vY zz|cC?)3}X3?egz~AZtji<&?(bKGi9I7F2wt|9GJklAD0B z+g%L3M7cCZmcw<57pris=Awd`%(YTuiLT-h-0b*n$BDqfPZi^34`Snvuv!4RmsGlI z@Ys!;_{}+aMh!VLb&QWuA0;QBlYs*2%lFg8mZ1!O_aqSuZ}q|SB*{pyCLq!R;oqPM zA*zY0%ZI&yMz+hxJ4^$el{;)pwS6&{b`Z#9<|VAw!Sz7+@W1`fV6?^LX#TH zir^u#7<)Zo&GEmAvuM|++b4{b`=yS1oSKNiMWHPIGSM}==Y)Me9&X7Q&3e0+M!Z2*z%q_yr{Pr|v*J!X67XAb}y7l5F(5wDV= z$PlGL%#d@BUj$uBY$dBl`;O0}H!@m@sdewOOWuDjsC3#b(v%in4N+IqFDM&vIBoUE zmqY66pUHhW%4kL2q|bSbYYi3NIIJ|x^`oaxVpVmRGqS`eUvqn$8Pnu@clfEBO#Tt6 zQE`vQt53JsruRj+x9e!<1W@A}$wImEhCj$HAnyryy${=YDTuZ{l6MMQ+vHN4TYE+1 zbe9#Hw6*zJWba!R3JqhC zXEqJkfPMKMF}l}!`XtnrQiGZwOJpPZP-S+={n(J^I;&ifKtHrD%6(qS%?F{ihrjaz z^FtPjPSc+~V{EdS2GNHRdh1t7Axs}f1z?dPphWg_d5cXgcJ!VGc! zw~7WFl+WS*nN|d)aPOIX(}EI~P?pc9Y*ZYeicwT^XCA4Utt z%oPc-uDf&D7^8;mQ0|Z}r?JLmHEb%y1$L1vhqPDXyAAoVfs>R&CAbcwf1&?$KXR#0s_5CO?CIn#8+-5E+MJoic3qtsQD^6r5mgB>3S^S^c<~RKgswQD z+^)I?x{d!)%RtdxIsP90o)EFQ5ru7d-WjzxBAT{n)I?Ta4CB}?W?j7T{S~Y0`;>bt z@Oc+b47|zd%lKnv+tU5M%MhmYA^({`&I-?^eoDXqQwFk7Oisi>o&riPt~yewC#AgX zxXzW&ZxrJ+?4F1REL-K88JkJl)tJ3CKdr}Vi24Dc@&RT}b=Yrw=PXIV+ojx%D}Q(x ztR4OZzYg7*?YvLzh#4ThQBwPn^l!iV?!e3BX!o?9{dFwM=tZLN6b>?Z3!>*v(+kiJ20i;z>II+#7I(+kq5f{rIdffGaLDwH9Yq#3H4E-&R zHH#=!R8+}~KoU4f%w!ogtcEN^7A+H59WB;L zPo!Qg?IPf*-|?P%7U0V{c9Bl=O6iZ-$@QU4$Auc8yc;Ds32vQ23^1SJ7CFRA4&ct$jl zQI`vpOqDHj~ApOwEVx0zLm31u36wx(!@3BMjv12k>(_C#`_V~8o!yI)10*0Z-K$y$Ui80u^>|6~o?XvDWR(eh2nt6IR+h{PZRbD;ro$nX_ z{AB0RaTW^c1hN6R8o-shCqec{Cplinif|fAW0iu?z)HBOhIu*^^?zM zX0EKlS|;^ZrE7MeY++zYUPf$t!%bIi0qf$!5?0_Ag}>`aQyN29VfDEBm|%&^w$K^w zL46->h;k5qvS{V2OW@+`?^vQ=h~X;j7}MU9RSHK1z=xZt33H*ZWe?#J*?_935;5n5 z^)c+pS_$*M`!EflfgY)&lgy#51<*Ri(tQ;V1J=JP&e#c2uF{V;*YihjR#(1EweOx} ziC(cV4M+oX4)UI=P7Y?JnqZnS{S%@XV0o!@{J^yfG=VPOo}V9X+g)1G`lKvCSDsQ| z8F9oA$<2P^n%Mn#EkMZ0D!=7ksUA*6+tEHc8AF*`)JnkAt zAcRMC887t0`;&b@E!sY*Ksu(}it#xP>vJD{UM9$lVY% zHR|)}_EYy`V-C_gr!v+BwWBMN3mWE7HXB+zx%c+luh;yARnJ1!NW^TL9~3Tl3A(8% zlG6fua7P<%1<9mO=^rEtz=&s3qV%;w3oYoMeiJaKG2wozTd~$uHJf^x~>u#If z$NQ#qgXuvwALg&wzP^Sk4610j@jN6sB4X**i)nw8#*8~q7}nHhfY?+LVQWNpF8GO* zu)5x2)(z(G$m;}sX!5z@V#R~lGI2>JJtOwV*1kL)P_SBu#I0Js8mN!{zIH{YXzgRY z2V)2zv1g-(B1o~C+*FLK!ZlT3_e*gSM_}|IpyRIBy!QUmu)g-N(gJon@8Gclgv`*` zm_0qy0uzFEM9_~yOA3mQcesY#g!^`jV{z-M-i3rf3b;cl!!z-;5o^%|o2I5*4@F#s zCPb-8PQO8lmxV@8Q{AEAB;`slB4Q=` zcW?QlO8A|e?wwD1^~nPw~#iRrfq>W zM?kmc5KR+${rc{14R95tvVF-7=Zo<%oefnZ zCeAI^pEtPYOThglt0G6@5;0H6sZ>4E9O!maohIrCO(r~EtIBUTg!1u;T{`!6CmA^Lvg*Y&I zpgP43BL4oY_*?@1yEUD;2)y%sDubG3o8d^gAwaQ0Sji3=qbqV}%uqcIk)Vpd$hp3? z*~SibgpQTp!U=DD+8SXC=lU?Su1x!LU(S zo#1+nwbr|`Q4?0WavyrAufbQ$S{!JqBDWal)Kb4)zC3v1TzZEG9j%+3)mZU3M>G_d z#T?A2{8113`J zgwI6{-@3tj-GpO6Ka@L|@Ef^lJxlnB zr3PNzh7}q|<%NK6Qgf(6Ix3!@Et*&ihrBe2FJae{Q_WUF99sG+56sct>18MmV$15A ze$=Jgmw&D^5bwQIIyi7JJme1hv-%wx5soKA0JNS};~ePuC0zKDt281aS{@JqSxAF$ zY_eX$npny)`1}wx)$hy9b;MYC3_`MlE5Ztm8+*?URdH>ycJFU|Ugbe-Mpmcu55))V z_i#U$=iX@H&a7qCKCjArel+-vvQULFb^oE5{-Oj#VPYh?sRE+~sw520x(Qc9ZpHDe zCS@61m!+eJVXCMj>70wPzj8ZNkegneY>#lH<%8)gMZ#igOA^{c NEW LAUNCH Azizi Creek Views 4 – Exklusives Off-Market-Projekt in Dubai ab 1.125.000 AED (ca. 283.000 EUR / 306.000 USD) → Exposé ansehen + +**Neu (Startbelegung):** +> **NEU** Rotpunkt Küchen jetzt bei B2in Interior – jetzt Beratungstermin sichern → Termin anfragen + +**Alternative, falls Rotpunkt-Studio noch nicht startklar:** +> **NEU** CABINET Einbauschränke nach Maß – Showroom Bielefeld → Termin anfragen + +*Hinweis: Leiste bleibt technisch wie sie ist, nur Inhalt und Ziel-Link ändern sich. Dubai-Launches können dort später wieder erscheinen, aber nicht als Dauerzustand.* + +--- + +## 2. Hero + +**Alt:** +> # B2in – Wo exklusive Immobilien-Investments auf smartes Interior treffen. +> Ihr Partner für renditestarke internationale Immobilien und globales Supply-Chain-Management im Interior-Bereich. +> [Zu den Immobilien-Projekten] [Unser Netzwerk] +> Internationale Immobilien · Exklusive Einrichtung · Persönliche Beratung + +**Neu:** + +> # B2in Interior – Premium-Einrichtung von starken Marken. Für Ihr Zuhause. Für Ihr Projekt. +> +> Von der einzelnen Maßanfertigung bis zur vollständigen Ausstattung – mit CABINET, Rotpunkt Küchen, Febrü und einem Netzwerk regionaler Fachexperten. + +**Buttons:** +- Primär (dunkel): **Unsere Marken entdecken** → `#marken` +- Sekundär (hell): **Termin anfragen** → öffnet Anfrage-Widget + +**Checkmarks:** +- Premium-Marken +- Maßgefertigte Lösungen +- Persönliche Beratung + +**Hero-Bild:** `[PH]` Interior-Motiv (Einbaumöbel oder Küche, warmes Licht). Bis zur Zulieferung bestehendes Bild belassen. + +**Bild-Badge (unten rechts über dem Bild):** + +| Alt | Neu | +|---|---| +| B2in / Connecting Design and Property | B2in Interior / Einrichtung, die bleibt. | + +--- + +## 3. Marcel-Badge (kleiner Einschub unter dem Hero) + +**Alt:** +> B2in by Marcel Scheibe – Ihr persönlicher Partner für internationale Immobilien und exklusive Einrichtungskonzepte. +> Marcel Scheibe · Gründer & CEO, B2in + +**Neu:** +> B2in by Marcel Scheibe – Ihr persönlicher Partner für hochwertige Einrichtung und starke Marken. +> Marcel Scheibe · Gründer & CEO, B2in + +--- + +## 4. Weiche Privat / Geschäft + +**Ersetzt vollständig die Sektion „Zwei Welten. Ein Netzwerk."** + +**Alt:** +> ## Zwei Welten. Ein Netzwerk. +> Wir verbinden den Immobilienkauf mit der perfekten Einrichtung. **Immobilien-Investoren** profitieren von unserem exklusiven Möbel-Netzwerk – **Projektentwickler** von unserer deutschen Vertragssicherheit im Supply-Chain-Management. + +**Neu:** + +> ## Für Ihr Zuhause. Für Ihr Projekt. +> +> Ob einzelnes Möbelstück oder komplette Ausstattung – wir begleiten Sie mit denselben Marken, demselben Anspruch und einem persönlichen Ansprechpartner. + +**Karte 1** + +> ### Einrichtung für Ihr Zuhause +> +> Einzelne Möbelstücke, maßgefertigte Einbaulösungen oder die komplette Einrichtung: Unsere Kernmarken und unser Fachhandels-Netzwerk begleiten Sie von der ersten Idee bis zur Montage. Besuchen Sie unsere Showrooms oder vereinbaren Sie eine persönliche Beratung. +> +> **Button:** Beratung anfragen + +**Karte 2** + +> ### Ausstattung für Ihr Projekt +> +> Vollständige Einrichtung für Objekte, Büros und Projektentwicklungen – koordiniert aus einer Hand, von der Küche bis zur letzten Blume. Mit deutscher Vertragssicherheit und einem eingespielten Herstellernetzwerk. +> +> **Button:** Projekt besprechen + +*Bild „Das B2in-Ökosystem" aus der alten Sektion entfällt hier – kann bei „Über B2in" weiterverwendet werden.* + +--- + +## 5. Kernmarken (neues CMS-Modul) — `#marken` + +> ## Unsere Kernmarken +> +> Wir arbeiten nicht mit beliebigen Katalogen, sondern mit ausgewählten Herstellern, hinter denen wir stehen – jede Marke ein Spezialist auf ihrem Gebiet. + +### Kachel 1 – CABINET + +> ### CABINET +> **Einbauschränke nach Maß.** +> +> Maßgefertigte Schranklösungen, geplant bis auf den Millimeter – gefertigt für Räume, in denen Standard nicht genügt. Erleben Sie die Möglichkeiten in unserem Showroom in Bielefeld. +> +> *Mehr zu CABINET →* + +### Kachel 2 – Rotpunkt Küchen + +> ### Rotpunkt Küchen +> **Küchen, die Haltung zeigen.** +> +> Premium-Küchen aus deutscher Fertigung – individuell geplant, nachhaltig gedacht und gebaut für den Mittelpunkt Ihres Zuhauses. Beratung und Planung in unserem Küchenstudio. +> +> *Mehr zu Rotpunkt →* + +### Kachel 3 – Febrü + +> ### Febrü +> **Arbeiten, wo man gerne ist.** +> +> Möbel für konzentriertes Arbeiten – vom durchdachten Home-Office bis zur kompletten Büroeinrichtung. Ergonomie und Design für Zuhause und fürs Unternehmen. +> +> *Mehr zu Febrü →* + +### Detailseiten (Vorlage-Struktur je Marke) + +Jede Marke bekommt eine Detailseite mit: +1. Header (Logo + Claim + Stimmungsbild) +2. Einleitungstext (3–5 Sätze) +3. Leistungen / Besonderheiten (3–4 Punkte) +4. Bildergalerie +5. CTA-Block: „Termin anfragen" + „Per WhatsApp schreiben" + +`[PH]` Logos und Basis-Infos zu Rotpunkt und Febrü fehlen – Detailseiten vorerst mit obigen Kacheltexten plus Platzhalter-Galerie anlegen, damit die Struktur steht. + +--- + +## 6. Über Marcel / Vertrauen + +**Alt:** +> ## Gebaut auf Expertise und Vertrauen +> **B2in (Bridges2international)** verbindet zwei Welten: internationale Immobilien und exklusive Einrichtungskonzepte. Als Ihr persönlicher Partner navigiere ich Sie durch beide Bereiche – mit Expertise, Netzwerk und dem Anspruch, dass jede Entscheidung auf Vertrauen basiert. +> Ob ein **Investment in Dubai**, eine Villa in Lissabon oder die **maßgeschneiderte Einrichtung** Ihres neuen Zuhauses durch lokale Fachexperten – bei B2in laufen alle Fäden zusammen. +> **Regional verwurzelt, international vernetzt** – das ist B2in. + +**Neu:** + +> ## Gebaut auf Expertise und Vertrauen +> +> **B2in** stand ursprünglich für *Bridges to International*. Heute steht es ebenso für *Bridges to Interior*: hochwertige Einrichtung mit persönlicher Handschrift. Als Ihr Ansprechpartner verbinde ich ausgewählte Hersteller, regionale Fachexperten und ein verlässliches Netzwerk – damit aus Räumen Orte werden, die bleiben. +> +> Ob **maßgefertigter Einbauschrank**, neue **Küche** oder die **vollständige Ausstattung** eines Objekts: Bei B2in laufen alle Fäden zusammen. Und wer über die Einrichtung hinausdenkt, findet bei uns auch den Zugang zu internationalen Immobilien. +> +> **Regional verwurzelt, international vernetzt** – das ist B2in. + +*Hier ist die Markenstory verankert, die Marcel selbst vorgeschlagen hat. Immobilien bewusst als vorletzter Satz.* + +--- + +## 7. Engagement / Sponsoring + +**Neue Sektion, direkt nach „Über Marcel" – schlanke Logo-Leiste.** + +> ## Regional verbunden +> +> Wir unterstützen Vereine und Organisationen aus der Region – weil Verwurzelung mehr ist als eine Adresse. + +**Logos:** 3 gelieferte Sponsoring-Logos in einer ruhigen, gleich großen Reihe (Graustufen oder gedeckt, damit sie den Markenauftritt nicht überstrahlen). + +`[PH]` Weitere Logos ergänzen, sobald geliefert. + +--- + +## 8. Aktuelles / Referenzen (Web-Display) + +**Ersetzt die Sektion „Ein Ökosystem, drei Säulen" komplett.** + +**Alt (entfällt):** +> ## Ein Ökosystem, drei Säulen +> Immobilien & Investments / Local-for-Local Marktplatz / Supply-Chain-Management + +*Begründung: Zwei von drei Säulen sind interne Konzeptsprache, die Besucher nicht verstehen, und die dahinterliegenden Systeme sind pausiert.* + +**Neu – Startseiten-Teaser:** + +> ## Aktuelles aus unseren Showrooms +> +> Projekte, Neuheiten und Einblicke – laufend aktualisiert. +> +> **Button:** Alle Referenzen ansehen → + +**Neue Unterseite `/referenzen`:** + +> # Referenzen +> +> Realisierte Projekte aus unseren Showrooms und von unseren Kunden. Jedes Projekt maßgefertigt, jedes anders. + +Inhalte kommen aus dem Web-Display im Display-CMS (Bild, Text, optional YouTube-Video), von Marcel selbst pflegbar. + +`[PH]` Startbelegung mit CABINET-Projekten durch Marcel. Bis dahin 2–3 Platzhalter-Einträge anlegen, damit der Bereich nicht leer wirkt. + +**Wichtig:** Unter „Referenzen" ausschließlich realisierte Projekte. Visualisierungen und Entwürfe gehören in die Kernmarken-Detailseiten, nicht hierher. + +--- + +## 9. Immobilien-Teaser + +**Neu, klein und dezent, kurz vor dem Abschluss-CTA:** + +> ## Außerdem: Internationale Immobilien +> +> Neben der Einrichtung begleiten wir ausgewählte internationale Immobilienprojekte – persönlich kuratiert und mit klarem Blick auf Substanz. +> +> **Link (dezent):** Zu den Immobilien → + +*Keine Preise, keine Renditeversprechen, kein Dubai im Teasertext. Wer gezielt sucht, findet den Weg.* + +--- + +## 10. Abschluss-CTA + +**Alt:** +> ## Ihr nächster Schritt +> Ob Immobilien-Investment, Supply-Chain-Partnerschaft oder Einrichtungs-Netzwerk – sprechen Sie direkt mit uns. +> [Kontakt aufnehmen] + +**Neu:** + +> ## Ihr nächster Schritt +> +> Ob einzelnes Möbelstück, komplette Einrichtung oder Projektausstattung – sprechen Sie mit uns. Persönlich, unkompliziert, verbindlich. +> +> **Button 1:** Termin anfragen (öffnet Widget) +> **Button 2:** Per WhatsApp schreiben (`wa.me`-Link) + +--- + +## 11. Footer + +| | Alt | Neu | +|---|---|---| +| **Claim unter Logo** | Connecting Design and Property | Premium-Einrichtung. Persönlich gemacht. | +| **Zeile darunter** | Marcel Scheibe – Gründer & CEO | bleibt | + +*Falls Marcel „Bridges to Interior" als Claim bevorzugt, wird stattdessen das eingesetzt.* + +--- + +## 12. Terminanfrage-Widget + +Schwebendes Element unten rechts, auf allen Seiten. + +**Öffnet mit:** +> **Termin anfragen** +> Kurz Ihre Daten, wir melden uns persönlich zurück. + +**Felder:** +- Name *(Pflicht)* +- E-Mail *(Pflicht)* +- Telefon *(optional)* +- Anliegen / Marke *(Auswahl: CABINET · Rotpunkt Küchen · Febrü · Projektausstattung · Sonstiges)* +- Wunschtermin *(optional)* +- Nachricht *(optional)* + +**Button:** Anfrage senden +**Bestätigung:** Danke für Ihre Anfrage – wir melden uns zeitnah bei Ihnen. + +**Zweiter Button daneben:** WhatsApp → öffnet Chat direkt. + +--- + +## Arbeitsreihenfolge (Vorschlag) + +1. **Globales zuerst:** Logo-Zusatz, Meta/SEO, Navigation, Footer-Claim +2. **Startseite von oben nach unten:** Ankündigungsleiste → Hero → Weiche → Kernmarken → Über Marcel → Sponsoring → Aktuelles → Immobilien-Teaser → Abschluss +3. **Kernmarken-Modul im CMS** anlegen und mit den drei Marken befüllen +4. **Referenzen-Rubrik** (Web-Display) anlegen, 2–3 Platzhalter einstellen +5. **Terminanfrage-Widget + WhatsApp-Button** +6. **Durchgang auf Alt-Begriffe:** „Supply-Chain", „Local-for-Local", „Ökosystem", „Investment" auf Unterseiten prüfen und bereinigen (auch /netzwerk, /about, /faq) + +--- + +## Offene Zulieferungen von Marcel + +| Was | Status | +|---|---| +| Sponsoring-Logos | ✅ 3 Stück erhalten | +| Logo mit Zusatz „Interior" | ❌ offen – ggf. selbst ergänzen | +| Rotpunkt: Logo + Basis-Infos | ❌ offen – Platzhalter | +| Febrü: Logo + Basis-Infos | ❌ offen – Platzhalter | +| Hero-Bildmotiv (Interior) | ❌ offen – Bestandsbild belassen | +| Bilder Kernmarken-Kacheln | ❌ offen – Platzhalter | +| CABINET-Referenzprojekte | ❌ offen – Platzhalter-Einträge | +| WhatsApp-Nummer für Button | ❌ klären: Mobil +49 151 51002992? | \ No newline at end of file diff --git a/dev/2026-08-28/umsetzungliste.md b/dev/2026-08-28/umsetzungliste.md new file mode 100644 index 00000000..2da42e13 --- /dev/null +++ b/dev/2026-08-28/umsetzungliste.md @@ -0,0 +1,120 @@ +# B2in Interior – Umsetzungsliste + +**Freigegebener Rahmen: ca. 37–39 Std.** (30 Basis + 3 Display-Spiegelung + 4–6 Rubrik-Seite) +Schreibweisen: **Interior**, **Febrü**, **Rotpunkt Küchen**, **CABINET** + +Legende: ✅ freigegeben · 🟡 mitnehmen, wenn ohne Mehraufwand machbar · ⏸ später, separat zu beziffern + +--- + +## 1. Website-Umstrukturierung & Umtextung ✅ *(ca. 18 Std.)* + +- Meta-Title und Description auf Interior-Ausrichtung umstellen +- OG-Title / OG-Description anpassen +- Navigation umbauen: „Marken" und „Referenzen" rein, „Immobilien" nach hinten, „Netzwerk" raus aus der Hauptnavi (Seite bleibt erreichbar), FAQ in den Footer +- Ankündigungsleiste neu belegen (Interior-Thema statt Dubai-Launch) +- Hero: neue Headline, Subline, Buttons, Checkmarks, Bild-Badge +- Marcel-Badge unter dem Hero umtexten +- Sektion „Zwei Welten. Ein Netzwerk." ersetzen durch **Weiche Privat / Geschäft** (zwei Karten) +- Sektion „Über Marcel / Vertrauen" umtexten – inkl. Markenstory *Bridges to International / Bridges to Interior* +- Sektion „Ein Ökosystem, drei Säulen" entfernen (Fläche übernimmt Aktuelles/Referenzen) +- Immobilien-Teaser neu anlegen: klein, dezent, kurz vor dem Abschluss +- Abschluss-CTA umtexten, zwei Kontakt-Buttons +- Footer-Claim ersetzen („Connecting Design and Property" → neuer Claim) +- Durchgang auf Alt-Begriffe: „Supply-Chain", „Local-for-Local", „Ökosystem", „Investment" – auch auf /netzwerk, /about, /faq + +*🟡 Logo-Zusatz „Interior": Wenn Marcel keine Datei liefert, typografisch mit vorhandener Schrift ergänzen – kleiner Aufwand, versuche ich mitzunehmen.* + +--- + +## 2. Kernmarken-Modul im CMS ✅ *(ca. 8 Std.)* + +- CMS-Struktur anlegen (adaptiert vom Magazin-Muster: Übersicht + Detailseite) +- Von Marcel selbst erweiterbar, weitere Marken ohne Codeänderung ergänzbar +- Kachel-Übersicht auf der Startseite (`#marken`) +- Drei Marken anlegen: CABINET, Rotpunkt Küchen, Febrü +- Detailseiten-Vorlage: Header, Einleitung, Leistungen, Galerie, CTA-Block + +*Platzhalter, solange Logos und Infos zu Rotpunkt und Febrü fehlen.* + +--- + +## 3. Terminanfrage-Widget ✅ *(ca. 4 Std.)* + +- Schwebendes Element unten rechts, auf allen Seiten +- Felder: Name, E-Mail, Telefon (optional), Anliegen/Marke (Auswahl), Wunschtermin (optional), Nachricht +- Versand per Mail an Marcel, Bestätigungstext für den Absender +- **WhatsApp-Button** daneben: Klick-to-Chat, öffnet direkt den Chat (Handy: App, Desktop: WhatsApp Web) +- *Kein Buchungskalender – bewusst schlank* + +*Offen: WhatsApp-Nummer bestätigen lassen.* + +--- + +## 4. Display-Spiegelung auf der Website ✅ *(ca. 3 Std.)* + +- Bestehende Display-Inhalte (9:16) werden auf der Website ausgespielt +- Nutzt die vorhandene Display-/Player-API als Datenquelle +- Keine doppelte Pflege: Marcel pflegt weiterhin nur im Display-CMS + +*⏸ 16:9-Modul wurde zurückgestellt.* + +--- + +## 5. Rubrik-Seite „Referenzen" (Web-Display) ✅ *(ca. 4–6 Std.)* + +- Zweites, separates Display im Display-CMS anlegen +- Eigene Unterseite `/referenzen`, die diese Inhalte ausspielt +- Von Marcel selbst pflegbar: Bilder, Texte, YouTube-Verlinkungen +- Teaser-Sektion auf der Startseite mit Verlinkung +- Aufnahme in die Navigation +- 2–3 Platzhalter-Einträge, damit der Bereich nicht leer wirkt + +*Inhaltliche Regel: Unter „Referenzen" nur realisierte Projekte. Visualisierungen und Entwürfe gehören in die Kernmarken-Detailseiten.* + +--- + +## 6. Engagement / Sponsoring 🟡 *(Versuch ohne Mehraufwand)* + +- Schlanke Sektion „Regional verbunden" nach der Marcel-Sektion +- Drei gelieferte Logos in ruhiger Reihe, gedeckt oder Graustufen +- Ein Satz Einleitungstext + +*Wird mitgenommen, solange es bei Logo-Leiste plus Satz bleibt. Eigene Unterseite oder Text je Verein wäre ein Zusatz.* + +--- + +## Später separat zu beziffern ⏸ + +| Thema | Warum nicht jetzt | +|---|---| +| **Referenzbereich voll ausgebaut** | Eigene Projektseiten, Kategorien, Galerien – eigenes Modul. Die schlanke Rubrik (Punkt 5) reicht für den Start. | +| **16:9-Display-Modul** | Von Marcel selbst zurückgestellt. Braucht zusätzlich querformat-taugliches Bildmaterial. | +| **Immobilien-CMS** | Immobilien bleiben statisch, rücken nur in der Gewichtung nach hinten. Separater Kostenplan liegt vor. | +| **Dubai-Map** | Interaktive Karte – eigenes Paket, setzt das Immobilien-CMS voraus. | +| **Markenrichtlinie Fahrzeug / Print** | Kombinationsregeln B2in + Kernmarken für Fahrzeugbeschriftung, Visitenkarten, Social Media. Eigene Design-Aufgabe, sinnvoll nach dem Website-Livegang. | +| **Weitere frei anlegbare Rubriken** | Jede zusätzliche Rubrik ist ein eigener kleiner Baustein. | +| **Eigene Videolösung / Player** | Nicht nötig – Videos laufen über YouTube-Einbindung. | + +--- + +## Spielregeln + +- **Eine Korrekturschleife je Bereich** ist enthalten (Abstände, Positionen, Farben, Gewichtungen) +- Weitere Runden oder neue Anforderungen: vorher kurz melden, Mehraufwand nennen, erst nach Freigabe umsetzen +- **Deadline Ende August** – abhängig von rechtzeitigen Zulieferungen + +--- + +## Offene Zulieferungen + +| Was | Status | +|---|---| +| Sponsoring-Logos | ✅ 3 Stück erhalten | +| Logo mit Zusatz „Interior" | offen – ggf. selbst ergänzen | +| Rotpunkt: Logo + Basis-Infos | offen – Platzhalter | +| Febrü: Logo + Basis-Infos | offen – Platzhalter | +| Hero-Bildmotiv (Interior) | offen – Bestandsbild belassen | +| Bilder Kernmarken-Kacheln | offen – Platzhalter | +| CABINET-Referenzprojekte | offen – Platzhalter-Einträge | +| WhatsApp-Nummer | offen – bestätigen lassen | \ No newline at end of file diff --git a/dev/2026-08-28/unterseite_marke.md b/dev/2026-08-28/unterseite_marke.md new file mode 100644 index 00000000..4af5275b --- /dev/null +++ b/dev/2026-08-28/unterseite_marke.md @@ -0,0 +1,130 @@ +# B2in Interior – Unterseite `/marken` + +Vollständige Texte zur Umsetzung. Schreibweisen: **Interior**, **Febrü**, **Rotpunkt Küchen**, **CABINET**. +Platzhalter: `[PH]` + +--- + +## Meta / SEO + +| Feld | Inhalt | +|---|---| +| **Title** | Unsere Marken – CABINET, Rotpunkt Küchen & Febrü \| B2in Interior | +| **Description** | Ausgewählte Hersteller statt beliebiger Kataloge: maßgefertigte Einbauschränke, Premium-Küchen und Möbel fürs Arbeiten – mit persönlicher Beratung in der Region. | +| **URL** | `/marken` | +| **Breadcrumb** | Home → Marken | + +--- + +## 1. Seitenkopf + +> # Unsere Marken +> +> Wir arbeiten nicht mit beliebigen Katalogen, sondern mit ausgewählten Herstellern, hinter denen wir stehen. Jede Marke ist Spezialist auf ihrem Gebiet – und jede bringt mit, was gute Einrichtung ausmacht: Qualität, die man sieht, und Beratung, die zuhört. + +**Bild:** `[PH]` Ruhiges Interior-Motiv oder Showroom-Aufnahme. Alternativ ohne Headerbild, dafür großzügiger Weißraum. + +--- + +## 2. Kernmarken + +*Reihenfolge wie auf der Startseite. Pro Marke: Logo, Bild, Claim, Beschreibung, Merkmale, Link zur Detailseite.* + +### CABINET + +> ### CABINET +> **Einbauschränke nach Maß.** +> +> Wo Standardmaße an ihre Grenzen kommen, fängt CABINET an. Schranklösungen, die exakt in Ihren Raum geplant werden – von der Dachschräge über die Nische bis zur raumhohen Front. Gefertigt in der Qualität, die man erst beim zweiten Hinschauen ganz erfasst. +> +> Erleben Sie die Möglichkeiten in unserem Showroom in Bielefeld. +> +> - Millimetergenaue Planung +> - Individuelle Fronten und Innenausstattung +> - Persönliche Beratung vor Ort +> +> **Mehr zu CABINET →** + +### Rotpunkt Küchen + +> ### Rotpunkt Küchen +> **Küchen, die Haltung zeigen.** +> +> Premium-Küchen aus deutscher Fertigung – individuell geplant und gebaut für den Raum, in dem am meisten passiert. Rotpunkt steht für durchdachte Funktion, langlebige Materialien und einen Anspruch an Nachhaltigkeit, der über das Marketing hinausgeht. +> +> Beratung und Planung in unserem Küchenstudio. +> +> - Fertigung in Deutschland +> - Individuelle Planung nach Ihrem Grundriss +> - Nachhaltige Materialien +> +> **Mehr zu Rotpunkt →** + +### Febrü + +> ### Febrü +> **Arbeiten, wo man gerne ist.** +> +> Ob Home-Office oder ganze Büroetage: Febrü macht Möbel für konzentriertes Arbeiten. Höhenverstellbare Tische, durchdachte Stauraumlösungen und Sitzmöbel, die auch nach acht Stunden noch überzeugen – mit einem Design, das ins Zuhause genauso passt wie ins Unternehmen. +> +> - Ergonomie, die man merkt +> - Vom einzelnen Arbeitsplatz bis zur Bürofläche +> - Für Zuhause und fürs Unternehmen +> +> **Mehr zu Febrü →** + +`[PH]` Logos und Bildmaterial zu Rotpunkt und Febrü fehlen – Platzhalter setzen. + +--- + +## 3. Partnernetzwerk + +*Nimmt den Netzwerk-Gedanken der alten Seite auf, in kundenverständlicher Sprache.* + +> ## Mehr als Marken: unser Netzwerk +> +> Gute Einrichtung endet nicht beim Möbelstück. Deshalb arbeiten wir mit Fachbetrieben und Handwerkern aus der Region zusammen – von der Aufmaß-Erstellung über die Montage bis zu angrenzenden Gewerken. +> +> Für Sie bedeutet das: ein Ansprechpartner, der die Fäden zusammenhält, statt vieler Einzelgespräche. Und Partner, die wir kennen und für deren Arbeit wir geradestehen. + +**Optionale drei Punkte darunter:** + +> **Aufmaß & Planung** +> Wir kommen zu Ihnen, nehmen Maß und planen mit Ihnen gemeinsam. +> +> **Montage durch Fachbetriebe** +> Handwerker aus der Region, die wir persönlich kennen. +> +> **Ein Ansprechpartner** +> Von der ersten Idee bis zur Übergabe koordiniert aus einer Hand. + +--- + +## 4. Marken werden ergänzt + +*Kurzer Block, der die Erweiterbarkeit signalisiert. Optional – nur einbauen, wenn die Seite sonst zu kurz wirkt.* + +> ## Unsere Markenwelt wächst +> +> Wir erweitern unser Portfolio laufend um Hersteller, die zu unserem Anspruch passen. Sie vermissen eine bestimmte Marke oder haben einen konkreten Wunsch? Sprechen Sie uns an – oft finden wir über unser Netzwerk genau das Richtige. + +--- + +## 5. Abschluss-CTA + +> ## Lernen Sie unsere Marken kennen +> +> Am besten dort, wo Sie sie anfassen können: in unseren Showrooms. Vereinbaren Sie einen unverbindlichen Beratungstermin – wir nehmen uns Zeit. +> +> **Button 1:** Termin anfragen +> **Button 2:** Per WhatsApp schreiben + +--- + +## 6. Umsetzungshinweise + +- **Startseiten-Sektion bleibt** als Teaser mit verkürzten Texten. Kacheln verlinken direkt auf die jeweilige Detailseite, darunter ein Button **„Alle Marken ansehen"** → `/marken`. +- **Navigation:** „Marken" verlinkt auf `/marken`, nicht mehr per Anker auf die Startseite. +- **Detailseiten** hängen unter `/marken/cabinet`, `/marken/rotpunkt`, `/marken/februe` – dadurch saubere Hierarchie und funktionierender Rückweg. +- **Alte `/netzwerk`-Seite:** Inhalt geht in Abschnitt 3 auf. Seite entfernen und per 301 auf `/marken` weiterleiten, damit bestehende Links und Rankings nicht ins Leere laufen. +- **Reihenfolge der Marken** über das CMS steuerbar halten, damit Marcel sie später selbst ändern kann. \ No newline at end of file diff --git a/public/_cabinet/assets/b2in-interior-logo-negative.svg b/public/_cabinet/assets/b2in-interior-logo-negative.svg new file mode 100644 index 00000000..36c85f88 --- /dev/null +++ b/public/_cabinet/assets/b2in-interior-logo-negative.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/_cabinet/assets/b2in-interior-logo-positive.svg b/public/_cabinet/assets/b2in-interior-logo-positive.svg new file mode 100644 index 00000000..ad309a61 --- /dev/null +++ b/public/_cabinet/assets/b2in-interior-logo-positive.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/_cabinet/display/index.html b/public/_cabinet/display/index.html index eee68e97..acc7d0d2 100644 --- a/public/_cabinet/display/index.html +++ b/public/_cabinet/display/index.html @@ -145,7 +145,7 @@ /* B2in Brand (positionable logo + claim) */ .b2in-brand { position: absolute; z-index: 12; display: flex; align-items: center; max-width: 60%; } - .b2in-brand-logo img { height: 3.5vh; display: block; filter: drop-shadow(0 1px 4px rgba(0,0,0,0.45)); } + .b2in-brand-logo img { height: 4.6vh; display: block; filter: drop-shadow(0 1px 4px rgba(0,0,0,0.45)); } .b2in-brand-claim { font-size: 1.3vh; font-weight: 300; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.85); @@ -1337,7 +1337,7 @@ class B2inRenderer { layer.className = 'version-layer b2in-layer active' + (this.settings.show_footer === false ? ' no-footer' : ''); layer.setAttribute('data-theme', this.theme); - const headerLogoUrl = this.resolveUrl(this.settings.header_logo_url || '/_cabinet/assets/b2in-logo-positive.svg'); + const headerLogoUrl = this.resolveUrl(this.settings.header_logo_url || '/_cabinet/assets/b2in-interior-logo-negative.svg'); const headerClaim = this.settings.header_claim || 'Connecting Design & Property'; const footerUrl = this.settings.footer_url || 'B2in.eu'; const footerName = this.settings.footer_name || ''; diff --git a/public/img/assets/sponsoring/arminia-bielefeld.png b/public/img/assets/sponsoring/arminia-bielefeld.png new file mode 100644 index 0000000000000000000000000000000000000000..2b05fe31cc182221d0b4f2c6f5355fede2bb6c65 GIT binary patch literal 77316 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 jt(I!SaIOMY>{5vf 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 E0KYG0+W-In literal 0 HcmV?d00001 diff --git a/public/img/assets/sponsoring/tc-bad-waldliesborn-horn.jpg b/public/img/assets/sponsoring/tc-bad-waldliesborn-horn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2609544d11370d922cd5fe076c11c43858507a3f GIT binary patch literal 38925 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 literal 0 HcmV?d00001 diff --git a/public/img/logos/b2in-interior-logo-negative.png b/public/img/logos/b2in-interior-logo-negative.png new file mode 100644 index 0000000000000000000000000000000000000000..df56e5bef38dbc78b8599523b30f1de571c80d29 GIT binary patch literal 5383 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/logos/b2in-interior-logo-positive.png b/public/img/logos/b2in-interior-logo-positive.png new file mode 100644 index 0000000000000000000000000000000000000000..83c52822ea6f2b46b7f08732b48f305d074fea14 GIT binary patch literal 6864 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 KMNUMnLSTY!`0057 literal 0 HcmV?d00001 diff --git a/public/img/logos/b2in-interior-logo-positive.svg b/public/img/logos/b2in-interior-logo-positive.svg new file mode 100644 index 00000000..ad309a61 --- /dev/null +++ b/public/img/logos/b2in-interior-logo-positive.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/lang/de/b2in.php b/resources/lang/de/b2in.php index 44329f1a..4d93e70a 100644 --- a/resources/lang/de/b2in.php +++ b/resources/lang/de/b2in.php @@ -5,45 +5,83 @@ return [ 'b2in' => [ 'announcement_bar' => [ 'enabled' => true, - 'id' => 'azizi-launch-2026', - 'badge' => 'NEW LAUNCH', - 'text' => 'Azizi Creek Views 4 – Exklusives Off-Market-Projekt in Dubai '.\App\Helpers\PriceHelper::formatAed(1_125_000, 'ab'), - 'link_text' => 'Exposé ansehen', - 'link_url' => '/immobilien/azizi-creek-views-4', + 'id' => 'interior-rotpunkt-2026', + 'badge' => 'NEU', + 'text' => 'Rotpunkt Küchen jetzt bei B2in Interior – jetzt Beratungstermin sichern', + 'link_text' => 'Termin anfragen', + 'link_url' => '/contact', + ], + 'appointment_widget' => [ + 'button_label' => 'Termin anfragen', + 'title' => 'Termin anfragen', + 'intro' => 'Sagen Sie uns kurz, worum es geht – wir melden uns und stimmen einen Termin ab. Persönlich, unverbindlich.', + 'success' => 'Vielen Dank! Wir melden uns zeitnah bei Ihnen und stimmen den Termin ab.', + 'whatsapp_text' => 'Hallo B2in Interior, ich hätte gern einen Beratungstermin.', + ], + 'referenzen_hero' => [ + 'title' => 'Unsere Referenzen', + 'text' => 'Hier zeigen wir Projekte, die wir tatsächlich ausgeführt haben – keine Entwürfe und keine Visualisierungen. Der Bereich wächst mit jedem Auftrag, den wir zeigen dürfen.', + 'image' => '', + 'image_alt' => 'B2in Interior – realisierte Projekte', + ], + 'reference_projects' => [ + 'title' => 'Realisierte Projekte', + 'text' => 'Ausgeführte Arbeiten aus unseren Aufträgen, sortiert nach Marke. Entwürfe und Visualisierungen finden Sie bewusst getrennt davon auf den Markenseiten.', + 'empty' => 'Die ersten Projekte sind in Arbeit und erscheinen hier, sobald wir sie zeigen dürfen. Bis dahin schauen wir uns gern gemeinsam an, was für Ihre Räume möglich ist.', + ], + 'display_feed' => [ + 'title' => 'Aktuelles aus unserem Showroom', + 'text' => 'Was gerade auf dem Bildschirm im Showroom läuft, sehen Sie hier live – dieselbe Ansicht, derselbe Stand.', + 'note' => 'Der Inhalt wechselt automatisch.', + 'link_text' => 'Zu den Referenzen', + 'link_url' => '/referenzen', + 'iframe_title' => 'Live-Ansicht des Showroom-Displays', + 'display_id' => '', + ], + 'footer' => [ + 'claim' => 'Premium-Einrichtung. Persönlich gemacht.', + 'byline' => 'Marcel Scheibe', + 'links' => [ + ['label' => 'Häufige Fragen', 'url' => '/faq'], + ['label' => 'Datenschutz', 'url' => '/privacy'], + ['label' => 'AGB', 'url' => '/terms'], + ['label' => 'Cookie-Richtlinie', 'url' => '/cookie-policy'], + ['label' => 'Impressum', 'url' => '/impressum'], + ], ], 'header' => [ 'portal_login' => 'Partner-Login', 'navigation' => [ ['label' => 'Home', 'url' => '/'], - ['label' => 'Immobilien', 'url' => '/immobilien'], - ['label' => 'Netzwerk', 'url' => '/netzwerk'], + ['label' => 'Marken', 'url' => '/marken'], + ['label' => 'Referenzen', 'url' => '/referenzen'], ['label' => 'Magazin', 'url' => '/magazin'], - ['label' => 'FAQ', 'url' => '/faq'], + ['label' => 'Immobilien', 'url' => '/immobilien'], ['label' => 'Über B2in', 'url' => '/about'], ], ], 'hero' => [ - 'title' => 'B2in – Wo exklusive Immobilien-Investments auf smartes Interior treffen.', - 'subtitle' => 'Ihr Partner für renditestarke internationale Immobilien und globales Supply-Chain-Management im Interior-Bereich.', + 'title' => 'B2in Interior – Premium-Einrichtung von starken Marken. Für Ihr Zuhause. Für Ihr Projekt.', + 'subtitle' => 'Von der einzelnen Maßanfertigung bis zur vollständigen Ausstattung – mit CABINET, Rotpunkt Küchen, Febrü und einem Netzwerk regionaler Fachexperten.', 'image' => 'b2in/hero-room.jpg', - 'image_alt' => 'B2in – Internationale Immobilien und exklusive Einrichtungskonzepte', - 'cta1_text' => 'Zu den Immobilien-Projekten', - 'cta1_link' => '/immobilien', - 'cta2_text' => 'Unser Netzwerk', - 'cta2_link' => '/netzwerk', + 'image_alt' => 'B2in Interior – Premium-Einrichtung von starken Marken', + 'cta1_text' => 'Unsere Marken entdecken', + 'cta1_link' => '/marken', + 'cta2_text' => 'Termin anfragen', + 'cta2_link' => '/contact', 'stats' => [ - 'Internationale Immobilien', - 'Exklusive Einrichtung', + 'Premium-Marken', + 'Maßgefertigte Lösungen', 'Persönliche Beratung', ], - 'card_title' => 'B2in', - 'card_text' => 'Connecting Design and Property', + 'card_title' => 'B2in Interior', + 'card_text' => 'Einrichtung, die bleibt.', ], 'founder_bar' => [ 'image' => 'b2in/marcel-scheibe.jpg', 'name' => 'Marcel Scheibe', 'title' => 'Gründer & CEO, B2in', - 'statement' => 'B2in by Marcel Scheibe – Ihr persönlicher Partner für internationale Immobilien und exklusive Einrichtungskonzepte.', + 'statement' => 'B2in by Marcel Scheibe – Ihr persönlicher Partner für hochwertige Einrichtung und starke Marken.', ], 'synergie_section' => [ 'title' => 'Zwei Welten. Ein Netzwerk.', @@ -81,8 +119,8 @@ return [ 'vision_section' => [ 'title' => 'Gebaut auf Expertise und Vertrauen', 'paragraphs' => [ - 'B2in (Bridges2international) verbindet zwei Welten: internationale Immobilien und exklusive Einrichtungskonzepte. Als Ihr persönlicher Partner navigiere ich Sie durch beide Bereiche – mit Expertise, Netzwerk und dem Anspruch, dass jede Entscheidung auf Vertrauen basiert.', - 'Ob ein Investment in Dubai, eine Villa in Lissabon oder die maßgeschneiderte Einrichtung Ihres neuen Zuhauses durch lokale Fachexperten – bei B2in laufen alle Fäden zusammen.', + 'B2in stand ursprünglich für Bridges to International. Heute steht es ebenso für Bridges to Interior: hochwertige Einrichtung mit persönlicher Handschrift. Als Ihr Ansprechpartner verbinde ich ausgewählte Hersteller, regionale Fachexperten und ein verlässliches Netzwerk – damit aus Räumen Orte werden, die bleiben.', + 'Ob maßgefertigter Einbauschrank, neue Küche oder die vollständige Ausstattung eines Objekts: Bei B2in laufen alle Fäden zusammen. Und wer über die Einrichtung hinausdenkt, findet bei uns auch den Zugang zu internationalen Immobilien.', 'Regional verwurzelt, international vernetzt – das ist B2in.', ], 'image' => 'b2in/marcel-scheibe-about.jpg', @@ -132,10 +170,131 @@ return [ 'image_alt' => 'Das Ergebnis für den Kunden – Immobilie und Einrichtung aus einer Hand', 'image_caption' => 'Immobilie und Einrichtung – aus einer Hand', ], + 'audience_switch' => [ + 'title' => 'Für Ihr Zuhause. Für Ihr Projekt.', + 'subtitle' => 'Ob einzelnes Möbelstück oder komplette Ausstattung – wir begleiten Sie mit denselben Marken, demselben Anspruch und einem persönlichen Ansprechpartner.', + 'cards' => [ + [ + 'icon' => 'home', + 'title' => 'Einrichtung für Ihr Zuhause', + 'description' => 'Einzelne Möbelstücke, maßgefertigte Einbaulösungen oder die komplette Einrichtung: Unsere Kernmarken und unser Fachhandels-Netzwerk begleiten Sie von der ersten Idee bis zur Montage. Besuchen Sie unsere Showrooms oder vereinbaren Sie eine persönliche Beratung.', + 'button_text' => 'Beratung anfragen', + 'button_link' => '/contact', + ], + [ + 'icon' => 'building-office-2', + 'title' => 'Ausstattung für Ihr Projekt', + 'description' => 'Vollständige Einrichtung für Objekte, Büros und Projektentwicklungen – koordiniert aus einer Hand, von der Küche bis zur letzten Blume. Mit deutscher Vertragssicherheit und einem eingespielten Herstellernetzwerk.', + 'button_text' => 'Projekt besprechen', + 'button_link' => '/contact', + ], + ], + ], + 'core_brands' => [ + 'title' => 'Unsere Kernmarken', + 'subtitle' => 'Wir arbeiten nicht mit beliebigen Katalogen, sondern mit ausgewählten Herstellern, hinter denen wir stehen – jede Marke ein Spezialist auf ihrem Gebiet.', + 'brands' => [ + [ + 'name' => 'CABINET', + 'tagline' => 'Einbauschränke nach Maß.', + 'teaser' => 'Maßgefertigte Schranklösungen, geplant bis auf den Millimeter – gefertigt für Räume, in denen Standard nicht genügt. Erleben Sie die Möglichkeiten in unserem Showroom in Bielefeld.', + 'image' => '', + 'logo' => '', + 'link_text' => 'Mehr zu CABINET', + ], + [ + 'name' => 'Rotpunkt Küchen', + 'tagline' => 'Küchen, die Haltung zeigen.', + 'teaser' => 'Premium-Küchen aus deutscher Fertigung – individuell geplant, nachhaltig gedacht und gebaut für den Mittelpunkt Ihres Zuhauses. Beratung und Planung in unserem Küchenstudio.', + 'image' => '', + 'logo' => '', + 'link_text' => 'Mehr zu Rotpunkt', + ], + [ + 'name' => 'Febrü', + 'tagline' => 'Arbeiten, wo man gerne ist.', + 'teaser' => 'Möbel für konzentriertes Arbeiten – vom durchdachten Home-Office bis zur kompletten Büroeinrichtung. Ergonomie und Design für Zuhause und fürs Unternehmen.', + 'image' => '', + 'logo' => '', + 'link_text' => 'Mehr zu Febrü', + ], + ], + ], + 'sponsoring' => [ + 'title' => 'Regional verbunden', + 'subtitle' => 'Wir unterstützen Vereine und Organisationen aus der Region – weil Verwurzelung mehr ist als eine Adresse.', + // ⚠️ Die Kurztexte sind Entwürfe – von Marcel bestätigen lassen, bevor es live geht. + 'logos' => [ + [ + 'name' => 'DSC Arminia Bielefeld', + 'image' => 'sponsoring/arminia-bielefeld.png', + 'text' => 'Traditionsverein aus Bielefeld – der Stadt, in der wir zu Hause sind.', + ], + [ + 'name' => 'TC Bad Waldliesborn-Horn', + 'image' => 'sponsoring/tc-bad-waldliesborn-horn.jpg', + 'text' => 'Tennisclub aus Bad Waldliesborn. Vereinssport, der Menschen vor Ort zusammenbringt.', + ], + [ + 'name' => 'TC Hövelhof', + 'image' => 'sponsoring/tc-hoevelhof.png', + 'text' => 'Tennisclub aus Hövelhof – Breitensport im Kreis Paderborn.', + ], + ], + ], + 'immobilien_teaser' => [ + 'title' => 'Außerdem: Internationale Immobilien', + 'text' => 'Neben der Einrichtung begleiten wir ausgewählte internationale Immobilienprojekte – persönlich kuratiert und mit klarem Blick auf Substanz.', + 'link_text' => 'Zu den Immobilien', + 'link_url' => '/immobilien', + ], + 'marken_hero' => [ + 'title' => 'Unsere Marken', + 'text' => 'Wir arbeiten nicht mit beliebigen Katalogen, sondern mit ausgewählten Herstellern, hinter denen wir stehen. Jede Marke ist Spezialist auf ihrem Gebiet – und jede bringt mit, was gute Einrichtung ausmacht: Qualität, die man sieht, und Beratung, die zuhört.', + // Platzhalter aus dem Altbestand – gegen ein eigenes Motiv tauschen, sobald geliefert. + 'image' => 'b2in/b2a.jpg', + 'image_alt' => 'B2in Interior – unsere Kernmarken', + ], + 'marken_network' => [ + 'title' => 'Mehr als Marken: unser Netzwerk', + 'paragraphs' => [ + 'Gute Einrichtung endet nicht beim Möbelstück. Deshalb arbeiten wir mit Fachbetrieben und Handwerkern aus der Region zusammen – von der Aufmaß-Erstellung über die Montage bis zu angrenzenden Gewerken.', + 'Für Sie bedeutet das: ein Ansprechpartner, der die Fäden zusammenhält, statt vieler Einzelgespräche. Und Partner, die wir kennen und für deren Arbeit wir geradestehen.', + ], + 'points' => [ + [ + 'icon' => 'pencil-square', + 'title' => 'Aufmaß & Planung', + 'description' => 'Wir kommen zu Ihnen, nehmen Maß und planen mit Ihnen gemeinsam.', + ], + [ + 'icon' => 'wrench-screwdriver', + 'title' => 'Montage durch Fachbetriebe', + 'description' => 'Handwerker aus der Region, die wir persönlich kennen.', + ], + [ + 'icon' => 'user', + 'title' => 'Ein Ansprechpartner', + 'description' => 'Von der ersten Idee bis zur Übergabe koordiniert aus einer Hand.', + ], + ], + ], + 'marken_growth' => [ + 'enabled' => true, + 'title' => 'Unsere Markenwelt wächst', + 'text' => 'Wir erweitern unser Portfolio laufend um Hersteller, die zu unserem Anspruch passen. Sie vermissen eine bestimmte Marke oder haben einen konkreten Wunsch? Sprechen Sie uns an – oft finden wir über unser Netzwerk genau das Richtige.', + ], + 'marken_cta' => [ + 'title' => 'Lernen Sie unsere Marken kennen', + 'text' => 'Am besten dort, wo Sie sie anfassen können: in unseren Showrooms. Vereinbaren Sie einen unverbindlichen Beratungstermin – wir nehmen uns Zeit.', + 'button_text' => 'Termin anfragen', + 'button_link' => '/contact', + 'whatsapp_text' => 'Per WhatsApp schreiben', + ], 'cta_section' => [ 'title' => 'Ihr nächster Schritt', - 'subtitle' => 'Ob Immobilien-Investment, Supply-Chain-Partnerschaft oder Einrichtungs-Netzwerk – sprechen Sie direkt mit uns.', - 'button_text' => 'Kontakt aufnehmen', + 'subtitle' => 'Ob einzelnes Möbelstück, komplette Einrichtung oder Projektausstattung – sprechen Sie mit uns. Persönlich, unkompliziert, verbindlich.', + 'button_text' => 'Termin anfragen', 'button_link' => '/contact', ], 'immobilien_hero' => [ @@ -377,14 +536,14 @@ return [ // NETZWERK SOFT LAUNCH - Kombinierte Teaser-Seite // ============================================================ 'netzwerk_hero' => [ - 'title' => 'Das B2in Ökosystem – Immobilien trifft Interior.', - 'subtitle' => 'Wir bauen aktuell das intelligenteste Local-for-Local Einrichtungsnetzwerk. Als Immobilienkunde von B2in profitieren Sie in Zukunft exklusiv von unserem Closed-Shop.', + 'title' => 'Das B2in Netzwerk – regionale Fachexperten und starke Marken.', + 'subtitle' => 'Wir verbinden Fachhändler aus der Region mit ausgewählten europäischen Herstellern – damit Sie vor Ort beraten werden und trotzdem Zugriff auf das gesamte Sortiment haben.', 'image' => 'b2in/ecosystem-hero.jpg', - 'image_alt' => 'B2in Ökosystem – Einrichtung und Immobilien', + 'image_alt' => 'B2in Netzwerk – Einrichtung und regionale Fachexperten', ], 'netzwerk_image_break' => [ 'image' => 'b2in/ecosystem-hero.jpg', - 'image_alt' => 'B2in Ökosystem – Einrichtung und Immobilien', + 'image_alt' => 'B2in Netzwerk – Einrichtung und regionale Fachexperten', 'quote' => 'Wir verbinden, was zusammengehört: Immobilien und Einrichtung.', 'author' => 'Marcel Scheibe', ], @@ -406,7 +565,7 @@ return [ [ 'icon' => 'globe-alt', 'title' => 'Für Entwickler & Marken', - 'description' => 'Deutsche Vertragssicherheit für internationale Immobilienentwickler. Supply-Chain-Management mit Fokus auf Termintreue, Qualitätskontrolle und Durchsetzungskraft.', + 'description' => 'Deutsche Vertragssicherheit für Objekte und Projektentwicklungen: Beschaffung aus einer Hand, mit Fokus auf Termintreue, Qualitätskontrolle und Durchsetzungskraft.', 'status' => 'Vorab-Registrierung möglich', ], ], @@ -422,7 +581,7 @@ return [ 'title' => 'Unser Premiumpartner: CABINET Einbauschränke', 'lead' => 'Maßgefertigte Exzellenz für höchste Ansprüche.', 'paragraphs' => [ - 'Im B2in-Ökosystem setzen wir auf Qualität, die Bestand hat. Wir sind stolz darauf, CABINET als Premiumpartner in unserem Netzwerk zu präsentieren. Der CABINET Store in Bielefeld (unser physischer Ankerpunkt) steht für maßgefertigte Einbaulösungen, die Design, Funktionalität und handwerkliche Präzision perfekt vereinen.', + 'Im B2in-Netzwerk setzen wir auf Qualität, die Bestand hat. Wir sind stolz darauf, CABINET als Premiumpartner in unserem Netzwerk zu präsentieren. Der CABINET Store in Bielefeld (unser physischer Ankerpunkt) steht für maßgefertigte Einbaulösungen, die Design, Funktionalität und handwerkliche Präzision perfekt vereinen.', 'Ob begehbare Kleiderschränke, smarte Raumlösungen oder exklusive Innenausbauten – CABINET liefert den Premium-Standard, den unsere Immobilien-Investoren und Entwickler für ihre High-End-Projekte fordern. Diese Partnerschaft ist ein lebendiger Beweis für unsere Philosophie: Wir verbinden internationale Immobilien mit deutscher Einrichtungsexzellenz.', ], 'image' => 'b2in/cabinet_logo.png', @@ -573,63 +732,71 @@ return [ ], 'faq' => [ 'title' => 'Häufig gestellte Fragen', - 'subtitle' => 'Hier finden Sie Antworten auf die häufigsten Fragen zu B2in und unserem Ökosystem.', + 'subtitle' => 'Antworten auf die Fragen, die uns am häufigsten gestellt werden – zur Beratung, zur Maßanfertigung und zur Ausstattung von Projekten.', 'questions' => [ [ 'question' => 'Was ist B2in und welche Services bieten Sie an?', - 'answer' => 'B2in ist die Brücke zwischen internationalen Premium-Immobilien und exklusiven Einrichtungskonzepten. Wir bieten Immobilieninvestoren Zugang zu Off-Market-Projekten (Fokus: Dubai) und begleiten sie durch den gesamten Kaufprozess. Gleichzeitig bieten wir Bauträgern ein knallhartes Supply-Chain-Management für die Beschaffung deutscher Qualitätsmöbel und bauen ein innovatives Einrichtungsnetzwerk für lokale Händler auf.', + 'answer' => 'B2in Interior steht für hochwertige Einrichtung von starken Marken – CABINET, Rotpunkt Küchen und Febrü – ergänzt um ein Netzwerk regionaler Fachexperten. Wir begleiten Privatkunden von der einzelnen Maßanfertigung bis zur kompletten Einrichtung und statten Objekte, Büros und Projektentwicklungen vollständig aus. Darüber hinaus begleiten wir ausgewählte internationale Immobilienprojekte.', ], [ - 'question' => 'Was bedeutet Supply-Chain-Management bei B2in?', - 'answer' => 'Für internationale Immobilienentwickler fungieren wir als verlängerter Arm in Deutschland. Wir übernehmen die operative und strategische Steuerung der Möbel- und Innenausstattungsbeschaffung. Das bedeutet: Wir sichern Lieferverträge ab, überwachen Meilensteine direkt bei den Herstellern und eskalieren bei Abweichungen sofort auf Managementebene. Unser Ziel ist absolute Vertragssicherheit und termingerechte Lieferung ohne Reibungsverluste.', + 'question' => 'Was bedeutet Projektausstattung bei B2in?', + 'answer' => 'Für Objekte, Büros und Projektentwicklungen übernehmen wir die vollständige Ausstattung – koordiniert aus einer Hand. Wir steuern die Beschaffung von Möbeln und Innenausstattung operativ und strategisch. Das bedeutet: Wir sichern Lieferverträge ab, überwachen Meilensteine direkt bei den Herstellern und eskalieren bei Abweichungen sofort auf Managementebene. Unser Ziel ist absolute Vertragssicherheit und termingerechte Lieferung ohne Reibungsverluste.', ], [ - 'question' => 'Wie kann ich Partner bei B2in werden?', - 'answer' => 'Unser Netzwerk richtet sich an Immobilienentwickler, Makler und den regionalen Möbelfachhandel. Wenn Sie als Entwickler deutsche Beschaffungssicherheit suchen oder als Händler Teil unseres künftigen "Local for Local"-Netzwerks werden möchten, um qualifizierte Leads von Immobilienkäufern zu erhalten, nutzen Sie einfach unser Kontaktformular. Wir prüfen jede Partnerschaft individuell auf Qualität und Passgenauigkeit.', + 'question' => 'Wie kann ich Partner bei B2in Interior werden?', + 'answer' => 'Unser Netzwerk umfasst Fachbetriebe und Handwerker rund um die Einrichtung – von der Montage über das Aufmaß bis zu angrenzenden Gewerken. Wenn Sie Interesse an einer Zusammenarbeit haben, schreiben Sie uns über das Kontaktformular. Wir prüfen jede Partnerschaft einzeln, weil wir für die Arbeit unserer Partner geradestehen.', ], [ - 'question' => 'Wie funktioniert das Immobilien-Investment über B2in?', - 'answer' => 'Wir vermitteln nicht nur, wir begleiten Sie. Marcel Scheibe ist Ihr persönlicher Berater, der den Markt (insbesondere Dubai) aus eigener Investorensicht kennt. Nach einer Bedarfsanalyse stellen wir Ihnen exklusive Projekte vor (z. B. von Azizi Developments). Der Kaufprozess selbst ist durch das staatliche Escrow-System in Dubai maximal abgesichert. Ihr besonderer Vorteil: Als B2in-Kunde erhalten Sie im Anschluss exklusiven Zugang zu unserem Netzwerk, um Ihr Investment schlüsselfertig (Turnkey) und renditeoptimiert einrichten zu lassen.', + 'question' => 'Wie läuft eine Beratung bei Ihnen ab?', + 'answer' => 'Am Anfang steht ein Gespräch – im Showroom, bei Ihnen zu Hause oder telefonisch. Wir schauen uns an, welche Räume es betrifft, wie Sie sie nutzen und was Ihnen wichtig ist. Danach folgt das Aufmaß vor Ort, anschließend die Planung. Sie sehen Ihre Lösung, bevor etwas gefertigt wird. Termine vereinbaren Sie über das Formular auf dieser Seite oder direkt telefonisch.', ], [ - 'question' => 'Was macht B2in zu einem vertrauenswürdigen Partner?', - 'answer' => 'Vertrauen entsteht durch Transparenz und eigene Markterfahrung. B2in-Gründer Marcel Scheibe investiert selbst in die Märkte, die wir anbieten, und ist regelmäßig vor Ort, um Baufortschritte zu prüfen. Wir verbinden die immense Dynamik internationaler Märkte (wie Dubai) mit deutscher Verlässlichkeit, striktem Vertragsmanagement und einem kuratierten Netzwerk von Premiumpartnern wie CABINET. Bei uns haben Sie immer einen persönlichen Ansprechpartner, der Ihre Interessen vertritt.', + 'question' => 'Was macht B2in Interior zu einem verlässlichen Partner?', + 'answer' => 'Wir arbeiten mit einer überschaubaren Zahl ausgewählter Hersteller statt mit beliebigen Katalogen – und stehen für deren Arbeit gerade. Hinter B2in Interior steht mit Marcel Scheibe ein Gesicht und ein fester Ansprechpartner, vom ersten Gespräch bis nach der Montage. Für die Gewerke rund um die Einrichtung arbeiten wir mit Fachbetrieben aus der Region zusammen, die wir kennen.', ], ], 'sections' => [ [ - 'title' => 'Fokus: Immobilien-Investoren (B2C)', + 'title' => 'Für Ihr Zuhause', 'icon' => 'home-modern', 'questions' => [ [ - 'question' => 'Muss ich für den Immobilienkauf persönlich nach Dubai reisen?', - 'answer' => 'Nein, der gesamte Kaufprozess kann vollständig digital und rechtsverbindlich aus der Ferne abgewickelt werden. Das Dubai Land Department bietet hierfür hochsichere Prozesse. Wir empfehlen unseren Investoren zwar gerne, sich vor Ort ein Bild von der Dynamik der Stadt zu machen, für den rechtssicheren Erwerb ist Ihre physische Anwesenheit jedoch nicht zwingend erforderlich.', + 'question' => 'Muss ich gleich die ganze Wohnung einrichten?', + 'answer' => 'Nein. Viele Aufträge beginnen mit einem einzigen Möbelstück – einem Einbauschrank für die Dachschräge, einer neuen Küche, einem Arbeitsplatz. Ob daraus mehr wird, entscheiden Sie. Wir planen so, dass eine spätere Ergänzung passt und nicht wie ein Fremdkörper wirkt.', ], [ - 'question' => 'Was passiert nach dem Immobilienkauf? Helfen Sie bei der Einrichtung?', - 'answer' => 'Genau hier liegt der große Vorteil des B2in-Ökosystems. Unser Service endet nicht mit dem Kaufvertrag. Als B2in-Kunde erhalten Sie exklusiven Zugang zu unserem Einrichtungsnetzwerk. Wir unterstützen Sie dabei, Ihre Immobilie renditeoptimiert und schlüsselfertig („Turnkey") mit Qualitätsmöbeln auszustatten – die perfekte Grundlage für eine lukrative Kurzzeitvermietung.', + 'question' => 'Was kostet eine Maßanfertigung im Vergleich zu Möbeln von der Stange?', + 'answer' => 'Das hängt vom Raum, den Materialien und der Ausstattung ab – eine seriöse Zahl lässt sich erst nach dem Aufmaß nennen. Was sich sagen lässt: Maßanfertigung nutzt Flächen, die ein Standardmöbel liegen lässt – Schrägen, Nischen, ungewöhnliche Höhen. Sie zahlen für den Raum, den Sie sonst verschenken. Das Angebot bekommen Sie vor der Fertigung, verbindlich und aufgeschlüsselt.', ], [ - 'question' => 'Welche steuerlichen Vorteile bietet ein Investment in Dubai?', - 'answer' => 'Dubai bietet ein weltweit einzigartiges wirtschaftliches Umfeld. Es fallen weder Einkommensteuer auf Mieteinnahmen noch Kapitalertragsteuer beim Verkauf der Immobilie an. In Kombination mit den starken Mietrenditen macht dies den Standort für internationale Anleger strategisch so wertvoll.', + 'question' => 'Übernehmen Sie auch die Montage?', + 'answer' => 'Ja. Lieferung und Montage laufen über uns beziehungsweise über Fachbetriebe aus unserem Netzwerk, mit denen wir regelmäßig arbeiten. Sie haben einen Ansprechpartner, der die Termine koordiniert – auch dann, wenn mehrere Gewerke beteiligt sind.', + ], + [ + 'question' => 'Kann ich mir die Marken vorher ansehen?', + 'answer' => 'Ja, im Showroom in Bielefeld lassen sich Oberflächen, Fronten und Beschläge in Ruhe anfassen und vergleichen. Fotos und Muster helfen bei der Vorauswahl, ersetzen aber nicht den direkten Eindruck. Vereinbaren Sie dafür am besten vorher einen Termin, damit wir uns Zeit nehmen können.', ], ], ], [ - 'title' => 'Fokus: B2B-Partner (Makler & Händler)', + 'title' => 'Für Projekte und Objekte', 'icon' => 'briefcase', 'questions' => [ [ - 'question' => 'Wie profitieren Immobilienmakler von einer Partnerschaft mit B2in?', - 'answer' => 'B2in bietet Maklern ein exklusives Werkzeug zur Kundenbindung: Sie können Ihren Immobilienkäufern den Zugang zu unserem geschlossenen Einrichtungsnetzwerk als exklusives „Closing-Geschenk" überreichen. Gleichzeitig profitieren Sie als Makler durch unser technisches Clearing-System von einer passiven Lifetime-Vergütung an den Möbelumsätzen Ihrer Kunden.', + 'question' => 'Ab welcher Größe lohnt sich eine Projektausstattung?', + 'answer' => 'Eine feste Untergrenze gibt es nicht. Sinnvoll wird die Zusammenarbeit, sobald mehrere Einheiten oder mehrere Gewerke im Spiel sind und die Koordination zum eigentlichen Aufwand wird – bei Büroflächen, möblierten Wohneinheiten oder der Ausstattung eines ganzen Objekts.', ], [ - 'question' => 'Was genau ist der „Local for Local" Marktplatz?', - 'answer' => 'Unser „Local for Local"-Prinzip ist der Gegenentwurf zu anonymen Online-Möbelgiganten. Wir machen die sofort verfügbaren Bestände und Ausstellungsstücke regionaler Fachhändler (Säule „Local Express") für einen geschlossenen Kundenkreis transparent. So stärken wir den lokalen Handel vor Ort und bieten Käufern gleichzeitig Insider-Konditionen für Premium-Einrichtung.', + 'question' => 'Wie stellen Sie Termintreue sicher?', + 'answer' => 'Wir arbeiten mit festen Lieferverträgen, verfolgen die Meilensteine direkt beim Hersteller und melden Abweichungen, sobald sie sichtbar werden – nicht erst zum Liefertermin. Bei mehreren Gewerken übernehmen wir die Abstimmung untereinander, damit die Reihenfolge auf der Baustelle stimmt.', ], [ - 'question' => 'Ist das Einrichtungsnetzwerk für jeden öffentlich zugänglich?', - 'answer' => 'Nein. Um die exklusiven Insider-Konditionen und Rabatte unserer Hersteller und lokalen Händler zu schützen, agiert der B2in-Möbelmarktplatz als „Closed Shop". Der Zugang erfolgt ausschließlich über Einladungen – beispielsweise durch unsere Partner-Makler beim Erwerb einer Immobilie.', + 'question' => 'Arbeiten Sie mit Architekten und Planungsbüros zusammen?', + 'answer' => 'Ja. Wir übernehmen bestehende Planungen und setzen sie um oder steigen früher ein, wenn Möblierung und Grundriss noch aufeinander abgestimmt werden müssen. Für Sonderlösungen sprechen wir direkt mit den Herstellern.', + ], + [ + 'question' => 'Wie werde ich Partner im regionalen Netzwerk?', + 'answer' => 'Unser Netzwerk umfasst Fachbetriebe und Handwerker rund um die Einrichtung – von der Montage bis zu angrenzenden Gewerken. Wenn Sie Interesse haben, schreiben Sie uns über das Kontaktformular. Wir prüfen jede Zusammenarbeit einzeln, weil wir für die Arbeit unserer Partner geradestehen.', ], ], ], @@ -652,10 +819,13 @@ return [ ], 'subjects' => [ '' => 'Wählen Sie einen Betreff', + 'beratung' => 'Beratungstermin', + 'massanfertigung' => 'Maßanfertigung für mein Zuhause', + 'kueche' => 'Küchenplanung', + 'supply_chain' => 'Ausstattung für Projekte', + 'partnership' => 'Zusammenarbeit im Netzwerk', 'immobilien' => 'Internationale Immobilien', - 'supply_chain' => 'Supply-Chain-Management', 'general' => 'Allgemeine Anfrage', - 'partnership' => 'Partnerschaft', 'press' => 'Presse', 'career' => 'Karriere', ], @@ -704,14 +874,14 @@ return [ ], 'about_hero' => [ 'title' => 'Über B2in: Unsere Mission', - 'quote' => '"Meine Mission ist es, zwei Welten zu verbinden, die zusammengehören: internationale Immobilien und exklusive Einrichtung. B2in gibt dem lokalen Fachexperten die digitalen Werkzeuge und den Immobilienentwickler den operativen Partner vor Ort.

Wir bauen Brücken – zwischen europäischem Design, internationalen Märkten und dem Zuhause der Menschen."', + 'quote' => '"Gute Einrichtung entsteht nicht im Katalog, sondern im Gespräch. Deshalb arbeiten wir mit wenigen, ausgewählten Herstellern, die wir kennen – und mit Fachbetrieben aus der Region, für deren Arbeit wir geradestehen.

Mein Anspruch ist einfach: ein Ansprechpartner, vom ersten Aufmaß bis nach der Montage."', 'founder_name' => 'Marcel Scheibe', 'founder_title' => 'Gründer & CEO, B2in', 'image' => 'b2in/about-hero.jpg', 'image_alt' => 'Marcel Scheibe, Gründer und CEO von B2in', 'card_title' => 'B2in', - 'card_text' => 'Connecting Design and Property', + 'card_text' => 'Premium-Einrichtung. Persönlich gemacht.', ], 'broker_section' => [ @@ -997,26 +1167,26 @@ return [ 'timeline' => [ [ 'title' => 'Die Idee', - 'description' => '2024 erkannten wir eine entscheidende Lücke: Der lokale Fachhandel braucht digitale Sichtbarkeit und Immobilienkäufer suchen nach nahtlosen Einrichtungslösungen. Diese beiden Welten gehören zusammen.', + 'description' => '2024 war der Ausgangspunkt eine einfache Beobachtung: Wer hochwertig einrichten will, findet online viele Kataloge – aber selten jemanden, der zuhört, aufmisst und am Ende geradesteht.', 'icon' => 'light-bulb', ], [ 'title' => 'Das Fundament', - 'description' => 'Wir entwickeln die B2in-Plattform: ein Ökosystem, das lokale Einrichtungsexperten, europäische Hersteller und Immobilienprofis auf einer gemeinsamen Plattform verbindet – fair, transparent und technologiegestützt.', + 'description' => 'Wir bauen das Netzwerk auf: ausgewählte Hersteller, Fachbetriebe und Handwerker aus der Region – verbunden durch dieselbe Grundhaltung, dass Qualität und Wort halten zusammengehören.', 'icon' => 'rocket-launch', ], [ 'title' => 'Die Erweiterung', - 'description' => '2025/2026 erweitert B2in sein Ökosystem: Internationale Immobilien und Supply-Chain-Management für Entwickler werden zur dominanten Säule. Der lokale Möbelmarktplatz bleibt als starker ergänzender Bereich bestehen.', + 'description' => '2026 rückt das Interior in den Mittelpunkt: Mit CABINET, Rotpunkt Küchen und Febrü stehen starke Kernmarken im Zentrum, ergänzt um ein Netzwerk regionaler Fachexperten. Internationale Immobilien bleiben als ergänzender Bereich bestehen.', 'icon' => 'globe-alt', ], [ 'title' => 'Die Vision', - 'description' => 'B2in wird zum zentralen Netzwerk für "Design & Property" – regional verwurzelt, international vernetzt. In jeder Region der verlässliche Partner für Immobilien-Investments und exklusive Einrichtungskonzepte.', + 'description' => 'B2in Interior wird in der Region die erste Adresse für hochwertige Einrichtung – vom einzelnen Einbauschrank bis zur vollständigen Ausstattung. Regional verwurzelt, international vernetzt.', 'icon' => 'star', ], ], - 'summary' => 'Was als Vision begann, den lokalen Handel zu stärken, ist heute ein Netzwerk, das Immobilien und Einrichtung nahtlos verbindet. B2in schließt die Lücke zwischen internationalen Investments und lokaler Expertise – mit Marcel Scheibe als Gesicht und Ansprechpartner.', + 'summary' => 'Aus der Idee, hochwertige Einrichtung wieder persönlich zu machen, ist ein Netzwerk aus starken Marken und regionalen Fachbetrieben geworden – mit Marcel Scheibe als Gesicht und festem Ansprechpartner.', ], 'about_image_break' => [ 'image' => 'b2in/best-of-two-worlds.jpg', @@ -1026,37 +1196,37 @@ return [ ], 'our_values' => [ 'title' => 'Unsere Werte', - 'subtitle' => 'Diese sechs Grundpfeiler leiten unser tägliches Handeln und definieren, wer wir als Unternehmen sind und wofür wir stehen.', + 'subtitle' => 'Sechs Grundsätze, an denen wir uns messen lassen – in der Beratung, in der Planung und nach der Montage.', 'values' => [ [ - 'title' => 'Innovation', - 'description' => 'Wir entwickeln digitale Lösungen, die Immobilienprofis und lokale Einrichtungsexperten gleichermaßen einen echten Wettbewerbsvorteil verschaffen.', - 'icon' => 'light-bulb', + 'title' => 'Beratung statt Verkauf', + 'description' => 'Wir fragen zuerst, wie Sie Ihre Räume nutzen, und schlagen erst danach etwas vor. Manchmal ist die richtige Antwort ein kleineres Möbelstück als gedacht.', + 'icon' => 'chat-bubble-left-right', ], [ - 'title' => 'Konnektivität', - 'description' => 'Wir verbinden internationale Immobilienmärkte mit lokaler Expertise und europäische Manufakturen mit den Menschen, die ihre Produkte schätzen.', - 'icon' => 'globe-alt', + 'title' => 'Maßarbeit', + 'description' => 'Schrägen, Nischen und ungewöhnliche Höhen sind kein Problem, sondern der Grund für eine Maßanfertigung. Wir planen den Raum, den ein Standardmöbel liegen lässt.', + 'icon' => 'cube-transparent', ], [ - 'title' => 'Qualität', - 'description' => 'Kompromisslose Standards – bei der Auswahl unserer Partner, der Kuration der Einrichtung, der Überwachung von Lieferketten und der Technologie, die alles zusammenhält.', + 'title' => 'Ausgewählte Marken', + 'description' => 'Lieber wenige Hersteller, die wir kennen, als ein beliebiges Sortiment. Für die Marken, die wir führen, stehen wir gerade.', 'icon' => 'check-badge', ], [ - 'title' => 'Vertrauen', - 'description' => 'Transparente Modelle und verlässliche Partnerschaften sind unser Fundament. Hinter B2in steht ein Gesicht – und das Versprechen, dass wir liefern, was wir zusagen.', + 'title' => 'Regional verwurzelt', + 'description' => 'Wir arbeiten mit Fachbetrieben und Handwerkern aus der Region – Menschen, die wir kennen und die vor Ort sind, wenn es darauf ankommt.', + 'icon' => 'map-pin', + ], + [ + 'title' => 'Ein Ansprechpartner', + 'description' => 'Vom ersten Gespräch über das Aufmaß bis nach der Montage bleibt der Kontakt derselbe. Auch dann, wenn mehrere Gewerke beteiligt sind.', 'icon' => 'user-group', ], [ - 'title' => 'Nachhaltigkeit', - 'description' => 'Wir stärken den lokalen Handel, optimieren Transportwege und sorgen dafür, dass internationale Beschaffung verantwortungsvoll und effizient abläuft.', - 'icon' => 'arrow-path', - ], - [ - 'title' => 'Design-Exzellenz', - 'description' => 'Design ist der Kern unserer Wertschöpfung – von internationaler Architektur über kuratierte Einrichtung bis zur intuitiven Gestaltung unserer digitalen Plattform.', - 'icon' => 'cube-transparent', + 'title' => 'Verlässlichkeit', + 'description' => 'Zusagen zu Terminen und Preisen halten wir ein. Wenn sich etwas verschiebt, sagen wir es, sobald wir es wissen – nicht erst am Liefertag.', + 'icon' => 'shield-check', ], ], ], @@ -1478,6 +1648,73 @@ return [ ], ], 'articles' => [ + // ⚠️ Platzhalter-Beiträge zum neuen Interior-Auftritt. Inhaltlich bewusst allgemein + // gehalten (keine Referenzen, keine Zahlen, keine Namen) – vor dem Livegang von Marcel + // gegenlesen und bei Bedarf um echte Beispiele ergänzen. + 6 => [ + 'id' => 6, + 'slug' => 'massanfertigung-warum-der-millimeter-zaehlt', + 'title' => 'Nach Maß statt von der Stange:
Warum der Millimeter über den Raum entscheidet', + 'subtitle' => 'Dachschrägen, Nischen, ungewöhnliche Höhen: Wo Standardmöbel aufgeben, fängt die Maßanfertigung erst an – und macht aus totem Raum nutzbare Fläche.', + 'image' => 'b2in/stileigentum.jpg', + 'category' => 'Einrichtung', + 'date' => 'August 26, 2026', + 'readTime' => '5 min read', + 'author' => [ + 'name' => 'Marcel Scheibe', + 'bio' => 'Gründer & CEO von B2in Interior. Mit Wurzeln in der Möbelbranche begleitet er Kunden von der Planung bis nach der Montage.', + 'avatar' => 'b2in/marcel-scheibe.jpg', + ], + 'content' => [ + 'intro' => 'Fast jede Wohnung hat sie: die Ecke, in der nichts richtig passt. Die Schräge unter dem Dach, die Nische neben dem Schornstein, der Flur, der für einen Schrank zu schmal und für nichts zu breit ist. Wer dort ein Standardmöbel hinstellt, verliert doppelt – vorne bleibt ein Spalt, hinten bleibt Luft. Maßanfertigung setzt genau da an, und der Unterschied entsteht nicht am Möbel, sondern lange vorher: beim Aufmaß.', + 'sections' => [ + [ + 'title' => 'Aufmaß ist keine Formalie', + 'content' => 'Wände sind selten gerade, Böden selten eben, und in Altbauten weicht die Höhe über die Länge eines Raums gern um mehrere Zentimeter ab. Ein Aufmaß vor Ort nimmt diese Abweichungen auf, statt sie zu ignorieren. Erst danach lässt sich planen, was am Ende auf den Millimeter passt – ohne Blenden, die etwas kaschieren müssen, und ohne Fugen, in denen sich Staub sammelt.', + ], + [ + 'title' => 'Der Raum, den man sonst verschenkt', + 'content' => 'Bei einer Dachschräge liegt der Gewinn nicht in der Optik, sondern in der Fläche. Ein Schrank, der der Schräge folgt, nutzt den Bereich, den ein gerader Korpus abschneidet – je nach Neigung ist das ein erheblicher Teil des Stauraums. Ähnlich in Nischen: Ein eingepasster Einbau bringt Tiefe, die ein freistehendes Möbel nie erreicht, weil es Abstand zur Wand braucht.', + ], + [ + 'title' => 'Wo sich Maß nicht lohnt', + 'content' => 'Ehrlich bleibt, wer auch die Gegenseite nennt: Bei geraden Wänden, üblichen Raumhöhen und Standardmaßen ist ein gutes Serienmöbel oft die vernünftigere Wahl – schneller lieferbar und günstiger. Die Frage lautet deshalb nicht „Maß oder nicht", sondern: Wo im Raum gibt es tatsächlich etwas zu gewinnen? Diese Antwort gehört an den Anfang der Beratung, nicht ans Ende.', + ], + ], + ], + ], + 7 => [ + 'id' => 7, + 'slug' => 'kueche-planen-vom-wunsch-zum-grundriss', + 'title' => 'Küche planen:
Wie aus Wünschen ein Grundriss wird', + 'subtitle' => 'Bevor über Fronten und Farben gesprochen wird, entscheidet sich der Erfolg einer Küche an drei Fragen – und die haben mit Design zunächst wenig zu tun.', + 'image' => 'b2in/style2own.jpg', + 'category' => 'Küche', + 'date' => 'August 20, 2026', + 'readTime' => '6 min read', + 'author' => [ + 'name' => 'Marcel Scheibe', + 'bio' => 'Gründer & CEO von B2in Interior. Mit Wurzeln in der Möbelbranche begleitet er Kunden von der Planung bis nach der Montage.', + 'avatar' => 'b2in/marcel-scheibe.jpg', + ], + 'content' => [ + 'intro' => 'Die meisten Küchengespräche beginnen bei der Front: matt oder glänzend, hell oder dunkel, Griff oder grifflos. Verständlich, denn das sieht man. Nur entscheidet sich an dieser Stelle noch gar nichts. Ob eine Küche im Alltag funktioniert, hängt an Fragen, die sich vor der ersten Farbmustertafel klären lassen – und die man später kaum noch korrigieren kann.', + 'sections' => [ + [ + 'title' => 'Frage eins: Wie kochen Sie wirklich?', + 'content' => 'Nicht, wie Sie gern kochen würden – wie Sie es tatsächlich tun. Wer täglich frisch kocht, braucht Arbeitsfläche neben dem Herd und kurze Wege zwischen Kühlschrank, Spüle und Kochfeld. Wer die Küche vor allem als Treffpunkt nutzt, plant anders: mehr Platz zum Stehen, eine Fläche, an der jemand sitzen kann, während gekocht wird. Beides sind gute Küchen, aber es sind nicht dieselben.', + ], + [ + 'title' => 'Frage zwei: Was gibt der Raum vor?', + 'content' => 'Fenster, Türen, Anschlüsse und tragende Wände bestimmen den Rahmen, bevor irgendjemand etwas plant. Manches lässt sich verlegen, manches nicht – und was es kostet, sollte auf dem Tisch liegen, bevor die Planung darauf aufbaut. Auch die Deckenhöhe gehört dazu: Sie entscheidet, ob Oberschränke bis nach oben laufen können oder ob darüber eine Staubkante entsteht.', + ], + [ + 'title' => 'Frage drei: Was soll in zehn Jahren noch stimmen?', + 'content' => 'Eine Küche bleibt lange. Fronten lassen sich in vielen Systemen später tauschen, Korpusmaße und Grundriss praktisch nicht. Es lohnt sich deshalb, bei Auszügen, Beschlägen und Arbeitsplatte auf Haltbarkeit zu achten und die Aufmerksamkeit für Modisches auf die Teile zu lenken, die austauschbar sind. Erst danach kommt die Farbe – und dann darf sie auch mutig sein.', + ], + ], + ], + ], 1 => [ 'id' => 1, 'title' => 'Sicherheit statt Bürokratie:
Warum das Dubai Escrow-System deutsche Investoren überrascht', diff --git a/resources/lang/de/ui.php b/resources/lang/de/ui.php index dde54685..aa3654ca 100644 --- a/resources/lang/de/ui.php +++ b/resources/lang/de/ui.php @@ -16,9 +16,60 @@ return [ 'menu_close' => 'Menü schließen', 'menu_open' => 'Menü öffnen', + 'display_feed_title' => 'Live-Ansicht des Showroom-Displays', + 'references_empty' => 'Die ersten Projekte erscheinen hier, sobald wir sie zeigen dürfen.', + + // Terminanfrage-Widget + 'appointment' => [ + 'name' => 'Name', + 'email' => 'E-Mail', + 'phone' => 'Telefon', + 'topic' => 'Anliegen', + 'topic_placeholder' => 'Bitte auswählen', + 'preferred_date' => 'Wunschtermin', + 'message' => 'Nachricht', + 'message_placeholder' => 'Worum geht es? Gern in zwei Sätzen.', + 'submit' => 'Anfrage senden', + 'sending' => 'Wird gesendet …', + 'success' => 'Vielen Dank! Wir melden uns zeitnah bei Ihnen und stimmen den Termin ab.', + 'new_request' => 'Weitere Anfrage', + 'date_in_past' => 'Bitte einen Termin ab heute wählen.', + 'whatsapp_intro' => 'Lieber direkt schreiben? Wir bereiten die Nachricht mit Ihren Angaben vor.', + 'whatsapp_text' => 'Hallo B2in Interior, ich hätte gern einen Beratungstermin.', + 'whatsapp_note' => 'Öffnet WhatsApp mit vorbereitetem Text. Abgeschickt wird die Nachricht erst von Ihnen.', + ], + + // Kernmarken + 'all_brands_cta' => 'Alle Marken ansehen', + 'brands' => 'Marken', + 'whatsapp' => 'Per WhatsApp schreiben', + 'all_brands' => 'Alle Marken', + 'brand_services' => 'Leistungen und Besonderheiten', + 'brand_cta_title' => 'Interesse an :name?', + 'brand_cta_text' => 'Vereinbaren Sie einen Termin – wir beraten Sie persönlich und unverbindlich.', + 'request_appointment' => 'Termin anfragen', + 'brand_website' => 'Zur Herstellerseite', + 'other_brands' => 'Unsere weiteren Kernmarken', + 'more_about' => 'Mehr zu :name', + + // Markengalerie – realisierte Projekte vs. Entwuerfe + 'brand_gallery_title' => 'Referenzen und Inspirationen', + 'brand_gallery_intro' => 'Realisierte Projekte aus unseren Aufträgen – und Visualisierungen, die zeigen, was möglich ist.', + 'brand_gallery_tab_projects' => 'Realisierte Projekte', + 'brand_gallery_tab_inspirations' => 'Inspirationen und Entwürfe', + 'brand_gallery_badge_project' => 'Realisiertes Projekt', + 'brand_gallery_badge_inspiration' => 'Visualisierung', + 'brand_gallery_inspiration_note' => 'Diese Darstellungen sind Entwürfe und Visualisierungen – keine ausgeführten Projekte.', + 'previous' => 'Vorheriges Bild', + 'next' => 'Nächstes Bild', + // Footer 'founder_ceo' => 'Gründer & CEO', 'legal_notice' => 'Impressum', + 'privacy_policy' => 'Datenschutz', + 'terms_of_service' => 'AGB', + 'cookie_policy' => 'Cookie-Richtlinie', + 'faq' => 'Häufige Fragen', 'cookie_settings' => 'Cookie-Einstellungen', // Announcement Bar diff --git a/resources/lang/en/b2in.php b/resources/lang/en/b2in.php index 858c0641..4b96dfe9 100644 --- a/resources/lang/en/b2in.php +++ b/resources/lang/en/b2in.php @@ -5,45 +5,83 @@ return [ 'b2in' => [ 'announcement_bar' => [ 'enabled' => true, - 'id' => 'azizi-launch-2026', - 'badge' => 'NEW LAUNCH', - 'text' => 'Azizi Creek Views 4 – Exclusive Off-Market Project in Dubai '.\App\Helpers\PriceHelper::formatAed(1_125_000, 'from'), - 'link_text' => 'View Exposé', - 'link_url' => '/immobilien/azizi-creek-views-4', + 'id' => 'interior-rotpunkt-2026', + 'badge' => 'NEW', + 'text' => 'Rotpunkt Küchen now available at B2in Interior – book your consultation', + 'link_text' => 'Request an appointment', + 'link_url' => '/contact', + ], + 'appointment_widget' => [ + 'button_label' => 'Request an appointment', + 'title' => 'Request an appointment', + 'intro' => 'Tell us briefly what it is about – we will get back to you and arrange a date. Personal, without obligation.', + 'success' => 'Thank you! We will get back to you shortly to arrange the appointment.', + 'whatsapp_text' => 'Hello B2in Interior, I would like to arrange an appointment.', + ], + 'referenzen_hero' => [ + 'title' => 'Our references', + 'text' => 'Here we show projects we have actually carried out – no drafts and no visualisations. The section grows with every project we are allowed to show.', + 'image' => '', + 'image_alt' => 'B2in Interior – completed projects', + ], + 'reference_projects' => [ + 'title' => 'Completed projects', + 'text' => 'Work carried out for our clients, sorted by brand. Drafts and visualisations are deliberately kept separate, on the brand pages.', + 'empty' => 'The first projects are under way and will appear here as soon as we are allowed to show them. Until then, we are happy to look at what is possible for your rooms.', + ], + 'display_feed' => [ + 'title' => 'Live from our showroom', + 'text' => 'Whatever is currently running on the screen in the showroom is shown here live – the same view, the same state.', + 'note' => 'The content changes automatically.', + 'link_text' => 'See the references', + 'link_url' => '/referenzen', + 'iframe_title' => 'Live view of the showroom display', + 'display_id' => '', + ], + 'footer' => [ + 'claim' => 'Premium interiors. Personally delivered.', + 'byline' => 'Marcel Scheibe', + 'links' => [ + ['label' => 'FAQ', 'url' => '/faq'], + ['label' => 'Privacy Policy', 'url' => '/privacy'], + ['label' => 'Terms of Service', 'url' => '/terms'], + ['label' => 'Cookie Policy', 'url' => '/cookie-policy'], + ['label' => 'Legal Notice', 'url' => '/impressum'], + ], ], 'header' => [ 'portal_login' => 'Partner Login', 'navigation' => [ ['label' => 'Home', 'url' => '/'], - ['label' => 'Real Estate', 'url' => '/immobilien'], - ['label' => 'Network', 'url' => '/netzwerk'], + ['label' => 'Brands', 'url' => '/marken'], + ['label' => 'References', 'url' => '/referenzen'], ['label' => 'Magazine', 'url' => '/magazin'], - ['label' => 'FAQ', 'url' => '/faq'], + ['label' => 'Real Estate', 'url' => '/immobilien'], ['label' => 'About B2in', 'url' => '/about'], ], ], 'hero' => [ - 'title' => 'B2in – Where Exclusive Real Estate Investments Meet Smart Interior Design.', - 'subtitle' => 'Your partner for high-yield international real estate and global supply chain management in the interior sector.', + 'title' => 'B2in Interior – Premium furnishing from strong brands. For your home. For your project.', + 'subtitle' => 'From a single bespoke piece to a complete fit-out – with CABINET, Rotpunkt Küchen, Febrü and a network of regional specialists.', 'image' => 'b2in/hero-room.jpg', - 'image_alt' => 'B2in – International Real Estate and Exclusive Interior Concepts', - 'cta1_text' => 'View Real Estate Projects', - 'cta1_link' => '/immobilien', - 'cta2_text' => 'Our Network', - 'cta2_link' => '/netzwerk', + 'image_alt' => 'B2in Interior – Premium furnishing from strong brands', + 'cta1_text' => 'Discover our brands', + 'cta1_link' => '/marken', + 'cta2_text' => 'Request an appointment', + 'cta2_link' => '/contact', 'stats' => [ - 'International Real Estate', - 'Exclusive Furnishing', - 'Personal Consulting', + 'Premium brands', + 'Bespoke solutions', + 'Personal consulting', ], - 'card_title' => 'B2in', - 'card_text' => 'Connecting Design and Property', + 'card_title' => 'B2in Interior', + 'card_text' => 'Interiors that last.', ], 'founder_bar' => [ 'image' => 'b2in/marcel-scheibe.jpg', 'name' => 'Marcel Scheibe', 'title' => 'Founder & CEO, B2in', - 'statement' => 'B2in by Marcel Scheibe – Your personal partner for international real estate and exclusive interior concepts.', + 'statement' => 'B2in by Marcel Scheibe – Your personal partner for high-quality furnishing and strong brands.', ], 'synergie_section' => [ 'title' => 'Two Worlds. One Network.', @@ -81,8 +119,8 @@ return [ 'vision_section' => [ 'title' => 'Built on Expertise and Trust', 'paragraphs' => [ - 'B2in (Bridges2international) connects two worlds: international real estate and exclusive interior concepts. As your personal partner, I guide you through both areas – with expertise, network, and the commitment that every decision is based on trust.', - 'Whether an investment in Dubai, a villa in Lisbon, or the bespoke furnishing of your new home by local specialists – at B2in, everything comes together.', + 'B2in originally stood for Bridges to International. Today it stands just as much for Bridges to Interior: high-quality furnishing with a personal signature. As your contact, I connect selected manufacturers, regional specialists and a dependable network – so that rooms become places that last.', + 'Whether a bespoke fitted wardrobe, a new kitchen or the complete fit-out of a property: at B2in, everything comes together. And anyone thinking beyond the interior will also find access to international real estate here.', 'Locally rooted, internationally connected – that is B2in.', ], 'image' => 'b2in/marcel-scheibe-about.jpg', @@ -132,10 +170,129 @@ return [ 'image_alt' => 'The result for the customer – Property and interior from one source', 'image_caption' => 'Property and interior – from one source', ], + 'audience_switch' => [ + 'title' => 'For your home. For your project.', + 'subtitle' => 'Whether a single piece of furniture or a complete fit-out – we accompany you with the same brands, the same standards and one personal contact.', + 'cards' => [ + [ + 'icon' => 'home', + 'title' => 'Furnishing for your home', + 'description' => 'Single pieces, bespoke built-in solutions or a complete interior: our core brands and our specialist retail network accompany you from the first idea to installation. Visit our showrooms or arrange a personal consultation.', + 'button_text' => 'Request a consultation', + 'button_link' => '/contact', + ], + [ + 'icon' => 'building-office-2', + 'title' => 'Fit-out for your project', + 'description' => 'Complete furnishing for properties, offices and developments – coordinated from a single source, from the kitchen to the last flower. With German contractual reliability and an established manufacturer network.', + 'button_text' => 'Discuss your project', + 'button_link' => '/contact', + ], + ], + ], + 'core_brands' => [ + 'title' => 'Our core brands', + 'subtitle' => 'We do not work with arbitrary catalogues, but with selected manufacturers we stand behind – each brand a specialist in its field.', + 'brands' => [ + [ + 'name' => 'CABINET', + 'tagline' => 'Fitted wardrobes made to measure.', + 'teaser' => 'Bespoke wardrobe solutions, planned to the millimetre – built for rooms where standard will not do. Experience the possibilities in our Bielefeld showroom.', + 'image' => '', + 'logo' => '', + 'link_text' => 'More about CABINET', + ], + [ + 'name' => 'Rotpunkt Küchen', + 'tagline' => 'Kitchens with character.', + 'teaser' => 'Premium kitchens made in Germany – individually planned, sustainably conceived and built for the heart of your home. Consultation and planning in our kitchen studio.', + 'image' => '', + 'logo' => '', + 'link_text' => 'More about Rotpunkt', + ], + [ + 'name' => 'Febrü', + 'tagline' => 'Work where you like to be.', + 'teaser' => 'Furniture for focused work – from a well-considered home office to a complete office fit-out. Ergonomics and design for home and company alike.', + 'image' => '', + 'logo' => '', + 'link_text' => 'More about Febrü', + ], + ], + ], + 'sponsoring' => [ + 'title' => 'Rooted in the region', + 'subtitle' => 'We support clubs and organisations from our region – because being rooted is more than an address.', + 'logos' => [ + [ + 'name' => 'DSC Arminia Bielefeld', + 'image' => 'sponsoring/arminia-bielefeld.png', + 'text' => 'A long-standing club from Bielefeld – the city we call home.', + ], + [ + 'name' => 'TC Bad Waldliesborn-Horn', + 'image' => 'sponsoring/tc-bad-waldliesborn-horn.jpg', + 'text' => 'Tennis club in Bad Waldliesborn. Club sport that brings people together locally.', + ], + [ + 'name' => 'TC Hövelhof', + 'image' => 'sponsoring/tc-hoevelhof.png', + 'text' => 'Tennis club in Hövelhof – grassroots sport in the Paderborn district.', + ], + ], + ], + 'immobilien_teaser' => [ + 'title' => 'Also: international real estate', + 'text' => 'Alongside interiors, we accompany selected international real estate projects – personally curated and with a clear eye for substance.', + 'link_text' => 'To the properties', + 'link_url' => '/immobilien', + ], + 'marken_hero' => [ + 'title' => 'Our brands', + 'text' => 'We do not work with arbitrary catalogues, but with selected manufacturers we stand behind. Each brand is a specialist in its field – and each brings what good interiors are made of: visible quality and advice that listens.', + 'image' => 'b2in/b2a.jpg', + 'image_alt' => 'B2in Interior – our core brands', + ], + 'marken_network' => [ + 'title' => 'More than brands: our network', + 'paragraphs' => [ + 'Good interiors do not end with the furniture. That is why we work with specialist firms and craftspeople from the region – from measuring up and installation to adjacent trades.', + 'For you that means one point of contact who keeps things together, instead of many separate conversations. And partners we know and whose work we stand behind.', + ], + 'points' => [ + [ + 'icon' => 'pencil-square', + 'title' => 'Measuring & planning', + 'description' => 'We come to you, measure up and plan together with you.', + ], + [ + 'icon' => 'wrench-screwdriver', + 'title' => 'Installation by specialists', + 'description' => 'Craftspeople from the region whom we know personally.', + ], + [ + 'icon' => 'user', + 'title' => 'One point of contact', + 'description' => 'Coordinated from a single source, from first idea to handover.', + ], + ], + ], + 'marken_growth' => [ + 'enabled' => true, + 'title' => 'Our brand world is growing', + 'text' => 'We continuously extend our portfolio with manufacturers that match our standards. Missing a particular brand or have a specific wish? Talk to us – our network often turns up exactly the right thing.', + ], + 'marken_cta' => [ + 'title' => 'Get to know our brands', + 'text' => 'Ideally where you can touch them: in our showrooms. Arrange a no-obligation consultation – we take our time.', + 'button_text' => 'Request an appointment', + 'button_link' => '/contact', + 'whatsapp_text' => 'Message us on WhatsApp', + ], 'cta_section' => [ 'title' => 'Your Next Step', - 'subtitle' => 'Whether real estate investment, supply chain partnership, or interior network – speak directly with us.', - 'button_text' => 'Get in Touch', + 'subtitle' => 'Whether a single piece of furniture, a complete interior or a project fit-out – talk to us. Personal, straightforward, reliable.', + 'button_text' => 'Request an appointment', 'button_link' => '/contact', ], 'immobilien_hero' => [ @@ -573,63 +730,71 @@ return [ ], 'faq' => [ 'title' => 'Frequently Asked Questions', - 'subtitle' => 'Here you will find answers to the most common questions about B2in and our ecosystem.', + 'subtitle' => 'Answers to the questions we are asked most often – about advice, bespoke furniture and fitting out projects.', 'questions' => [ [ - 'question' => 'What is B2in and what services do you offer?', - 'answer' => 'B2in is the bridge between international premium real estate and exclusive interior concepts. We offer real estate investors access to off-market projects (focus: Dubai) and guide them through the entire purchase process. At the same time, we provide developers with rigorous supply chain management for sourcing German quality furniture and are building an innovative interior network for local retailers.', + 'question' => 'What is B2in Interior and what do you offer?', + 'answer' => 'B2in Interior stands for high-quality interiors from strong brands – CABINET, Rotpunkt Küchen and Febrü – complemented by a network of regional specialists. We support private customers from a single bespoke piece to a complete interior, and fit out properties, offices and developments in full. In addition, we accompany selected international real estate projects.', ], [ - 'question' => 'What does supply chain management mean at B2in?', - 'answer' => 'For international property developers, we act as an extended arm in Germany. We take over the operational and strategic management of furniture and interior procurement. This means: We secure supply contracts, monitor milestones directly with manufacturers, and escalate immediately to management level in case of deviations. Our goal is absolute contractual reliability and on-time delivery without friction losses.', + 'question' => 'What does fitting out a project involve?', + 'answer' => 'For properties, offices and developments we take on the complete fit-out, coordinated from a single source. We manage the procurement of furniture and interiors both operationally and strategically: we secure supply contracts, monitor milestones directly with the manufacturers and escalate deviations immediately. The goal is contractual reliability and on-time delivery without friction.', ], [ - 'question' => 'How can I become a partner at B2in?', - 'answer' => 'Our network is aimed at property developers, brokers, and regional furniture retailers. If you are a developer seeking German procurement reliability or a retailer wanting to become part of our future "Local for Local" network to receive qualified leads from property buyers, simply use our contact form. We evaluate every partnership individually for quality and fit.', + 'question' => 'How can I become a partner?', + 'answer' => 'Our network covers specialist firms and craftspeople around interiors – from installation to adjacent trades. If you are interested, write to us using the contact form. We review every collaboration individually, because we stand behind the work of our partners.', ], [ - 'question' => 'How does real estate investment through B2in work?', - 'answer' => 'We don\'t just broker, we guide you. Marcel Scheibe is your personal advisor who knows the market (especially Dubai) from his own investor perspective. After a needs analysis, we present you with exclusive projects (e.g., from Azizi Developments). The purchase process itself is maximally secured through Dubai\'s government escrow system. Your special advantage: As a B2in client, you subsequently receive exclusive access to our network to furnish your investment turnkey and optimized for returns.', + 'question' => 'How does a consultation work?', + 'answer' => 'It starts with a conversation – in the showroom, at your home or by phone. We look at the rooms involved, how you use them and what matters to you. Measuring up on site follows, then the planning. You see your solution before anything is made. Appointments can be arranged through the form on this page or by phone.', ], [ - 'question' => 'What makes B2in a trustworthy partner?', - 'answer' => 'Trust comes from transparency and personal market experience. B2in founder Marcel Scheibe invests himself in the markets we offer and is regularly on-site to check construction progress. We combine the immense dynamics of international markets (like Dubai) with German reliability, strict contract management, and a curated network of premium partners like CABINET. With us, you always have a personal contact who represents your interests.', + 'question' => 'What makes B2in Interior a reliable partner?', + 'answer' => 'We work with a manageable number of selected manufacturers instead of arbitrary catalogues – and we stand behind their work. Behind B2in Interior there is a face and a fixed point of contact in Marcel Scheibe, from the first conversation to after installation. For the trades around the interior we work with specialist firms from the region that we know.', ], ], 'sections' => [ [ - 'title' => 'Focus: Real Estate Investors (B2C)', + 'title' => 'For your home', 'icon' => 'home-modern', 'questions' => [ [ - 'question' => 'Do I need to travel to Dubai personally for the property purchase?', - 'answer' => 'No, the entire purchase process can be completed fully digitally and legally binding from abroad. The Dubai Land Department offers highly secure processes for this. While we do recommend our investors to visit and experience the city\'s dynamics firsthand, your physical presence is not strictly required for the legally secure acquisition.', + 'question' => 'Do I have to furnish the whole flat at once?', + 'answer' => 'No. Many projects start with a single piece – a fitted wardrobe under a sloping ceiling, a new kitchen, a workspace. Whether more follows is up to you. We plan in a way that lets a later addition fit in rather than look bolted on.', ], [ - 'question' => 'What happens after the property purchase? Do you help with furnishing?', - 'answer' => 'This is exactly where the great advantage of the B2in ecosystem lies. Our service doesn\'t end with the purchase contract. As a B2in client, you receive exclusive access to our interior network. We support you in furnishing your property turnkey and optimized for returns with quality furniture – the perfect foundation for lucrative short-term rentals.', + 'question' => 'What does bespoke cost compared to off-the-shelf furniture?', + 'answer' => 'That depends on the room, the materials and the fittings – a serious figure is only possible after measuring up. What can be said: bespoke uses the space standard furniture leaves behind – slopes, niches, unusual heights. You pay for the space you would otherwise give away. You receive the quote before anything is made, binding and itemised.', ], [ - 'question' => 'What tax advantages does an investment in Dubai offer?', - 'answer' => 'Dubai offers a globally unique economic environment. There is neither income tax on rental income nor capital gains tax on the sale of the property. Combined with the strong rental yields, this makes the location strategically valuable for international investors.', + 'question' => 'Do you handle installation as well?', + 'answer' => 'Yes. Delivery and installation run through us or through specialist firms from our network that we work with regularly. You have one point of contact who coordinates the appointments – including when several trades are involved.', + ], + [ + 'question' => 'Can I see the brands beforehand?', + 'answer' => 'Yes, in the showroom in Bielefeld you can take your time with surfaces, fronts and fittings. Photos and samples help with a pre-selection, but they do not replace the direct impression. It is best to arrange an appointment so we can take the time.', ], ], ], [ - 'title' => 'Focus: B2B Partners (Brokers & Retailers)', + 'title' => 'For projects and properties', 'icon' => 'briefcase', 'questions' => [ [ - 'question' => 'How do real estate brokers benefit from a partnership with B2in?', - 'answer' => 'B2in offers brokers an exclusive tool for client retention: You can present your property buyers with access to our closed interior network as an exclusive "closing gift." At the same time, as a broker, you benefit from our technical clearing system with a passive lifetime compensation on your clients\' furniture purchases.', + 'question' => 'From what size is a project fit-out worthwhile?', + 'answer' => 'There is no fixed lower limit. Working together makes sense as soon as several units or several trades are involved and coordination becomes the actual effort – for office space, furnished residential units or fitting out an entire property.', ], [ - 'question' => 'What exactly is the "Local for Local" marketplace?', - 'answer' => 'Our "Local for Local" principle is the counter-concept to anonymous online furniture giants. We make the immediately available stock and showroom pieces of regional specialist retailers (the "Local Express" pillar) transparent to a closed customer base. This strengthens local trade on-site while offering buyers insider rates for premium furnishing.', + 'question' => 'How do you ensure delivery dates are met?', + 'answer' => 'We work with binding supply contracts, track milestones directly with the manufacturer and report deviations as soon as they become visible – not just on the delivery date. Where several trades are involved, we handle the coordination between them so the sequence on site works.', ], [ - 'question' => 'Is the interior network publicly accessible to everyone?', - 'answer' => 'No. To protect the exclusive insider rates and discounts from our manufacturers and local retailers, the B2in furniture marketplace operates as a "closed shop." Access is exclusively through invitations – for example, through our partner brokers upon property acquisition.', + 'question' => 'Do you work with architects and planning offices?', + 'answer' => 'Yes. We take on existing plans and implement them, or come in earlier when furniture and floor plan still need to be matched up. For special solutions we talk directly to the manufacturers.', + ], + [ + 'question' => 'How do I join the regional network?', + 'answer' => 'Our network covers specialist firms and craftspeople around interiors – from installation to adjacent trades. If you are interested, write to us using the contact form. We review every collaboration individually, because we stand behind the work of our partners.', ], ], ], @@ -652,10 +817,13 @@ return [ ], 'subjects' => [ '' => 'Select a subject', + 'beratung' => 'Consultation appointment', + 'massanfertigung' => 'Bespoke furniture for my home', + 'kueche' => 'Kitchen planning', + 'supply_chain' => 'Fitting out a project', + 'partnership' => 'Working together in the network', 'immobilien' => 'International Real Estate', - 'supply_chain' => 'Supply Chain Management', 'general' => 'General Inquiry', - 'partnership' => 'Partnership', 'press' => 'Press', 'career' => 'Career', ], @@ -704,14 +872,14 @@ return [ ], 'about_hero' => [ 'title' => 'About B2in: Our Mission', - 'quote' => '"My mission is to connect two worlds that belong together: international real estate and exclusive interior design. B2in gives the local specialist the digital tools and the property developer the operational partner on the ground.

We build bridges – between European design, international markets, and people\'s homes."', + 'quote' => '"Good interiors are not created in a catalogue, but in conversation. That is why we work with a few selected manufacturers we know – and with specialist firms from the region whose work we stand behind.

My standard is simple: one point of contact, from the first measurement to after installation."', 'founder_name' => 'Marcel Scheibe', 'founder_title' => 'Founder & CEO, B2in', 'image' => 'b2in/about-hero.jpg', 'image_alt' => 'Marcel Scheibe, Founder and CEO of B2in', 'card_title' => 'B2in', - 'card_text' => 'Connecting Design and Property', + 'card_text' => 'Premium interiors. Made personal.', ], 'broker_section' => [ @@ -997,26 +1165,26 @@ return [ 'timeline' => [ [ 'title' => 'The Idea', - 'description' => 'In 2024, we identified a crucial gap: Local retailers need digital visibility, and property buyers are looking for seamless furnishing solutions. These two worlds belong together.', + 'description' => 'In 2024 the starting point was a simple observation: anyone wanting a high-quality interior finds plenty of catalogues online – but rarely someone who listens, measures up and stands behind the result.', 'icon' => 'light-bulb', ], [ 'title' => 'The Foundation', - 'description' => 'We are developing the B2in platform: an ecosystem that connects local interior specialists, European manufacturers, and real estate professionals on a shared platform – fair, transparent, and technology-driven.', + 'description' => 'We are building the network: selected manufacturers, specialist firms and craftspeople from the region – connected by the same conviction that quality and keeping your word belong together.', 'icon' => 'rocket-launch', ], [ 'title' => 'The Expansion', - 'description' => '2025/2026 sees B2in expanding its ecosystem: International real estate and supply chain management for developers become the dominant pillar. The local furniture marketplace remains as a strong complementary area.', + 'description' => 'In 2026 interiors move to the centre: CABINET, Rotpunkt Küchen and Febrü form the core, complemented by a network of regional specialists. International real estate remains as a complementary area.', 'icon' => 'globe-alt', ], [ 'title' => 'The Vision', - 'description' => 'B2in becomes the central network for "Design & Property" – locally rooted, internationally connected. In every region, the reliable partner for real estate investments and exclusive interior concepts.', + 'description' => 'B2in Interior becomes the first address in the region for high-quality interiors – from a single fitted wardrobe to a complete fit-out. Locally rooted, internationally connected.', 'icon' => 'star', ], ], - 'summary' => 'What began as a vision to strengthen local trade is today a network that seamlessly connects real estate and interior. B2in bridges the gap between international investments and local expertise – with Marcel Scheibe as the face and point of contact.', + 'summary' => 'What began as an idea – to make high-quality interiors personal again – is today a network of strong brands and regional specialists, with Marcel Scheibe as the face and fixed point of contact.', ], 'about_image_break' => [ 'image' => 'b2in/best-of-two-worlds.jpg', @@ -1026,37 +1194,37 @@ return [ ], 'our_values' => [ 'title' => 'Our Values', - 'subtitle' => 'These six pillars guide our daily actions and define who we are as a company and what we stand for.', + 'subtitle' => 'Six principles we want to be measured by – in the consultation, in the planning and after installation.', 'values' => [ [ - 'title' => 'Innovation', - 'description' => 'We develop digital solutions that give real estate professionals and local interior specialists a genuine competitive advantage.', - 'icon' => 'light-bulb', + 'title' => 'Advice, not sales', + 'description' => 'We first ask how you use your rooms and only then suggest something. Sometimes the right answer is a smaller piece than expected.', + 'icon' => 'chat-bubble-left-right', ], [ - 'title' => 'Connectivity', - 'description' => 'We connect international real estate markets with local expertise and European manufacturers with the people who value their products.', - 'icon' => 'globe-alt', + 'title' => 'Bespoke work', + 'description' => 'Slopes, niches and unusual heights are not a problem but the reason for bespoke furniture. We plan the space that standard furniture leaves behind.', + 'icon' => 'cube-transparent', ], [ - 'title' => 'Quality', - 'description' => 'Uncompromising standards – in the selection of our partners, the curation of interiors, the monitoring of supply chains, and the technology that holds it all together.', + 'title' => 'Selected brands', + 'description' => 'A few manufacturers we know, rather than an arbitrary range. We stand behind the brands we carry.', 'icon' => 'check-badge', ], [ - 'title' => 'Trust', - 'description' => 'Transparent models and reliable partnerships are our foundation. Behind B2in stands a face – and the promise that we deliver what we commit to.', + 'title' => 'Regionally rooted', + 'description' => 'We work with specialist firms and craftspeople from the region – people we know and who are on site when it matters.', + 'icon' => 'map-pin', + ], + [ + 'title' => 'One point of contact', + 'description' => 'From the first conversation through measuring up to after installation, the contact stays the same – including when several trades are involved.', 'icon' => 'user-group', ], [ - 'title' => 'Sustainability', - 'description' => 'We strengthen local trade, optimize transport routes, and ensure that international procurement runs responsibly and efficiently.', - 'icon' => 'arrow-path', - ], - [ - 'title' => 'Design Excellence', - 'description' => 'Design is the core of our value creation – from international architecture to curated interiors to the intuitive design of our digital platform.', - 'icon' => 'cube-transparent', + 'title' => 'Reliability', + 'description' => 'We keep our commitments on dates and prices. If something shifts, we say so as soon as we know – not on the delivery date.', + 'icon' => 'shield-check', ], ], ], @@ -1474,6 +1642,70 @@ return [ ], ], 'articles' => [ + 6 => [ + 'id' => 6, + 'slug' => 'massanfertigung-warum-der-millimeter-zaehlt', + 'title' => 'Bespoke, not off the shelf:
Why the millimetre decides what a room can do', + 'subtitle' => 'Sloping ceilings, niches, unusual heights: where standard furniture gives up, bespoke work begins – turning dead space into usable area.', + 'image' => 'b2in/stileigentum.jpg', + 'category' => 'Interiors', + 'date' => 'August 26, 2026', + 'readTime' => '5 min read', + 'author' => [ + 'name' => 'Marcel Scheibe', + 'bio' => 'Founder & CEO of B2in Interior. With roots in the furniture trade, he accompanies customers from planning to after installation.', + 'avatar' => 'b2in/marcel-scheibe.jpg', + ], + 'content' => [ + 'intro' => 'Almost every home has one: the corner where nothing quite fits. The slope under the roof, the niche beside the chimney, the hallway too narrow for a wardrobe and too wide for nothing. Put a standard piece there and you lose twice – a gap at the front, wasted air at the back. Bespoke work starts exactly there, and the difference is not made by the furniture but long before: when measuring up.', + 'sections' => [ + [ + 'title' => 'Measuring up is not a formality', + 'content' => 'Walls are rarely straight, floors rarely level, and in older buildings the height can vary by several centimetres across a single room. Measuring on site records these deviations instead of ignoring them. Only then can you plan something that fits to the millimetre – without panels to hide things and without joints where dust collects.', + ], + [ + 'title' => 'The space you would otherwise give away', + 'content' => 'With a sloping ceiling the gain is not in the look but in the area. A wardrobe that follows the slope uses the part a straight carcass cuts off – depending on the angle, a substantial share of the storage. The same applies to niches: a fitted unit gains depth a free-standing piece can never reach, because it needs clearance from the wall.', + ], + [ + 'title' => 'Where bespoke is not worth it', + 'content' => 'Being honest means naming the other side too: with straight walls, usual ceiling heights and standard dimensions, a good series product is often the more sensible choice – available faster and cheaper. So the question is not "bespoke or not" but: where in this room is there actually something to gain? That answer belongs at the start of the consultation, not at the end.', + ], + ], + ], + ], + 7 => [ + 'id' => 7, + 'slug' => 'kueche-planen-vom-wunsch-zum-grundriss', + 'title' => 'Planning a kitchen:
How wishes turn into a floor plan', + 'subtitle' => 'Before anyone talks about fronts and colours, a kitchen is decided by three questions – and at first they have little to do with design.', + 'image' => 'b2in/style2own.jpg', + 'category' => 'Kitchen', + 'date' => 'August 20, 2026', + 'readTime' => '6 min read', + 'author' => [ + 'name' => 'Marcel Scheibe', + 'bio' => 'Founder & CEO of B2in Interior. With roots in the furniture trade, he accompanies customers from planning to after installation.', + 'avatar' => 'b2in/marcel-scheibe.jpg', + ], + 'content' => [ + 'intro' => 'Most kitchen conversations start with the front: matt or gloss, light or dark, handle or handleless. Understandable, because that is what you see. Only nothing is decided at that point. Whether a kitchen works day to day depends on questions that can be settled before the first colour sample – and that are hard to correct later.', + 'sections' => [ + [ + 'title' => 'Question one: how do you actually cook?', + 'content' => 'Not how you would like to cook – how you really do. Anyone cooking fresh every day needs worktop beside the hob and short distances between fridge, sink and cooking zone. Anyone using the kitchen mainly as a meeting point plans differently: more room to stand, a surface where someone can sit while food is being made. Both are good kitchens, but they are not the same kitchen.', + ], + [ + 'title' => 'Question two: what does the room dictate?', + 'content' => 'Windows, doors, connections and load-bearing walls set the frame before anyone plans anything. Some of it can be moved, some cannot – and what that costs should be on the table before the planning builds on it. Ceiling height belongs here too: it decides whether wall units can run all the way up or whether a dust ledge is left above them.', + ], + [ + 'title' => 'Question three: what should still work in ten years?', + 'content' => 'A kitchen stays for a long time. In many systems fronts can be replaced later; carcass dimensions and the layout practically cannot. So it pays to focus on durability for drawers, fittings and the worktop, and to keep the appetite for fashion to the parts that can be swapped. The colour comes after that – and then it may well be bold.', + ], + ], + ], + ], 1 => [ 'id' => 1, 'title' => 'Security Over Bureaucracy:
Why Dubai\'s Escrow System Surprises German Investors', diff --git a/resources/lang/en/ui.php b/resources/lang/en/ui.php index 772c48d3..2cd0f49c 100644 --- a/resources/lang/en/ui.php +++ b/resources/lang/en/ui.php @@ -16,9 +16,60 @@ return [ 'menu_close' => 'Close menu', 'menu_open' => 'Open menu', + 'display_feed_title' => 'Live view of the showroom display', + 'references_empty' => 'The first projects will appear here as soon as we are allowed to show them.', + + // Appointment widget + 'appointment' => [ + 'name' => 'Name', + 'email' => 'Email', + 'phone' => 'Phone', + 'topic' => 'Subject', + 'topic_placeholder' => 'Please choose', + 'preferred_date' => 'Preferred date', + 'message' => 'Message', + 'message_placeholder' => 'What is it about? Two sentences are enough.', + 'submit' => 'Send request', + 'sending' => 'Sending …', + 'success' => 'Thank you! We will get back to you shortly to arrange the appointment.', + 'new_request' => 'Another request', + 'date_in_past' => 'Please choose a date from today onwards.', + 'whatsapp_intro' => 'Prefer to write directly? We prepare the message with your details.', + 'whatsapp_text' => 'Hello B2in Interior, I would like to arrange an appointment.', + 'whatsapp_note' => 'Opens WhatsApp with a prepared text. You send the message yourself.', + ], + + // Kernmarken + 'all_brands_cta' => 'View all brands', + 'brands' => 'Brands', + 'whatsapp' => 'Message us on WhatsApp', + 'all_brands' => 'All brands', + 'brand_services' => 'Services and specialities', + 'brand_cta_title' => 'Interested in :name?', + 'brand_cta_text' => 'Arrange an appointment – we advise you personally and without obligation.', + 'request_appointment' => 'Request an appointment', + 'brand_website' => 'Visit the manufacturer', + 'other_brands' => 'Our other core brands', + 'more_about' => 'More about :name', + + // Brand gallery – realised projects vs. drafts + 'brand_gallery_title' => 'References and inspiration', + 'brand_gallery_intro' => 'Completed projects from our work – and visualisations showing what is possible.', + 'brand_gallery_tab_projects' => 'Completed projects', + 'brand_gallery_tab_inspirations' => 'Inspiration and drafts', + 'brand_gallery_badge_project' => 'Completed project', + 'brand_gallery_badge_inspiration' => 'Visualisation', + 'brand_gallery_inspiration_note' => 'These images are drafts and visualisations – not completed projects.', + 'previous' => 'Previous image', + 'next' => 'Next image', + // Footer 'founder_ceo' => 'Founder & CEO', 'legal_notice' => 'Legal Notice', + 'privacy_policy' => 'Privacy Policy', + 'terms_of_service' => 'Terms of Service', + 'cookie_policy' => 'Cookie Policy', + 'faq' => 'FAQ', 'cookie_settings' => 'Cookie Settings', // Announcement Bar diff --git a/resources/views/livewire/admin/cms/brands-index.blade.php b/resources/views/livewire/admin/cms/brands-index.blade.php new file mode 100644 index 00000000..e0ca34a4 --- /dev/null +++ b/resources/views/livewire/admin/cms/brands-index.blade.php @@ -0,0 +1,504 @@ + '', + 'showForm' => false, + 'editingId' => null, + 'editLocale' => 'de', + 'slug' => '', + 'brandName' => '', + 'tagline' => '', + 'teaser' => '', + 'summary' => '', + 'highlights' => [], + 'description' => '', + 'logo' => '', + 'image' => '', + 'services' => [], + 'gallery' => [], + 'website_url' => '', + 'showroom' => '', + 'is_published' => true, + 'order' => 0, +]); + +on(['media-selected' => function ($mediaId, $url, $field) { + $media = $mediaId ? CmsMedia::find($mediaId) : null; + + if (! $media) { + return; + } + + if ($field === 'brand_logo') { + $this->logo = $media->filename; + } + + if ($field === 'brand_image') { + $this->image = $media->filename; + } + + if (str_starts_with($field, 'brand_gallery:')) { + $index = (int) substr($field, strlen('brand_gallery:')); + + if (isset($this->gallery[$index])) { + $this->gallery[$index]['image'] = $media->filename; + } + } +}]); + +$brands = computed( + fn () => CmsBrand::query() + ->when($this->search, fn ($q, $s) => $q->where('slug', 'like', "%{$s}%") + ->orWhereRaw("JSON_UNQUOTE(JSON_EXTRACT(name, '$.de')) LIKE ?", ["%{$s}%"])) + ->ordered() + ->get(), +); + +$openCreate = function () { + $this->editingId = null; + $this->reset(['slug', 'brandName', 'tagline', 'teaser', 'summary', 'description', 'logo', 'image', 'website_url', 'showroom']); + $this->highlights = ['', '', '']; + $this->services = [['title' => '', 'description' => '']]; + $this->gallery = []; + $this->is_published = true; + $this->order = (CmsBrand::max('order') ?? 0) + 1; + $this->showForm = true; +}; + +$loadLocaleFields = function (CmsBrand $brand, string $locale) { + $this->brandName = $brand->getTranslation('name', $locale) ?? ''; + $this->tagline = $brand->getTranslation('tagline', $locale) ?? ''; + $this->teaser = $brand->getTranslation('teaser', $locale) ?? ''; + $this->summary = $brand->getTranslation('summary', $locale) ?? ''; + $this->description = CmsFluxEditorHtmlTransformer::toEditor((string) ($brand->getTranslation('description', $locale) ?? '')); +}; + +$openEdit = function (int $id) { + $brand = CmsBrand::find($id); + + if (! $brand) { + return; + } + + $this->editingId = $id; + $this->slug = $brand->slug; + $this->logo = $brand->logo ?? ''; + $this->image = $brand->image ?? ''; + $this->website_url = $brand->website_url ?? ''; + $this->showroom = $brand->showroom ?? ''; + $this->is_published = $brand->is_published; + $this->order = $brand->order ?? 0; + $this->highlights = $brand->highlights ?: ['', '', '']; + $this->services = $brand->services ?: [['title' => '', 'description' => '']]; + $this->gallery = CmsBrand::normalizeGallery($brand->gallery); + + $this->loadLocaleFields($brand, $this->editLocale); + $this->showForm = true; +}; + +$switchLocale = function (string $locale) { + $this->editLocale = $locale; + + if ($this->editingId) { + $brand = CmsBrand::find($this->editingId); + + if ($brand) { + $this->loadLocaleFields($brand, $locale); + } + } +}; + +$addHighlight = fn () => $this->highlights[] = ''; + +$removeHighlight = function (int $index) { + unset($this->highlights[$index]); + $this->highlights = array_values($this->highlights); +}; + +$addService = fn () => $this->services[] = ['title' => '', 'description' => '']; + +$removeService = function (int $index) { + unset($this->services[$index]); + $this->services = array_values($this->services); +}; + +$addGalleryImage = function (string $category = CmsBrand::GALLERY_PROJECT) { + $this->gallery[] = [ + 'image' => '', + 'category' => in_array($category, CmsBrand::GALLERY_CATEGORIES, true) ? $category : CmsBrand::GALLERY_INSPIRATION, + 'caption' => '', + ]; +}; + +$removeGalleryImage = function (int $index) { + unset($this->gallery[$index]); + $this->gallery = array_values($this->gallery); +}; + +$save = function () { + $validated = validator([ + 'slug' => $this->slug, + 'brandName' => $this->brandName, + 'tagline' => $this->tagline, + 'teaser' => $this->teaser, + 'summary' => $this->summary, + 'website_url' => $this->website_url, + 'showroom' => $this->showroom, + 'is_published' => $this->is_published, + 'order' => $this->order, + ], [ + 'slug' => 'required|string|max:255|regex:/^[a-z0-9-]+$/', + 'brandName' => 'required|string|max:255', + 'tagline' => 'nullable|string|max:255', + 'teaser' => 'nullable|string|max:2000', + 'summary' => 'nullable|string|max:4000', + 'website_url' => 'nullable|url|max:500', + 'showroom' => 'nullable|string|max:255', + 'is_published' => 'boolean', + 'order' => 'integer|min:0', + ], [ + 'slug.regex' => 'Der Slug darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.', + 'website_url.url' => 'Bitte eine vollständige URL angeben (mit https://).', + ])->validate(); + + $duplicate = CmsBrand::query() + ->where('slug', $validated['slug']) + ->when($this->editingId, fn ($q) => $q->whereKeyNot($this->editingId)) + ->exists(); + + if ($duplicate) { + Flux::toast(variant: 'danger', heading: 'Slug vergeben', text: 'Es gibt bereits eine Marke mit diesem Slug.'); + + return; + } + + $brand = $this->editingId + ? CmsBrand::findOrFail($this->editingId) + : CmsBrand::query()->make(); + + $brand->slug = $validated['slug']; + $brand->setTranslation('name', $this->editLocale, $validated['brandName']); + $brand->setTranslation('tagline', $this->editLocale, $validated['tagline'] ?? ''); + $brand->setTranslation('teaser', $this->editLocale, $validated['teaser'] ?? ''); + $brand->setTranslation('summary', $this->editLocale, $validated['summary'] ?? ''); + $brand->setTranslation('description', $this->editLocale, CmsFluxEditorHtmlTransformer::fromEditor((string) $this->description)); + + $brand->logo = $this->logo ?: null; + $brand->image = $this->image ?: null; + $brand->website_url = $validated['website_url'] ?: null; + $brand->showroom = $validated['showroom'] ?: null; + + $brand->highlights = collect($this->highlights) + ->map(fn ($h) => trim((string) $h)) + ->filter() + ->values() + ->toArray(); + + $brand->services = collect($this->services) + ->filter(fn ($s) => ! empty($s['title']) || ! empty($s['description'])) + ->values() + ->toArray(); + + $brand->gallery = CmsBrand::normalizeGallery($this->gallery); + + $brand->is_published = $validated['is_published']; + $brand->order = $validated['order']; + $brand->save(); + + $this->showForm = false; + $this->editingId = null; + + Flux::toast(variant: 'success', heading: 'Gespeichert', text: 'Marke wurde erfolgreich gespeichert.'); +}; + +$togglePublished = function (int $id) { + $brand = CmsBrand::findOrFail($id); + $brand->update(['is_published' => ! $brand->is_published]); + + Flux::toast(heading: 'Status geändert', text: $brand->is_published ? 'Veröffentlicht' : 'Entwurf'); +}; + +$deleteBrand = function (int $id) { + CmsBrand::findOrFail($id)->delete(); + + Flux::toast(variant: 'success', heading: 'Gelöscht', text: 'Marke wurde entfernt.'); +}; + +$cancelForm = function () { + $this->showForm = false; + $this->editingId = null; +}; + +?> + +

+
+ Kernmarken +
+ @foreach (config('flux-cms.locales', ['de' => 'DE', 'en' => 'EN']) as $code => $label) + {{ strtoupper($code) }} + @endforeach + Neue Marke +
+
+ + +
+ +
+ Die Marken erscheinen als Kacheln auf der Startseite unter „Unsere Kernmarken" und + bekommen jeweils eine eigene Detailseite unter /marken/<slug>. + Die Reihenfolge steuert das Feld „Sortierung". +
+
+
+ +
+ +
+ + @if ($showForm) + +
+ {{ $editingId ? 'Marke bearbeiten' : 'Neue Marke' }} +
+ @foreach (config('flux-cms.locales', ['de' => 'DE', 'en' => 'EN']) as $code => $label) + {{ strtoupper($code) }} + @endforeach +
+
+ +
+ + @error('slug') {{ $message }} @enderror + + + @error('brandName') {{ $message }} @enderror + +
+ +
+ + + + @error('website_url') {{ $message }} @enderror + + +
+ +
+ + + +
+ + {{-- Drei Merkmale für die Übersichtsseite --}} +
+
+ Merkmale auf /marken + Merkmal hinzufügen +
+
+ @foreach ($highlights as $i => $highlight) +
+ + +
+ @endforeach +
+
+ + {{-- Bilder --}} +
+
+ +
+ @if ($logo) +
+ +
+ @endif +
+ +

{{ $logo ?: 'Kein Logo' }}

+
+
+
+ +
+ +
+ @if ($image) +
+ +
+ @endif +
+ +

{{ $image ?: 'Kein Bild' }}

+
+
+
+
+ + {{-- Einleitung --}} +
+ Einleitung ({{ strtoupper($editLocale) }}) + +
+ + {{-- Leistungen --}} +
+
+ Leistungen und Besonderheiten + Punkt hinzufügen +
+
+ @foreach ($services as $i => $service) +
+
+ Punkt {{ $i + 1 }} + @if (count($services) > 1) + + @endif +
+ + +
+ @endforeach +
+
+ + {{-- Galerie --}} +
+
+ Bildergalerie +
+ Projekt + Inspiration +
+
+ +
+ Projekt = tatsächlich ausgeführter Auftrag. + Inspiration = Entwurf, Rendering oder KI-Darstellung. + Auf der Seite werden beide getrennt gezeigt und beschriftet – bitte nichts vermischen. +
+ + @if (empty($gallery)) +

Noch keine Bilder.

+ @else +
+ @foreach ($gallery as $i => $item) +
+ @if (!empty($item['image'])) +
+ +
+ @endif + + + Realisiertes Projekt + Inspiration / Entwurf + + + + +
+ + +
+ + +
+ @endforeach +
+ @endif +
+ +
+ +
+ +
+ Speichern + Abbrechen +
+
+ @endif + + +
+ @forelse ($this->brands as $brand) +
+
+ @if ($brand->image) +
+ +
+ @else +
+ +
+ @endif +
+
+ + {{ $brand->getTranslation('name', $editLocale) }} + + @unless ($brand->is_published) + Entwurf + @endunless +
+

+ {{ $brand->getTranslation('tagline', $editLocale) ?: '–' }} · /marken/{{ $brand->slug }} +

+
+
+
+ + + + +
+
+ @empty +
+ + Keine Marken + Lege die erste Kernmarke mit dem Button oben an. +
+ @endforelse +
+
+
diff --git a/resources/views/livewire/admin/cms/cabinet-info-tablet.blade.php b/resources/views/livewire/admin/cms/cabinet-info-tablet.blade.php index d7d3927a..41e89afa 100644 --- a/resources/views/livewire/admin/cms/cabinet-info-tablet.blade.php +++ b/resources/views/livewire/admin/cms/cabinet-info-tablet.blade.php @@ -40,10 +40,13 @@ @endif -
@foreach ([['label' => 'Montag', 'open' => 'hoursMondayOpen', 'close' => 'hoursMondayClose'], ['label' => 'Dienstag', 'open' => 'hoursTuesdayOpen', 'close' => 'hoursTuesdayClose'], ['label' => 'Mittwoch', 'open' => 'hoursWednesdayOpen', 'close' => 'hoursWednesdayClose'], ['label' => 'Donnerstag', 'open' => 'hoursThursdayOpen', 'close' => 'hoursThursdayClose'], ['label' => 'Freitag', 'open' => 'hoursFridayOpen', 'close' => 'hoursFridayClose'], ['label' => 'Samstag', 'open' => 'hoursSaturdayOpen', 'close' => 'hoursSaturdayClose'], ['label' => 'Sonntag', 'open' => 'hoursSundayOpen', 'close' => 'hoursSundayClose']] as $row) - @php - $isClosedDay = empty($this->{$row['open']}) && empty($this->{$row['close']}); - @endphp -
+ {{-- Geoeffnet/Geschlossen wird clientseitig gerechnet, damit die Anzeige + sofort auf das Leeren per X reagiert. wire:model.live wuerde bei jeder + Aenderung einen Roundtrip ausloesen, der geleerte Felder wieder mit dem + alten Serverwert ueberschreibt. --}} +
{{ $row['label'] }} -
- +
-
- +
- - {{ $isClosedDay ? 'Geschlossen' : 'Geöffnet' }} +
@endforeach diff --git a/resources/views/livewire/admin/cms/content-index.blade.php b/resources/views/livewire/admin/cms/content-index.blade.php index 25bc797e..3c549ca2 100644 --- a/resources/views/livewire/admin/cms/content-index.blade.php +++ b/resources/views/livewire/admin/cms/content-index.blade.php @@ -35,19 +35,23 @@ if (! function_exists('_cmsParseJsonItems')) { if (! function_exists('_cmsFieldLooksLikeImage')) { function _cmsFieldLooksLikeImage(string $fieldKey, mixed $fieldValue): bool { - if (! is_string($fieldValue) || trim($fieldValue) === '') { + if (! is_string($fieldValue)) { return false; } $key = strtolower($fieldKey); - if (in_array($key, ['image', 'photo', 'avatar', 'picture', 'thumbnail', 'img', 'hero_image', 'background_image', 'cover_image'], true)) { + if (in_array($key, ['image', 'photo', 'avatar', 'picture', 'thumbnail', 'img', 'logo', 'hero_image', 'background_image', 'cover_image'], true)) { return true; } - if (preg_match('/_(image|photo|avatar|picture|thumb)$/i', $fieldKey)) { + if (preg_match('/_(image|photo|avatar|picture|thumb|logo)$/i', $fieldKey)) { return true; } + if (trim($fieldValue) === '') { + return false; + } + return (bool) preg_match('/\.(jpe?g|png|gif|webp|svg)$/i', $fieldValue); } } diff --git a/resources/views/livewire/admin/cms/dashboard.blade.php b/resources/views/livewire/admin/cms/dashboard.blade.php index 42f08d31..8a45d2a0 100644 --- a/resources/views/livewire/admin/cms/dashboard.blade.php +++ b/resources/views/livewire/admin/cms/dashboard.blade.php @@ -1,6 +1,7 @@ [ 'projects_published' => CmsProject::published()->count(), 'articles' => CmsArticle::count(), 'articles_published' => CmsArticle::published()->count(), + 'brands' => CmsBrand::count(), + 'brands_published' => CmsBrand::published()->count(), 'media' => CmsMedia::count(), ]); @@ -64,6 +67,18 @@ $stats = computed(fn () => [
+ + +
+ +
+ {{ $this->stats['brands'] }} + Kernmarken ({{ $this->stats['brands_published'] }} veröffentlicht) +
+
+
+
+
diff --git a/resources/views/livewire/web/components/sections/brand-detail.blade.php b/resources/views/livewire/web/components/sections/brand-detail.blade.php new file mode 100644 index 00000000..71cdebc6 --- /dev/null +++ b/resources/views/livewire/web/components/sections/brand-detail.blade.php @@ -0,0 +1,256 @@ +{{-- Detailseiten-Vorlage laut umsetzung-inhalte.md §5: + Header (Logo + Claim + Stimmungsbild) → Einleitung → Leistungen → Galerie → CTA --}} +
+ {{-- 1. Header --}} +
+
+ + {{ __('ui.all_brands') }} + + +
+
+ @if (!empty($brand['logo'])) + {{ $brand['name'] }} + @endif + +

{{ $brand['name'] }}

+

{{ $brand['tagline'] }}

+ + @if (!empty($brand['showroom'])) +

+ + {{ $brand['showroom'] }} +

+ @endif +
+ +
+ @if (!empty($brand['image'])) + {{ $brand['name'] }} + @else +
+ {{ $brand['name'] }} +
+ @endif +
+
+
+
+ + {{-- 2. Einleitung --}} + @if (!empty($brand['description'])) +
+
+
+ {!! $brand['description'] !!} +
+
+
+ @endif + + {{-- 3. Leistungen --}} + @if (!empty($brand['services'])) +
+
+

{{ __('ui.brand_services') }}

+ +
+ @foreach ($brand['services'] as $index => $service) +
+

{{ $service['title'] ?? '' }}

+

{{ $service['description'] ?? '' }}

+
+ @endforeach +
+
+
+ @endif + + {{-- 4. Galerie: realisierte Projekte und Inspirationen strikt getrennt --}} + @php + $galleryProjects = $gallery['projects'] ?? []; + $galleryInspirations = $gallery['inspirations'] ?? []; + $hasBothGalleryGroups = $galleryProjects !== [] && $galleryInspirations !== []; + $initialGalleryTab = $galleryProjects !== [] ? 'projects' : 'inspirations'; + + $galleryLightbox = collect(['projects' => $galleryProjects, 'inspirations' => $galleryInspirations]) + ->map(fn (array $items) => collect($items)->map(fn (array $item) => [ + 'src' => theme_image_url($item['image']), + 'caption' => $item['caption'] ?? '', + 'badge' => $item['category'] === \App\Models\CmsBrand::GALLERY_PROJECT + ? __('ui.brand_gallery_badge_project') + : __('ui.brand_gallery_badge_inspiration'), + ])->values()->all()) + ->all(); + @endphp + + @if ($galleryProjects || $galleryInspirations) +
+
+
+

{{ __('ui.brand_gallery_title') }}

+

{{ __('ui.brand_gallery_intro') }}

+
+ + @if ($hasBothGalleryGroups) +
+
+ @foreach (['projects' => __('ui.brand_gallery_tab_projects'), 'inspirations' => __('ui.brand_gallery_tab_inspirations')] as $tabKey => $tabLabel) + + @endforeach +
+
+ @endif + + @foreach (['projects' => $galleryProjects, 'inspirations' => $galleryInspirations] as $groupKey => $groupItems) + @if ($groupItems) +
+ @unless ($hasBothGalleryGroups) +

+ {{ $groupKey === 'projects' ? __('ui.brand_gallery_tab_projects') : __('ui.brand_gallery_tab_inspirations') }} +

+ @endunless + + @if ($groupKey === 'inspirations') +

+ {{ __('ui.brand_gallery_inspiration_note') }} +

+ @endif + +
+ @foreach ($groupItems as $index => $item) +
+ + @if (!empty($item['caption'])) +
{{ $item['caption'] }}
+ @endif +
+ @endforeach +
+
+ @endif + @endforeach +
+ + {{-- Lightbox: ins body geteleportet, damit keine Eltern-Constraints stören --}} + +
+ @endif + + {{-- 5. CTA --}} +
+
+

{{ __('ui.brand_cta_title', ['name' => $brand['name']]) }}

+

{{ __('ui.brand_cta_text') }}

+ +
+ + {{ __('ui.request_appointment') }} + + @if (!empty($brand['website_url'])) + + {{ __('ui.brand_website') }} + + @endif +
+ {{-- Der WhatsApp-Button kommt mit AP3, sobald die Nummer bestätigt ist. --}} +
+
+ + {{-- Weitere Marken --}} + @if (!empty($otherBrands)) +
+
+

{{ __('ui.other_brands') }}

+ +
+ @foreach ($otherBrands as $other) + +

{{ $other['name'] }}

+

{{ $other['tagline'] }}

+

{!! $other['teaser'] !!}

+
+ @endforeach +
+
+
+ @endif +
diff --git a/resources/views/livewire/web/components/sections/brand-overview.blade.php b/resources/views/livewire/web/components/sections/brand-overview.blade.php new file mode 100644 index 00000000..2c0d6a07 --- /dev/null +++ b/resources/views/livewire/web/components/sections/brand-overview.blade.php @@ -0,0 +1,59 @@ +{{-- Übersichtsseite /marken: je Marke Logo, Bild, Claim, Text, drei Merkmale und der Weg + zur Detailseite. Jede Marke steht in einem eigenen Rahmen, damit klar ist, was zusammengehört. + Abwechselnde Bildseite, damit die Liste nicht monoton wird. --}} +
+
+ @foreach ($brands as $index => $brand) +
+
+
+ @if (!empty($brand['image'])) + {{ $brand['name'] }} + @else + {{-- Platzhalter, solange die Bildmotive fehlen (offene Zulieferung). --}} +
+ {{ $brand['name'] }} +
+ @endif +
+ +
+ @if (!empty($brand['logo'])) + {{ $brand['name'] }} + @endif + +

{{ $brand['name'] }}

+

{{ $brand['tagline'] }}

+ + @foreach (preg_split('/\R{2,}/', trim((string) ($brand['summary'] ?: $brand['teaser']))) as $i => $paragraph) +

{!! nl2br(e($paragraph)) !!}

+ @endforeach + + @if (!empty($brand['highlights'])) +
    + @foreach ($brand['highlights'] as $i => $highlight) +
  • + + {{ is_array($highlight) ? ($highlight['title'] ?? '') : $highlight }} +
  • + @endforeach +
+ @endif + + @if (!empty($brand['has_detail_page'])) + + {{ __('ui.more_about', ['name' => $brand['name']]) }} + + @endif +
+
+
+ @endforeach +
+
diff --git a/resources/views/livewire/web/components/sections/core-brands.blade.php b/resources/views/livewire/web/components/sections/core-brands.blade.php new file mode 100644 index 00000000..927c6f12 --- /dev/null +++ b/resources/views/livewire/web/components/sections/core-brands.blade.php @@ -0,0 +1,53 @@ +
+
+
+

{!! $content['title'] ?? '' !!}

+ @if (!empty($content['subtitle'])) +

{{ $content['subtitle'] }}

+ @endif +
+ +
+ @foreach ($brands as $brand) +
+ @if (!empty($brand['image'])) + {{ $brand['name'] }} + @else + {{-- Platzhalter, solange die Bildmotive fehlen (offene Zulieferung). --}} +
+ {{ $brand['name'] }} +
+ @endif + +
+ @if (!empty($brand['logo'])) + {{ $brand['name'] }} + @endif + +

{{ $brand['name'] }}

+

{{ $brand['tagline'] }}

+

{!! $brand['teaser'] !!}

+ + @if (!empty($brand['has_detail_page'])) + + {{ __('ui.more_about', ['name' => $brand['name']]) }} + + + @endif +
+
+ @endforeach +
+ + {{-- Die Startseite bleibt ein Teaser – die vollstaendige Darstellung steht auf /marken. --}} + +
+
diff --git a/resources/views/livewire/web/components/sections/display-feed.blade.php b/resources/views/livewire/web/components/sections/display-feed.blade.php new file mode 100644 index 00000000..8aa98b68 --- /dev/null +++ b/resources/views/livewire/web/components/sections/display-feed.blade.php @@ -0,0 +1,37 @@ +{{-- Livewire braucht ein Wurzelelement. Solange kein Display veröffentlicht ist, bleibt es leer – + lieber gar keine Sektion als ein Rahmen mit ewigem Ladebalken. --}} +
+ @if ($displayId !== null) +
+
+
+
+

{!! $content['title'] ?? '' !!}

+

{{ $content['text'] ?? '' }}

+ + @if (!empty($content['note'])) +

{{ $content['note'] }}

+ @endif + + @if ($showLink && !empty($content['link_text'])) + + {{ $content['link_text'] }} + + @endif +
+ + {{-- 9:16 wie das physische Display im Showroom --}} +
+
+ +
+
+
+
+
+@endif +
diff --git a/resources/views/livewire/web/components/sections/immobilien-teaser.blade.php b/resources/views/livewire/web/components/sections/immobilien-teaser.blade.php new file mode 100644 index 00000000..ee305800 --- /dev/null +++ b/resources/views/livewire/web/components/sections/immobilien-teaser.blade.php @@ -0,0 +1,17 @@ +{{-- Bewusst klein und dezent: wer gezielt sucht, findet den Weg; wer wegen Einrichtung + kommt, wird nicht abgelenkt. Keine Preise, keine Renditeversprechen. --}} +
+
+
+

{!! $content['title'] ?? '' !!}

+

{{ $content['text'] ?? '' }}

+ + @if (!empty($content['link_text'])) + + {{ $content['link_text'] }} + + @endif +
+
+
diff --git a/resources/views/livewire/web/components/sections/magazin-list.blade.php b/resources/views/livewire/web/components/sections/magazin-list.blade.php index bd8aca96..a6c320aa 100644 --- a/resources/views/livewire/web/components/sections/magazin-list.blade.php +++ b/resources/views/livewire/web/components/sections/magazin-list.blade.php @@ -32,7 +32,7 @@

- + {!! $post['title'] !!}

@@ -44,14 +44,14 @@
- + diff --git a/resources/views/livewire/web/components/sections/marken-cta.blade.php b/resources/views/livewire/web/components/sections/marken-cta.blade.php new file mode 100644 index 00000000..f8fdfffb --- /dev/null +++ b/resources/views/livewire/web/components/sections/marken-cta.blade.php @@ -0,0 +1,22 @@ +
+
+

{!! $content['title'] ?? '' !!}

+

{{ $content['text'] ?? '' }}

+ +
+ + {{ $content['button_text'] ?? __('ui.request_appointment') }} + + + {{-- WhatsApp erscheint erst, wenn die Nummer im CMS hinterlegt ist (global.contact.whatsapp). + Das Widget selbst kommt mit AP3. --}} + @php $whatsapp = whatsapp_link(); @endphp + @if ($whatsapp) + + {{ $content['whatsapp_text'] ?? __('ui.whatsapp') }} + + @endif +
+
+
diff --git a/resources/views/livewire/web/components/sections/marken-growth.blade.php b/resources/views/livewire/web/components/sections/marken-growth.blade.php new file mode 100644 index 00000000..0fd93c4f --- /dev/null +++ b/resources/views/livewire/web/components/sections/marken-growth.blade.php @@ -0,0 +1,9 @@ +{{-- Optionaler Block laut Spec – über das CMS-Feld `enabled` abschaltbar. --}} +@if ($content['enabled'] ?? true) +
+
+

{!! $content['title'] ?? '' !!}

+

{{ $content['text'] ?? '' }}

+
+
+@endif diff --git a/resources/views/livewire/web/components/sections/marken-network.blade.php b/resources/views/livewire/web/components/sections/marken-network.blade.php new file mode 100644 index 00000000..febf31ba --- /dev/null +++ b/resources/views/livewire/web/components/sections/marken-network.blade.php @@ -0,0 +1,46 @@ +@php + if (!function_exists('renderHeroIcon')) { + function renderHeroIcon($iconName, $style = 'outline', $color = 'text-secondary') + { + $iconPath = public_path("heroicons/optimized/24/{$style}/{$iconName}.svg"); + $fallbackPath = public_path('heroicons/optimized/24/outline/sparkles.svg'); + + if (file_exists($iconPath)) { + return str_replace(' +
+
+

{!! $content['title'] ?? '' !!}

+ @foreach ($content['paragraphs'] ?? [] as $i => $paragraph) +

+ {!! $paragraph !!} +

+ @endforeach +
+ + @if (!empty($content['points'])) +
+ @foreach ($content['points'] as $index => $point) +
+
+ {!! renderHeroIcon($point['icon'] ?? 'user', 'outline', 'text-secondary-foreground') !!} +
+

{{ $point['title'] ?? '' }}

+

{{ $point['description'] ?? '' }}

+
+ @endforeach +
+ @endif +
+ diff --git a/resources/views/livewire/web/components/sections/page-hero.blade.php b/resources/views/livewire/web/components/sections/page-hero.blade.php new file mode 100644 index 00000000..712068d7 --- /dev/null +++ b/resources/views/livewire/web/components/sections/page-hero.blade.php @@ -0,0 +1,36 @@ +{{-- Seitenkopf für Unterseiten – abgesetzte graue Fläche wie der Hero auf Startseite und + Netzwerkseite, damit er sich klar von den Blöcken darunter absetzt. --}} +
+
+ {{-- Breadcrumb: Home → Marken --}} + + + @if (!empty($content['image'])) + {{-- 3:2 statt hälftig geteilt – der Text bleibt der Hauptdarsteller, das Bild begleitet ihn nur. --}} +
+
+

{!! $content['title'] ?? '' !!}

+

{{ $content['text'] ?? '' }}

+
+ +
+ {{ $content['image_alt'] ?? '' }} +
+
+
+ @else + {{-- Ohne Motiv bleibt der Textblock allein stehen – kein leerer Platzhalterrahmen. --}} +
+

{!! $content['title'] ?? '' !!}

+

{{ $content['text'] ?? '' }}

+
+ @endif +
+
diff --git a/resources/views/livewire/web/components/sections/reference-projects.blade.php b/resources/views/livewire/web/components/sections/reference-projects.blade.php new file mode 100644 index 00000000..afe2a00c --- /dev/null +++ b/resources/views/livewire/web/components/sections/reference-projects.blade.php @@ -0,0 +1,48 @@ +
+
+
+

{!! $content['title'] ?? '' !!}

+ @if (!empty($content['text'])) +

{{ $content['text'] }}

+ @endif +
+ + @if ($projects) +
+ @foreach ($projects as $project) +
+
+ {{ $project['caption'] ?: $project['brand'] }} + + {{ __('ui.brand_gallery_badge_project') }} + +
+
+ @if (!empty($project['caption'])) +

{{ $project['caption'] }}

+ @endif + @if ($project['has_detail_page']) + + {{ $project['brand'] }} + + @else +

{{ $project['brand'] }}

+ @endif +
+
+ @endforeach +
+ @else + {{-- Ehrlicher Leerzustand statt einer erfundenen Referenz. --}} +
+

{{ $content['empty'] ?? __('ui.references_empty') }}

+ + {{ __('ui.request_appointment') }} + +
+ @endif +
+
diff --git a/resources/views/livewire/web/components/sections/sponsoring.blade.php b/resources/views/livewire/web/components/sections/sponsoring.blade.php new file mode 100644 index 00000000..90fe1cb9 --- /dev/null +++ b/resources/views/livewire/web/components/sections/sponsoring.blade.php @@ -0,0 +1,33 @@ +
+
+
+

{!! $content['title'] ?? '' !!}

+ @if (!empty($content['subtitle'])) +

{{ $content['subtitle'] }}

+ @endif +
+ + {{-- Kachel je Verein: Logo oben auf Weiß (die Logos sind für weißen Grund gemacht), + darunter ein kurzer Text. Bewusst ohne Verlinkung – reine Nennung. --}} +
+ @foreach ($content['logos'] ?? [] as $index => $logo) +
+ {{-- Feste Bühnenhöhe und Deckel in beide Richtungen: die Logos haben sehr + unterschiedliche Seitenverhältnisse (1:1 bis 3,3:1) und wirken sonst + unterschiedlich groß. --}} +
+ {{ $logo['name'] ?? '' }} +
+ +
+

{{ $logo['name'] ?? '' }}

+ @if (!empty($logo['text'])) +

{{ $logo['text'] }}

+ @endif +
+
+ @endforeach +
+
+
diff --git a/resources/views/livewire/web/components/ui/announcement-bar.blade.php b/resources/views/livewire/web/components/ui/announcement-bar.blade.php index 76774575..26d89f3c 100644 --- a/resources/views/livewire/web/components/ui/announcement-bar.blade.php +++ b/resources/views/livewire/web/components/ui/announcement-bar.blade.php @@ -1,5 +1,16 @@ @if (!empty($content) && ($content['enabled'] ?? false)) -
@@ -28,7 +39,7 @@ @endif +
+ + @if ($success) +
+ {{ $content['success'] ?? __('ui.appointment.success') }} +
+ + @else + @if (!empty($content['intro'])) +

{{ $content['intro'] }}

+ @endif + + +
+ + + @error('name') {{ $message }} @enderror +
+ +
+ + + @error('email') {{ $message }} @enderror +
+ +
+ + + @error('phone') {{ $message }} @enderror +
+ +
+ + + @error('topic') {{ $message }} @enderror +
+ +
+ + + @error('preferredDate') {{ $message }} @enderror +
+ +
+ + + @error('message') {{ $message }} @enderror +
+ + {{-- Honeypot --}} + + + + @error('privacy') {{ $message }} @enderror + + + + + {{-- Alternative: WhatsApp. Nur sichtbar, wenn im CMS eine Nummer hinterlegt ist. + Der Link ist ein normaler Klick-zum-Chat-Link – auf dem Handy öffnet die + installierte App, sonst WhatsApp Web. Der Text ist vorbereitet, abgeschickt + wird er vom Besucher selbst. --}} + @if ($this->whatsappUrl !== '') +
+

{{ __('ui.appointment.whatsapp_intro') }}

+ + + {{ __('ui.whatsapp') }} + +

{{ __('ui.appointment.whatsapp_note') }}

+
+ @endif + @endif +
+ +
+ +
+
diff --git a/resources/views/livewire/web/components/ui/footer.blade.php b/resources/views/livewire/web/components/ui/footer.blade.php index ec3c04f7..83d9db26 100644 --- a/resources/views/livewire/web/components/ui/footer.blade.php +++ b/resources/views/livewire/web/components/ui/footer.blade.php @@ -5,38 +5,38 @@
{{ $domainName ?? 'B2in' }} Logo

- Connecting Design and Property + {!! $content['claim'] ?? 'Premium-Einrichtung. Persönlich gemacht.' !!}

-

Marcel Scheibe – {{ __('ui.founder_ceo') }}

+

{{ $content['byline'] ?? 'Marcel Scheibe' }} – {{ __('ui.founder_ceo') }}


{{-- Links --}} -
- - - - - - - + @php + $footerLinks = $content['links'] ?? [ + ['label' => __('ui.faq'), 'url' => '/faq'], + ['label' => __('ui.privacy_policy'), 'url' => '/privacy'], + ['label' => __('ui.terms_of_service'), 'url' => '/terms'], + ['label' => __('ui.cookie_policy'), 'url' => '/cookie-policy'], + ['label' => __('ui.legal_notice'), 'url' => '/impressum'], + ]; + @endphp +
+ @foreach ($footerLinks as $footerLink) + + @endforeach
diff --git a/resources/views/livewire/web/components/ui/header.blade.php b/resources/views/livewire/web/components/ui/header.blade.php index afaeb35b..a4b5abbd 100644 --- a/resources/views/livewire/web/components/ui/header.blade.php +++ b/resources/views/livewire/web/components/ui/header.blade.php @@ -3,7 +3,7 @@
{{ $domainName ?? 'B2IN' }} Logo + alt="{{ $domainName ?? 'B2in Interior' }} Logo" class="h-12 w-auto" /> ', $navStart) - $navStart); + + expect($nav)->toContain('Marken'); + expect($nav)->toContain('/marken'); + expect($nav)->toContain('Immobilien'); + expect($nav)->not->toContain('Netzwerk'); + expect(strpos($nav, 'Marken'))->toBeLessThan(strpos($nav, 'Immobilien')); +}); + +it('sends the retired network page to the brands page', function () { + $this->get('/netzwerk')->assertRedirect('/marken'); +}); + +it('teases the brands on the homepage and links to the full overview', function () { + $this->get('/') + ->assertSuccessful() + ->assertSee('Alle Marken ansehen') + ->assertSee('/marken'); +}); + +// ======================================== +// SEO +// ======================================== + +it('carries the new title and description', function () { + $this->get('/') + ->assertSuccessful() + ->assertSee('B2in Interior – Premium-Einrichtung', false) + ->assertDontSee('Connecting Design and Property'); +}); + +// ======================================== +// Sponsoring +// ======================================== + +it('shows the three sponsoring logos', function () { + $this->get('/') + ->assertSuccessful() + ->assertSee('sponsoring/arminia-bielefeld.png') + ->assertSee('sponsoring/tc-bad-waldliesborn-horn.jpg') + ->assertSee('sponsoring/tc-hoevelhof.png'); +}); + +it('puts every sponsor logo on a white stage inside its own tile', function () { + $html = $this->get('/')->assertSuccessful()->getContent(); + + expect(substr_count($html, 'bg-white flex items-center justify-center h-36'))->toBe(3); +}); + +it('names each sponsor and explains it in one line', function () { + $this->get('/') + ->assertSuccessful() + ->assertSee('DSC Arminia Bielefeld') + ->assertSee('Traditionsverein aus Bielefeld', false) + ->assertSee('Tennisclub aus Bad Waldliesborn') + ->assertSee('Tennisclub aus Hövelhof', false); +}); + +it('does not turn the sponsor tiles into links', function () { + $html = $this->get('/')->assertSuccessful()->getContent(); + + $section = substr($html, (int) strpos($html, 'DSC Arminia Bielefeld')); + $section = substr($section, 0, (int) strpos($section, 'Tennisclub aus Hövelhof')); + + expect($section)->not->toContain('get('/') + ->assertSuccessful() + ->assertSee('b2in-interior-logo-positive.svg') + ->assertSee('b2in-interior-logo-negative.svg'); +}); + +it('ships the interior logo files in both variants', function () { + foreach (['positive', 'negative'] as $variant) { + expect(file_exists(public_path("img/logos/b2in-interior-logo-{$variant}.svg")))->toBeTrue(); + expect(file_exists(public_path("img/logos/b2in-interior-logo-{$variant}.png")))->toBeTrue(); + } +}); + +it('crops the logo viewBox to the artwork', function () { + // Die Lieferung lag auf einem A4-Artboard mit 74 % Weissraum. Ungeschnitten wuerde das + // Logo bei gleicher CSS-Hoehe rund halb so gross rendern wie das bisherige. + $svg = file_get_contents(public_path('img/logos/b2in-interior-logo-positive.svg')); + + expect($svg)->toContain('viewBox="153 96 289.3 227.5"'); + expect($svg)->not->toContain('595.3 419.5'); +}); diff --git a/tests/Feature/InteriorPageTest.php b/tests/Feature/InteriorPageTest.php index af42e312..30a62d1f 100644 --- a/tests/Feature/InteriorPageTest.php +++ b/tests/Feature/InteriorPageTest.php @@ -2,31 +2,26 @@ declare(strict_types=1); -it('interior redirects to netzwerk', function () { - $this->get('/interior') - ->assertRedirect('/netzwerk'); +// Die Netzwerk-Seite geht laut unterseite_marke.md §6 im Abschnitt „Mehr als Marken: +// unser Netzwerk" auf /marken auf. Alte Einstiege leiten dorthin, ohne Redirect-Ketten. + +it('netzwerk redirects to the brands page', function () { + $this->get('/netzwerk')->assertRedirect('/marken'); }); -it('partner redirects to netzwerk', function () { - $this->get('/partner') - ->assertRedirect('/netzwerk'); +it('interior redirects to the brands page', function () { + $this->get('/interior')->assertRedirect('/marken'); }); -it('netzwerk page loads successfully', function () { - $this->get('/netzwerk') +it('partner redirects to the brands page', function () { + $this->get('/partner')->assertRedirect('/marken'); +}); + +it('carries the network content over to the brands page', function () { + $this->get('/marken') ->assertSuccessful() - ->assertSee('B2in'); -}); - -it('netzwerk page shows teaser cards', function () { - $this->get('/netzwerk') - ->assertSuccessful() - ->assertSee('Einrichtungsnetzwerk') - ->assertSee('In Entwicklung'); -}); - -it('netzwerk page shows immobilien cross-link', function () { - $this->get('/netzwerk') - ->assertSuccessful() - ->assertSee('Immobilien-Projekten'); + ->assertSee('unser Netzwerk', false) + ->assertSee('Aufmaß & Planung', false) + ->assertSee('Montage durch Fachbetriebe') + ->assertSee('Ein Ansprechpartner'); }); diff --git a/tests/Feature/LiveSiteReviewTest.php b/tests/Feature/LiveSiteReviewTest.php index 3074d70c..8835fd06 100644 --- a/tests/Feature/LiveSiteReviewTest.php +++ b/tests/Feature/LiveSiteReviewTest.php @@ -9,13 +9,20 @@ declare(strict_types=1); it('homepage loads', fn () => $this->get('/')->assertSuccessful()); it('immobilien page loads', fn () => $this->get('/immobilien')->assertSuccessful()); it('immobilien expose loads', fn () => $this->get('/immobilien/azizi-creek-views-4')->assertSuccessful()); -it('netzwerk page loads', fn () => $this->get('/netzwerk')->assertSuccessful()); +it('marken page loads', fn () => $this->get('/marken')->assertSuccessful()); it('magazin list loads', fn () => $this->get('/magazin')->assertSuccessful()); -it('magazin article 1 loads', fn () => $this->get('/magazin/1')->assertSuccessful()); -it('magazin article 2 loads', fn () => $this->get('/magazin/2')->assertSuccessful()); -it('magazin article 3 loads', fn () => $this->get('/magazin/3')->assertSuccessful()); -it('magazin article 4 loads', fn () => $this->get('/magazin/4')->assertSuccessful()); -it('magazin article 5 loads', fn () => $this->get('/magazin/5')->assertSuccessful()); + +it('every magazin article loads under its slug', function (string $slug) { + $this->get('/magazin/'.$slug)->assertSuccessful(); +})->with(array_values(App\Models\CmsArticle::LEGACY_ID_TO_SLUG)); + +// Die alten numerischen URLs bleiben erreichbar – jetzt ueber eine 301 auf den Slug. +it('every old numeric magazin URL still reaches its article', function (int $id) { + $slug = App\Models\CmsArticle::slugForLegacyId($id); + + $this->get('/magazin/'.$id)->assertRedirect('/magazin/'.$slug); + $this->get('/magazin/'.$slug)->assertSuccessful(); +})->with(array_keys(App\Models\CmsArticle::LEGACY_ID_TO_SLUG)); it('about page loads', fn () => $this->get('/about')->assertSuccessful()); it('contact page loads', fn () => $this->get('/contact')->assertSuccessful()); it('faq page loads', fn () => $this->get('/faq')->assertSuccessful()); @@ -24,8 +31,9 @@ it('faq page loads', fn () => $this->get('/faq')->assertSuccessful()); // Redirects // ======================================== -it('interior redirects to netzwerk', fn () => $this->get('/interior')->assertRedirect('/netzwerk')); -it('partner redirects to netzwerk', fn () => $this->get('/partner')->assertRedirect('/netzwerk')); +it('interior redirects to marken', fn () => $this->get('/interior')->assertRedirect('/marken')); +it('partner redirects to marken', fn () => $this->get('/partner')->assertRedirect('/marken')); +it('netzwerk redirects to marken', fn () => $this->get('/netzwerk')->assertRedirect('/marken')); it('ecosystem redirects to partner', fn () => $this->get('/ecosystem')->assertRedirect('/partner')); // ======================================== @@ -47,8 +55,8 @@ it('invalid immobilien slug returns 404', fn () => $this->get('/immobilien/nonex // Announcement Bar auf allen Seiten // ======================================== -it('announcement bar visible on homepage', fn () => $this->get('/')->assertSee('Azizi Creek Views 4')); -it('announcement bar visible on about', fn () => $this->get('/about')->assertSee('Azizi Creek Views 4')); +it('announcement bar visible on homepage', fn () => $this->get('/')->assertSee('B2in Interior')); +it('announcement bar visible on about', fn () => $this->get('/about')->assertSee('B2in Interior')); // ======================================== // Kritische Inhalte vorhanden @@ -63,7 +71,7 @@ it('immobilien has all five sections', function () { ->assertSee('Einrichtung mitdenken') ->assertSee('Investoren'); }); -it('netzwerk has teaser cards', fn () => $this->get('/netzwerk')->assertSee('Einrichtungsnetzwerk')->assertSee('In Entwicklung')); +it('marken page lists the core brands', fn () => $this->get('/marken')->assertSee('CABINET')->assertSee('Febrü', false)); it('magazin has all five articles', function () { $this->get('/magazin') ->assertSee('Escrow-System') @@ -72,3 +80,67 @@ it('magazin has all five articles', function () { ->assertSee('Supply-Chain') ->assertSee('Local for Local'); }); + +// ======================================== +// Verwaiste Seiten +// ======================================== +// +// /service und /portfolio lieferten Status 500, weil ihre Content-Sektionen nicht mehr +// existieren. Sie sind oeffentlich erreichbar und damit auch fuer Crawler sichtbar. + +it('service page no longer errors', fn () => $this->get('/service')->assertRedirect('/marken')); +it('portfolio page no longer errors', fn () => $this->get('/portfolio')->assertRedirect('/immobilien')); + +// ======================================== +// Inhalte auf den Interior-Auftritt umgestellt +// ======================================== + +it('no longer sells dubai investments in the faq', function () { + $response = $this->get('/faq')->assertSuccessful(); + + $response->assertDontSee('Dubai') + ->assertSee('Für Ihr Zuhause', false) + ->assertSee('Für Projekte und Objekte'); +}); + +it('tells the interior story on the about page', function () { + $this->get('/about') + ->assertSuccessful() + ->assertDontSee('Dubai') + ->assertDontSee('digitale Werkzeuge') + ->assertSee('Beratung statt Verkauf') + ->assertSee('Regional verwurzelt'); +}); + +it('offers interior subjects in the contact form', function () { + $this->get('/contact') + ->assertSuccessful() + ->assertSee('Beratungstermin') + ->assertSee('Maßanfertigung für mein Zuhause', false) + ->assertSee('Küchenplanung', false); +}); + +// ======================================== +// Vorschau-Instanzen dürfen nicht indexiert werden +// ======================================== + +it('allows indexing in production', function () { + config()->set('app.indexable', true); + + $this->get('/') + ->assertSuccessful() + ->assertDontSee('noindex', false); +}); + +it('blocks indexing on a preview instance', function () { + config()->set('app.indexable', false); + + $this->get('/') + ->assertSuccessful() + ->assertSee('', false); +}); + +it('defaults to noindex outside production', function () { + // Gegenprobe zur Konfiguration selbst: ohne expliziten Schalter entscheidet APP_ENV. + expect((bool) (env('SITE_INDEXABLE', env('APP_ENV', 'production') === 'production')))->toBeFalse(); +}); diff --git a/tests/Feature/MagazinPageTest.php b/tests/Feature/MagazinPageTest.php index c925beda..fc8d9c82 100644 --- a/tests/Feature/MagazinPageTest.php +++ b/tests/Feature/MagazinPageTest.php @@ -2,6 +2,11 @@ declare(strict_types=1); +use App\Models\CmsArticle; +use Illuminate\Foundation\Testing\RefreshDatabase; + +uses(RefreshDatabase::class); + it('magazin list page loads successfully', function () { $this->get('/magazin') ->assertSuccessful() @@ -18,16 +23,149 @@ it('magazin list shows all five articles', function () { ->assertSee('Local for Local'); }); -it('magazin detail page loads for article 1', function () { - $this->get('/magazin/1') +it('magazin detail page loads for the first article', function () { + $this->get('/magazin/escrow-system-dubai-investoren') ->assertSuccessful() ->assertSee('Escrow-System') ->assertSee('Dubai Land Department'); }); -it('magazin detail page loads for article 5', function () { - $this->get('/magazin/5') +it('magazin detail page loads for the last article', function () { + $this->get('/magazin/local-for-local-regionaler-moebelhandel') ->assertSuccessful() ->assertSee('Local for Local') ->assertSee('Support your Locals'); }); + +it('serves every article by its slug', function () { + foreach (CmsArticle::LEGACY_ID_TO_SLUG as $slug) { + $this->get('/magazin/'.$slug)->assertSuccessful(); + } +}); + +it('returns 404 for an unknown slug instead of silently showing the first article', function () { + $this->get('/magazin/gibt-es-nicht')->assertNotFound(); +}); + +it('links to the articles by slug, not by id', function () { + $this->get('/magazin') + ->assertSuccessful() + ->assertSee('/magazin/escrow-system-dubai-investoren'); +}); + +// ======================================== +// Alte numerische URLs +// ======================================== + +it('redirects the old numeric URLs permanently to the slug', function () { + foreach (CmsArticle::LEGACY_ID_TO_SLUG as $id => $slug) { + $this->get('/magazin/'.$id) + ->assertStatus(301) + ->assertRedirect('/magazin/'.$slug); + } +}); + +it('returns 404 for a numeric URL that never existed', function () { + $this->get('/magazin/999')->assertNotFound(); +}); + +// ======================================== +// CMS-Anbindung +// ======================================== + +it('renders what is maintained in the CMS, not the lang file', function () { + CmsArticle::factory()->create([ + 'slug' => 'escrow-system-dubai-investoren', + 'title' => 'Im CMS geänderter Titel', + 'is_published' => true, + 'order' => 1, + 'content' => ['de' => ['intro' => 'Im CMS geänderter Einstieg.', 'sections' => []]], + ]); + + $this->get('/magazin') + ->assertSuccessful() + ->assertSee('Im CMS geänderter Titel'); + + $this->get('/magazin/escrow-system-dubai-investoren') + ->assertSuccessful() + ->assertSee('Im CMS geänderter Titel'); +}); + +it('hides unpublished articles from the list and returns 404 on their detail page', function () { + CmsArticle::factory()->create([ + 'slug' => 'noch-nicht-fertig', + 'title' => 'Entwurf, noch nicht öffentlich', + 'is_published' => false, + 'order' => 1, + ]); + + // Ein veroeffentlichter Artikel muss existieren, sonst greift der Lang-Fallback. + CmsArticle::factory()->create([ + 'slug' => 'escrow-system-dubai-investoren', + 'title' => 'Veröffentlicht', + 'is_published' => true, + 'order' => 2, + ]); + + $this->get('/magazin') + ->assertSuccessful() + ->assertDontSee('Entwurf, noch nicht öffentlich'); + + $this->get('/magazin/noch-nicht-fertig')->assertNotFound(); +}); + +it('falls back to the lang file while no articles are maintained', function () { + expect(CmsArticle::count())->toBe(0); + + $this->get('/magazin') + ->assertSuccessful() + ->assertSee('Escrow-System'); +}); + +it('prefers the CMS over the lang file once articles exist', function () { + CmsArticle::factory()->create([ + 'slug' => 'nur-dieser-eine', + 'title' => 'Einziger gepflegter Artikel', + 'is_published' => true, + 'order' => 1, + ]); + + $this->get('/magazin') + ->assertSuccessful() + ->assertSee('Einziger gepflegter Artikel') + ->assertDontSee('Al Jaddaf'); +}); + +// ======================================== +// Neue Interior-Beiträge +// ======================================== + +it('leads the list with the interior articles, not with the dubai ones', function () { + $slugs = array_keys(CmsArticle::forFrontend()); + + expect($slugs[0])->toBe('massanfertigung-warum-der-millimeter-zaehlt') + ->and($slugs[1])->toBe('kueche-planen-vom-wunsch-zum-grundriss'); +}); + +it('serves the two new articles by their own slug', function () { + $this->get('/magazin/massanfertigung-warum-der-millimeter-zaehlt') + ->assertSuccessful() + ->assertSee('Nach Maß statt von der Stange', false); + + $this->get('/magazin/kueche-planen-vom-wunsch-zum-grundriss') + ->assertSuccessful() + ->assertSee('Küche planen', false); +}); + +it('does not invent legacy numeric urls for the new articles', function () { + // Die Slugs kommen aus der Lang-Datei, nicht aus LEGACY_ID_TO_SLUG – /magazin/6 gab es nie. + expect(CmsArticle::slugForLegacyId(6))->toBeNull(); + + $this->get('/magazin/6')->assertNotFound(); +}); + +it('takes the slug from the lang entry when one is given', function () { + expect(CmsArticle::slugForLangArticle(6, ['slug' => 'eigener-slug']))->toBe('eigener-slug') + ->and(CmsArticle::slugForLangArticle(1, []))->toBe('escrow-system-dubai-investoren') + ->and(CmsArticle::slugForLangArticle(99, []))->toBeNull(); +}); diff --git a/tests/Feature/MarkenPageTest.php b/tests/Feature/MarkenPageTest.php new file mode 100644 index 00000000..90a75d12 --- /dev/null +++ b/tests/Feature/MarkenPageTest.php @@ -0,0 +1,181 @@ +seed(\Database\Seeders\CmsBrandSeeder::class); +}); + +// ======================================== +// Aufbau laut unterseite_marke.md +// ======================================== + +it('renders the page sections in the order from the spec', function () { + $html = markenBody($this->get('/marken')->assertSuccessful()->getContent()); + + $order = [ + 'Unsere Marken', // 1. Seitenkopf + 'CABINET', // 2. Kernmarken + 'Rotpunkt Küchen', + 'Febrü', + 'unser Netzwerk', // 3. Partnernetzwerk + 'Markenwelt wächst', // 4. Marken werden ergänzt + 'Lernen Sie unsere', // 5. Abschluss-CTA + ]; + + $last = -1; + + foreach ($order as $needle) { + $pos = strpos($html, $needle); + expect($pos)->not->toBeFalse("Nicht gefunden: {$needle}"); + expect($pos)->toBeGreaterThan($last, "Falsche Reihenfolge bei: {$needle}"); + $last = $pos; + } +}); + +it('shows a breadcrumb from home to brands', function () { + $this->get('/marken') + ->assertSuccessful() + ->assertSee('Breadcrumb') + ->assertSee('Home'); +}); + +it('carries the title and description from the spec', function () { + $this->get('/marken') + ->assertSuccessful() + ->assertSee('Unsere Marken – CABINET, Rotpunkt Küchen & Febrü | B2in Interior', false) + ->assertSee('Ausgewählte Hersteller statt beliebiger Kataloge', false); +}); + +// ======================================== +// Marken-Abschnitt +// ======================================== + +it('shows the longer text and the three highlights per brand', function () { + $this->get('/marken') + ->assertSuccessful() + ->assertSee('Wo Standardmaße an ihre Grenzen kommen', false) + ->assertSee('Millimetergenaue Planung') + ->assertSee('Individuelle Fronten und Innenausstattung') + ->assertSee('Persönliche Beratung vor Ort', false); +}); + +it('links every brand to its detail page', function () { + $this->get('/marken') + ->assertSuccessful() + ->assertSee('/marken/cabinet') + ->assertSee('/marken/rotpunkt') + ->assertSee('/marken/februe'); +}); + +it('keeps the brand order from the CMS', function () { + $headings = function (string $html): array { + preg_match_all('#wire:key="brand-([a-z-]+)"#', $html, $matches); + + return $matches[1]; + }; + + expect($headings($this->get('/marken')->assertSuccessful()->getContent())) + ->toBe(['cabinet', 'rotpunkt', 'februe']); + + CmsBrand::where('slug', 'februe')->update(['order' => 0]); + + expect($headings($this->get('/marken')->getContent())) + ->toBe(['februe', 'cabinet', 'rotpunkt']); +}); + +it('hides unpublished brands', function () { + CmsBrand::where('slug', 'februe')->update(['is_published' => false]); + + $this->get('/marken') + ->assertSuccessful() + ->assertSee('CABINET') + ->assertDontSee('/marken/februe'); +}); + +// ======================================== +// WhatsApp +// ======================================== + +it('hides the whatsapp button while no number is stored', function () { + // Lieber kein Button als einer auf eine erfundene Nummer. + $this->get('/marken') + ->assertSuccessful() + ->assertSee('Termin anfragen') + ->assertDontSee('wa.me'); +}); + +it('shows the whatsapp button once a number is stored', function () { + CmsContent::create([ + 'group' => 'global', + 'key' => 'contact', + 'type' => 'json', + 'value' => ['de' => ['whatsapp' => '+49 151 51002992']], + 'order' => 0, + ]); + + $this->get('/marken') + ->assertSuccessful() + ->assertSee('https://wa.me/4915151002992') + ->assertSee('Per WhatsApp schreiben'); +}); + +// ======================================== +// Abgrenzung der Blöcke +// ======================================== + +it('sets the page header on the same offset surface as the other heroes', function () { + $html = markenBody($this->get('/marken')->assertSuccessful()->getContent()); + + // Dieselbe Fläche wie Startseite und Netzwerkseite. + expect($html)->toContain('bg-hero-container'); +}); + +it('frames every brand block so it reads as one unit', function () { + $html = markenBody($this->get('/marken')->assertSuccessful()->getContent()); + + expect(substr_count($html, 'card-elevated rounded-3xl'))->toBe(CmsBrand::query()->published()->count()); +}); + +it('places a smaller image beside the page header text', function () { + $html = markenBody($this->get('/marken')->assertSuccessful()->getContent()); + + // Text 3, Bild 2 Spalten – das Bild begleitet, es dominiert nicht. + expect($html)->toContain('lg:col-span-3') + ->and($html)->toContain('lg:col-span-2'); +}); + +it('leaves out the image frame entirely when no motif is maintained', function () { + CmsContent::create([ + 'group' => 'marken', + 'key' => 'hero', + 'type' => 'json', + 'value' => ['de' => ['title' => 'Unsere Marken', 'text' => 'Kurztext.', 'image' => '']], + 'order' => 0, + ]); + + $html = markenBody($this->get('/marken')->assertSuccessful()->getContent()); + + expect($html)->toContain('Unsere Marken') + ->and($html)->not->toContain('lg:col-span-2'); +}); diff --git a/tests/Feature/PreviewHostTest.php b/tests/Feature/PreviewHostTest.php new file mode 100644 index 00000000..c9773159 --- /dev/null +++ b/tests/Feature/PreviewHostTest.php @@ -0,0 +1,61 @@ +boot(); +} + +beforeEach(function () { + config()->set('domains.domains.b2in.domain_name', 'b2in.eu'); + config()->set('domains.domains.b2in.url', 'https://b2in.eu'); + config()->set('app.url', 'https://b2in.eu'); +}); + +it('uses the host that was actually called when it is unknown', function () { + config()->set('app.env', 'preview'); + + bootThemeProviderForHost('preview.b2in.eu'); + + expect(config('app.url'))->toBe('https://preview.b2in.eu') + ->and(config('app.asset_url'))->toBe('https://preview.b2in.eu') + ->and(config('app.domain_name'))->toBe('preview.b2in.eu'); +}); + +it('keeps the theme of the main site on an unknown host', function () { + config()->set('app.env', 'preview'); + + bootThemeProviderForHost('preview.b2in.eu'); + + expect(config('app.theme'))->toBe('b2in'); +}); + +it('sticks to the configured url in production, whatever host is claimed', function () { + config()->set('app.env', 'production'); + + bootThemeProviderForHost('boeser-host.example'); + + expect(config('app.url'))->toBe('https://b2in.eu') + ->and(config('app.asset_url'))->toBe('https://b2in.eu'); +}); + +it('still prefers the configured url for a host it knows', function () { + config()->set('app.env', 'preview'); + + bootThemeProviderForHost('b2in.eu'); + + expect(config('app.url'))->toBe('https://b2in.eu'); +}); diff --git a/tests/Feature/ReferenzenPageTest.php b/tests/Feature/ReferenzenPageTest.php new file mode 100644 index 00000000..0822dcb0 --- /dev/null +++ b/tests/Feature/ReferenzenPageTest.php @@ -0,0 +1,75 @@ +seed(\Database\Seeders\CmsBrandSeeder::class); +}); + +it('loads and carries its own title', function () { + $this->get('/referenzen') + ->assertSuccessful() + ->assertSee('Unsere Referenzen', false) + ->assertSee('Realisierte Projekte', false); +}); + +it('appears in the main navigation', function () { + $this->get('/') + ->assertSuccessful() + ->assertSee('/referenzen'); +}); + +it('shows the completed projects from every brand gallery', function () { + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update([ + 'gallery' => [ + ['image' => 'a.webp', 'category' => 'project', 'caption' => 'Ankleide in Bielefeld'], + ['image' => 'b.webp', 'category' => 'inspiration', 'caption' => 'Entwurf Garderobe'], + ], + ]); + CmsBrand::where('slug', 'rotpunkt')->firstOrFail()->update([ + 'gallery' => [ + ['image' => 'c.webp', 'category' => 'project', 'caption' => 'Küche in Hiddenhausen'], + ], + ]); + + $this->get('/referenzen') + ->assertSuccessful() + ->assertSee('Ankleide in Bielefeld') + ->assertSee('Küche in Hiddenhausen', false); +}); + +it('keeps visualisations out of the references', function () { + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update([ + 'gallery' => [ + ['image' => 'entwurf.webp', 'category' => 'inspiration', 'caption' => 'Nur ein Entwurf'], + ], + ]); + + $this->get('/referenzen') + ->assertSuccessful() + ->assertDontSee('Nur ein Entwurf'); +}); + +it('links each project back to its brand page', function () { + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update([ + 'gallery' => [['image' => 'a.webp', 'category' => 'project', 'caption' => 'Ankleide']], + ]); + + $this->get('/referenzen') + ->assertSuccessful() + ->assertSee('/marken/cabinet'); +}); + +it('says so plainly when there is nothing to show yet', function () { + CmsBrand::query()->update(['gallery' => null]); + + $this->get('/referenzen') + ->assertSuccessful() + ->assertSee('sobald wir sie zeigen dürfen', false) + ->assertSee('Termin anfragen'); +}); From 4ef3a4d8f191a17436ce31fec94aa787e271b370 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 3 Sep 2026 08:52:36 +0000 Subject: [PATCH 02/22] =?UTF-8?q?Markenseiten=20Rotpunkt=20und=20Febr?= =?UTF-8?q?=C3=BC=20aus=20der=20Zulieferung=20vom=2031.08.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Umsetzung der beiden finalen Webseitentexte aus dev/2026-08-28/. Die angekündigte Aufgabenliste umsetzung-03-09-2026.md war leer, Grundlage sind daher die Umsetzungshinweise in den PDFs selbst. - Neue Felder in cms_brands: sections, widget_label, cta_title, cta_text. Einleitung und Leistungskacheln reichten für diese Texte nicht aus. - Die als Vertiefung gelieferten Blöcke werden aufklappbar dargestellt, mit aria-expanded und aria-controls. Bewusst x-transition statt x-collapse, weil das Collapse-Plugin hier nicht registriert ist. - Kein zweiter CTA-Button: das schwebende Terminanfrage-Widget trägt auf der Markenseite die Beschriftung der Marke und liest den Kontext aus der Route, da es im Layout und nicht je Seite eingebunden ist. - Footer bekommt unten Platz und lange Beschriftungen brechen um, damit das Widget auf dem Smartphone nichts verdeckt. - Abschnitte sind im Admin vollständig pflegbar, inklusive Sortierung. - Interne Quellenhinweise der PDFs sind nicht übernommen; ein Test prüft, dass sie nicht im Ausgabe-HTML stehen. - BrandPageTextSeeder fasst nur die Textfelder an, Bilder, Galerie und Leistungen bleiben unangetastet. Vor der Veröffentlichung: Herstellerfreigabe einholen und die Aussage zur erhaltenen Waldfläche nur mit ausdrücklicher Bestätigung verwenden. Beides steht in der Deployment-Checkliste. 854 Tests grün (3150 Assertions), Pint sauber. Co-Authored-By: Claude Opus 5 --- .../Web/Components/UI/AppointmentWidget.php | 26 ++ app/Models/CmsBrand.php | 92 +++++ ..._add_page_sections_to_cms_brands_table.php | 42 ++ database/seeders/BrandPageTextSeeder.php | 358 ++++++++++++++++++ dev/2026-08-28/deploy/dateiliste.txt | 120 +++--- dev/2026-08-28/entwicklungsplan.md | 93 ++++- dev/2026-08-28/preview-deployment.md | 5 + .../livewire/admin/cms/brands-index.blade.php | 133 ++++++- .../sections/brand-detail.blade.php | 74 +++- .../ui/appointment-widget.blade.php | 5 +- .../web/components/ui/footer.blade.php | 4 +- .../Feature/Admin/Cms/CmsBrandsIndexTest.php | 83 ++++ tests/Feature/BrandPageSectionsTest.php | 177 +++++++++ 13 files changed, 1143 insertions(+), 69 deletions(-) create mode 100644 database/migrations/2026_09_03_084254_add_page_sections_to_cms_brands_table.php create mode 100644 database/seeders/BrandPageTextSeeder.php create mode 100644 tests/Feature/BrandPageSectionsTest.php diff --git a/app/Livewire/Web/Components/UI/AppointmentWidget.php b/app/Livewire/Web/Components/UI/AppointmentWidget.php index 9475e3e1..5532fda6 100644 --- a/app/Livewire/Web/Components/UI/AppointmentWidget.php +++ b/app/Livewire/Web/Components/UI/AppointmentWidget.php @@ -52,6 +52,32 @@ class AppointmentWidget extends Component $section = cms_theme_section('appointment_widget'); $this->content = is_array($section) ? $section : []; $this->formLoadedAt = time(); + + $this->applyBrandContext(); + } + + /** + * Auf einer Markenseite trägt der Button die Beschriftung dieser Marke. + * + * Die Zulieferung sieht ausdrücklich keinen zweiten CTA-Button vor, sondern eine + * kontextbezogene Beschriftung des vorhandenen Widgets. Da das Widget im Layout steckt und + * nicht je Seite eingebunden wird, liest es den Kontext aus der Route. + */ + private function applyBrandContext(): void + { + $route = request()->route(); + + if ($route?->getName() !== 'marken.show') { + return; + } + + $slug = (string) $route->parameter('slug'); + $brand = CmsBrand::forFrontend()[$slug] ?? null; + $label = is_array($brand) ? trim((string) ($brand['widget_label'] ?? '')) : ''; + + if ($label !== '') { + $this->content['button_label'] = $label; + } } /** diff --git a/app/Models/CmsBrand.php b/app/Models/CmsBrand.php index c847a74d..c027a41c 100644 --- a/app/Models/CmsBrand.php +++ b/app/Models/CmsBrand.php @@ -38,6 +38,10 @@ class CmsBrand extends Model 'logo', 'image', 'services', + 'sections', + 'widget_label', + 'cta_title', + 'cta_text', 'gallery', 'website_url', 'showroom', @@ -52,6 +56,9 @@ class CmsBrand extends Model 'teaser', 'summary', 'description', + 'widget_label', + 'cta_title', + 'cta_text', ]; protected function casts(): array @@ -59,6 +66,7 @@ class CmsBrand extends Model return [ 'highlights' => 'array', 'services' => 'array', + 'sections' => 'array', 'gallery' => 'array', 'is_published' => 'boolean', 'order' => 'integer', @@ -124,6 +132,10 @@ class CmsBrand extends Model 'logo' => '', 'image' => '', 'services' => [], + 'sections' => [], + 'widget_label' => '', + 'cta_title' => '', + 'cta_text' => '', 'gallery' => [], 'website_url' => '', 'showroom' => '', @@ -131,6 +143,7 @@ class CmsBrand extends Model ], $brand, ['slug' => $slug, 'has_detail_page' => false]); $entry['gallery'] = self::normalizeGallery($entry['gallery']); + $entry['sections'] = self::normalizeSections($entry['sections']); $out[$slug] = $entry; } @@ -138,6 +151,81 @@ class CmsBrand extends Model return $out; } + /** + * Seitenabschnitte in eine feste Form bringen. + * + * Jeder Abschnitt hat einen Titel und Absätze. Optional dazu: + * - `claim` hervorgehobene Schlusszeile + * - `quote` Zitat mit `quote_author` + * - `detail` Vertiefung, die im Frontend aufklappbar dargestellt wird + * + * @param mixed $sections + * @return list, claim: string, quote: string, quote_author: string, detail: array{title: string, paragraphs: list}|null}> + */ + public static function normalizeSections($sections): array + { + if (! is_array($sections)) { + return []; + } + + $out = []; + + foreach ($sections as $section) { + if (! is_array($section)) { + continue; + } + + $paragraphs = self::paragraphList($section['paragraphs'] ?? []); + $title = trim((string) ($section['title'] ?? '')); + + if ($title === '' && $paragraphs === []) { + continue; + } + + $detail = null; + + if (is_array($section['detail'] ?? null)) { + $detailParagraphs = self::paragraphList($section['detail']['paragraphs'] ?? []); + $detailTitle = trim((string) ($section['detail']['title'] ?? '')); + + if ($detailTitle !== '' || $detailParagraphs !== []) { + $detail = ['title' => $detailTitle, 'paragraphs' => $detailParagraphs]; + } + } + + $out[] = [ + 'title' => $title, + 'paragraphs' => $paragraphs, + 'claim' => trim((string) ($section['claim'] ?? '')), + 'quote' => trim((string) ($section['quote'] ?? '')), + 'quote_author' => trim((string) ($section['quote_author'] ?? '')), + 'detail' => $detail, + ]; + } + + return $out; + } + + /** + * @param mixed $paragraphs + * @return list + */ + private static function paragraphList($paragraphs): array + { + if (is_string($paragraphs)) { + $paragraphs = preg_split('/\R{2,}/', $paragraphs) ?: []; + } + + if (! is_array($paragraphs)) { + return []; + } + + return array_values(array_filter(array_map( + fn ($p) => trim((string) (is_array($p) ? ($p['text'] ?? '') : $p)), + $paragraphs, + ))); + } + /** * Galerie-Eintraege in eine feste Form bringen. * @@ -216,6 +304,10 @@ class CmsBrand extends Model 'logo' => $this->logo, 'image' => $this->image, 'services' => $this->services ?? [], + 'sections' => self::normalizeSections($this->sections), + 'widget_label' => (string) $this->widget_label, + 'cta_title' => (string) $this->cta_title, + 'cta_text' => (string) $this->cta_text, 'gallery' => self::normalizeGallery($this->gallery), 'website_url' => $this->website_url, 'showroom' => $this->showroom, diff --git a/database/migrations/2026_09_03_084254_add_page_sections_to_cms_brands_table.php b/database/migrations/2026_09_03_084254_add_page_sections_to_cms_brands_table.php new file mode 100644 index 00000000..b786cb72 --- /dev/null +++ b/database/migrations/2026_09_03_084254_add_page_sections_to_cms_brands_table.php @@ -0,0 +1,42 @@ +json('sections')->nullable()->after('services'); + $table->json('widget_label')->nullable()->after('sections'); + $table->json('cta_title')->nullable()->after('widget_label'); + $table->json('cta_text')->nullable()->after('cta_title'); + }); + } + + public function down(): void + { + Schema::table('cms_brands', function (Blueprint $table) { + $table->dropColumn(['sections', 'widget_label', 'cta_title', 'cta_text']); + }); + } +}; diff --git a/database/seeders/BrandPageTextSeeder.php b/database/seeders/BrandPageTextSeeder.php new file mode 100644 index 00000000..d59966be --- /dev/null +++ b/database/seeders/BrandPageTextSeeder.php @@ -0,0 +1,358 @@ +pages() as $slug => $data) { + $brand = CmsBrand::query()->where('slug', $slug)->first(); + + if (! $brand) { + $this->command?->warn("Marke „{$slug}“ nicht gefunden – übersprungen."); + + continue; + } + + foreach (self::FIELDS as $field) { + if (array_key_exists($field, $data)) { + $brand->{$field} = $data[$field]; + } + } + + $brand->save(); + $updated++; + + $this->command?->info("Markenseite „{$slug}“: ".count($data['sections'] ?? []).' Abschnitte übernommen.'); + } + + $this->command?->info("Markenseiten aktualisiert: {$updated}."); + } + + /** + * @return array> + */ + private function pages(): array + { + return [ + 'rotpunkt' => [ + 'tagline' => ['de' => 'Küchen, die Haltung zeigen.', 'en' => 'Kitchens with character.'], + 'widget_label' => ['de' => 'Persönliche Küchenberatung vereinbaren', 'en' => 'Arrange a personal kitchen consultation'], + 'description' => [ + 'de' => '

Eine Küche ist weit mehr als ein funktionaler Raum. Sie ist Treffpunkt, Arbeitsplatz und Mittelpunkt des täglichen Lebens. Und Hand aufs Herz: Wo finden die besten Gespräche statt – und wo enden die meisten Partys? Meistens in der Küche.

' + .'

Rotpunkt verbindet außergewöhnliche Gestaltungsfreiheit, intelligente Stauraumlösungen und durchdachte Materiallösungen zu Küchen, die nicht nur gut aussehen, sondern dauerhaft zum Leben ihrer Besitzer passen.

' + .'

Unsere Aufgabe ist es, genau herauszuarbeiten, welche Lösung zu Ihnen, Ihrem Alltag und Ihren persönlichen Vorstellungen passt. Bei uns in der Bielefelder Rathausstraße entsteht daraus nicht einfach nur eine Küche. Auf Wunsch denken wir das ganze Zuhause mit und ergänzen es bei Bedarf bis ins Detail handwerklich.

', + 'en' => '

A kitchen is far more than a functional room. It is a meeting place, a workspace and the centre of daily life.

', + ], + 'cta_title' => ['de' => 'Ihre Küche. Persönlich geplant.', 'en' => 'Your kitchen. Personally planned.'], + 'cta_text' => [ + 'de' => 'Jeder Raum ist anders. Jeder Alltag stellt andere Anforderungen. Gemeinsam entwickeln wir eine Rotpunkt-Küche, die gestalterisch überzeugt, im Alltag funktioniert und dauerhaft zu Ihnen passt. Persönlich geplant bei B2in in der Rathausstraße 11 in Bielefeld.', + 'en' => 'Every room is different. Together we develop a Rotpunkt kitchen that convinces in design, works day to day and suits you for the long run.', + ], + 'sections' => [ + [ + 'title' => 'Aus Ostwestfalen. Für Ihr Zuhause.', + 'paragraphs' => [ + 'Rotpunkt entwickelt und fertigt seit 1930 hochwertige Küchenmöbel an den ostwestfälischen Standorten Bünde und Preußisch Oldendorf-Getmold.', + 'Regionale Fertigung, jahrzehntelange Erfahrung und die unmittelbare Nähe zum Hersteller sind für uns keine romantischen Randnotizen, sondern die Grundlage für verlässliche Qualität und persönliche Küchenplanung.', + ], + ], + [ + 'title' => 'Gestaltungsfreiheit bis ins Detail', + 'paragraphs' => [ + 'Rotpunkt bietet eine außergewöhnliche Vielfalt an Fronten, Farben, Materialien, Korpusdekoren, Arbeitsplatten, Griffvarianten und grifflosen Lösungen. Mehr als 20 beidseitig ausgeführte Korpusfarben sorgen dafür, dass eine Küche nicht nur außen, sondern auch innen konsequent gestaltet werden kann.', + 'So planen wir keinen vorgegebenen Küchenblock, sondern eine Lösung, die sich an Raum, Architektur und den tatsächlichen Gewohnheiten ihrer Besitzer orientiert.', + ], + 'detail' => [ + 'title' => 'FENIX und authentische Holzoptiken', + 'paragraphs' => [ + 'FENIX ist eine besonders matte Oberfläche mit geringer Lichtreflexion, angenehm weicher Haptik und ausgeprägten Anti-Fingerprint-Eigenschaften. Oberflächliche Mikrokratzer können thermisch behandelt werden. 27 aufeinander abgestimmte Farben eröffnen eine breite Gestaltungsvielfalt.', + 'Auch bei ausgewählten Fronten in Holzoptik zeigt sich die Liebe zum Detail. Synchronporen-Dekore stimmen sichtbare Maserung und fühlbare Struktur präzise aufeinander ab. Dadurch entsteht bereits bei pflegeleichten Melamin-Holzreproduktionen eine natürliche Wirkung.', + 'Durch eine sorgfältige Planung kann die Holzoptik über mehrere Fronten hinweggeführt werden. Das Ergebnis ist ein ruhiges, zusammenhängendes Frontbild – ohne dass dafür zwingend Echtholz eingesetzt werden muss.', + ], + ], + ], + [ + 'title' => 'Mehr Raum. Mehr Ergonomie. Mehr Küche.', + 'paragraphs' => [ + 'Besonders hohe Unterschränke, niedrige Sockelhöhen und zusätzliche Schrankbreiten schaffen mehr nutzbaren Stauraum und eröffnen neue planerische Möglichkeiten. Klingt nach Kleinkram? Vielleicht. Im täglichen Gebrauch macht genau dieser Kleinkram einen erstaunlich großen Unterschied.', + ], + 'detail' => [ + 'title' => 'NEW DIMENSIONS', + 'paragraphs' => [ + 'Mit dem Maßkonzept NEW DIMENSIONS sind beispielsweise Unterschrankhöhen von bis zu 910 Millimetern in Verbindung mit einem nur 50 Millimeter hohen Sockel möglich.', + 'Zusätzliche Schrankbreiten und vielfältige Innenausstattungen helfen uns, den vorhandenen Raum konsequent und ergonomisch zu nutzen. Die Küche wirkt dadurch nicht nur großzügiger – sie ist es tatsächlich.', + ], + ], + ], + [ + 'title' => 'Nachhaltigkeit mit konkreter Substanz', + 'paragraphs' => [ + 'Nachhaltigkeit braucht keine großen Versprechen, sondern nachvollziehbare Fakten. Greenline steht bei Rotpunkt für konkrete Materialien, Zertifizierungen und messbare Unterschiede.', + 'Die Greenline BioBoard Gen2 besteht aus bis zu 90 Prozent recyceltem Holz. 95 Prozent des Rotpunkt-Küchensortiments sind FSC-zertifiziert. Außerdem sind die Produkte nach JIS F4Star hinsichtlich ihrer Formaldehydemissionen zertifiziert.', + ], + 'detail' => [ + 'title' => 'Zahlen, Zertifizierungen und Raumklima', + 'paragraphs' => [ + // ⚠️ Waldflächen-Aussage: laut Zulieferung nur mit ausdrücklicher Herstellerbestätigung + // veröffentlichen. Steht als Punkt in der Deployment-Checkliste. + 'Nach Angaben von Rotpunkt bleibt durch den Einsatz der Greenline-Spanplatten jährlich eine Waldfläche von ungefähr 50 Fußballfeldern erhalten.', + 'Die Greenline BioBoard Gen2 gibt laut Rotpunkt rund 50 Prozent weniger Formaldehyd an die Raumluft ab als herkömmliche Produkte. Das ist insbesondere für ein möglichst gesundes Raumklima relevant.', + 'Die FSC-Zertifizierung wird unter der Kennung FSC C131864 geführt. Entscheidend ist für uns nicht das grüne Etikett, sondern die konkrete und überprüfbare Aussage dahinter.', + ], + ], + ], + [ + 'title' => 'Greenline hält dem Vergleich stand.', + 'paragraphs' => [ + 'Nachhaltigkeit braucht keine großen Versprechen, sondern nachvollziehbare Fakten. Deshalb legen wir offen, welche Materialien Rotpunkt verwendet, welche Zertifizierungen dahinterstehen und welchen konkreten Unterschied Greenline für Umwelt und Raumklima macht.', + 'Sie haben bereits eine vergleichbare Küche im Blick, die beim Thema Nachhaltigkeit mehr verspricht? Bringen Sie die Unterlagen gerne mit. Wir schauen gemeinsam genau hin – ehrlich, nachvollziehbar und ohne Verkaufsnebel.', + ], + ], + [ + 'title' => 'Mehr als Küchen', + 'paragraphs' => [ + 'Die Möglichkeiten von Rotpunkt enden nicht bei der klassischen Küche. Das Möbel- und Planungssystem lässt sich auch für Hauswirtschaftsräume, Ankleiden, Badezimmer und weitere Wohnbereiche einsetzen.', + 'Materialien, Farben und Gestaltungselemente können über mehrere Räume hinweg aufgegriffen werden. So entsteht nicht in jedem Zimmer eine neue Idee, sondern ein zusammenhängendes Interior-Konzept mit einer gemeinsamen gestalterischen Sprache.', + 'Zusammen mit CABINET, Febrü und weiteren ausgewählten Partnern betrachten wir bei Bedarf den gesamten Innenraum – von Möbeln und Beleuchtung bis zu Tapeten, Fußböden und, wenn es sein soll, der letzten Blume.', + ], + ], + [ + 'title' => 'Warum eine Rotpunkt-Küche bei uns?', + 'paragraphs' => [ + 'Bei uns beginnt eine neue Küche nicht mit einem Prospekt, sondern mit Ihrem Raum und der Frage, wie Sie darin leben möchten.', + 'Arbeitsabläufe, Ergonomie, Stauraum, Materialien, Beleuchtung, Geräte und angrenzende Wohnbereiche planen wir als zusammenhängendes Konzept. Auch die Partystellplätze wollen wohlüberlegt sein – also jene Orte, an denen Gäste später stehen, sitzen, reden und vielleicht etwas länger bleiben.', + 'Wir stellen nicht einfach möglichst viele Produkte zusammen. Wir entwickeln eine Küche, die gestalterisch, funktional und wirtschaftlich überzeugt – und begleiten den gesamten Weg von der ersten Idee bis zur professionellen Montage.', + 'Dabei planen wir nicht für den nächsten schnellen Verkauf, sondern für eine möglichst lange und zufriedene Nutzung. Das ist kurzfristig vielleicht nicht immer die wirtschaftlichste Entscheidung für uns. Für eine ehrliche und dauerhafte Kundenbeziehung ist es die einzig richtige.', + ], + ], + [ + 'title' => 'Erleben statt nur erzählen', + 'paragraphs' => [ + 'Eine gute Entscheidung entsteht nicht allein am Planungstisch. Auf Wunsch – und manchmal auch mit etwas freundlicher Überzeugungsarbeit – begleiten wir Sie nach Abstimmung in das nahe Rotpunkt-Werk oder in ausgewählte Ausstellungen der Gerätehersteller.', + 'Dort können Sie Materialien, Fertigung und Technik selbst erleben, Geräte ausprobieren und Fragen direkt vor Ort stellen. Sie müssen sich also nicht allein auf unser Verkaufsgespräch verlassen, sondern erhalten Informationen aus erster Hand, können vergleichen und anschließend mit einem sicheren Gefühl entscheiden.', + 'Wir begleiten Sie dabei, ordnen die unterschiedlichen Möglichkeiten ein und führen Ihre Entscheidungen zu einem stimmigen Gesamtkonzept zusammen.', + ], + ], + [ + 'title' => 'Küchenstudio plus Handwerk', + 'paragraphs' => [ + 'Rotpunkt deckt bereits eine enorme planerische und gestalterische Bandbreite ab. Es geht deshalb ausdrücklich nicht um Sonderanfertigungen um jeden Preis.', + 'Natürlich gibt es trotzdem immer diesen einen planerischen Sonderfall, bei dem selbst hervorragende Standardsysteme an ihre Grenzen kommen. Dann greift unsere dauerhaft verankerte Schnittstelle zu angeschlossenen Tischlereien.', + 'Wir wägen gestalterischen Mehrwert, technische Notwendigkeit und wirtschaftliche Sinnhaftigkeit ehrlich miteinander ab. Am Ende entscheiden aber Ihre Wünsche – nicht unser Drang, Ihnen unbedingt noch eine Sonderlösung zu verkaufen.', + ], + 'detail' => [ + 'title' => 'Wenn das Handwerk den letzten Millimeter übernimmt', + 'paragraphs' => [ + 'Möglich sind beispielsweise passgenaue Nischenlösungen, besondere Verkleidungen, raumhohe Einbauten, Übergänge zu angrenzenden Möbeln oder individuelle Anpassungen an die vorhandene Architektur.', + 'Bei Bedarf endet das Konzept nicht an der Arbeitsplatte. Auch Tapeten, Fußböden, Wandgestaltung, Beleuchtung und weitere Details können einbezogen werden.', + ], + ], + 'claim' => 'Die Möglichkeiten eines modernen Küchenstudios. Die Flexibilität des Handwerks.', + ], + ], + ], + 'februe' => [ + 'tagline' => ['de' => 'Arbeiten, wo man gerne bleibt.', 'en' => 'Work where people like to stay.'], + 'widget_label' => ['de' => 'Persönliche Arbeitsplatzberatung vereinbaren', 'en' => 'Arrange a personal workspace consultation'], + 'description' => [ + 'de' => '

Ein Büro ist kein Parkplatz für Schreibtische. Es ist ein Raum für Konzentration, Austausch, Bewegung und neue Ideen. Und manchmal entsteht die beste Idee eben nicht am Schreibtisch, sondern zwischen Kaffeemaschine, Lounge und einem guten Gespräch.

' + .'

Febrü verbindet ergonomische Arbeitsplätze mit wohnlichem Design, intelligentem Stauraum, durchdachter Akustik und flexiblen Raumstrukturen.

' + .'

Wir entwickeln daraus Arbeitswelten, die zu den Menschen, ihren Aufgaben und ihrer Umgebung passen – vom einzelnen Homeoffice bis zur vollständigen Unternehmensfläche.

', + 'en' => '

An office is not a car park for desks. It is a space for concentration, exchange, movement and new ideas.

', + ], + 'cta_title' => ['de' => 'Ihr Arbeitsplatz. Persönlich geplant.', 'en' => 'Your workspace. Personally planned.'], + 'cta_text' => [ + 'de' => 'Ob Homeoffice, Praxis, Kanzlei, wachsendes Unternehmen oder vollständige Arbeitswelt: Wir planen jeden Arbeitsplatz mit demselben Anspruch. Nur der Umfang verändert sich. Gemeinsam entwickeln wir eine Arbeitsumgebung, die gesundes Arbeiten unterstützt, gestalterisch überzeugt und den Menschen zeigt, dass ihre tägliche Leistung wahrgenommen und wertgeschätzt wird – persönlich geplant bei B2in in der Rathausstraße 11 in Bielefeld.', + 'en' => 'Whether a home office, a practice, a law firm or a complete working environment: we plan every workspace to the same standard. Only the scope changes.', + ], + 'sections' => [ + [ + 'title' => 'Zuhause oder Projekt. Zwei Wege. Derselbe Anspruch.', + 'paragraphs' => [ + 'Unsere Startseite führt bewusst über zwei Wege: Zuhause und Projekt. Denn ein einzelnes Homeoffice stellt andere Anforderungen als eine Büroetage mit fünfzig Arbeitsplätzen.', + 'Unterschiedliche Aufgaben brauchen unterschiedliche Planung und natürlich auch unterschiedliche Kalkulationen. Bei uns gibt es trotzdem nur Kunden – mit unterschiedlichen Räumen, Anforderungen und Stückzahlen. Der Anspruch an Produkt, Beratung und Service bleibt derselbe.', + ], + 'detail' => [ + 'title' => 'Bei uns gibt es Kunden – keine Schubladen', + 'paragraphs' => [ + 'B2B und B2C sind Begriffe aus Präsentationen und Vertriebsschulungen. Früher hieß es Privatkunde oder Firmenkunde. Oder, noch schlimmer: A-, B- oder C-Kunde. Bei diesem Schubladendenken machen wir nicht mit.', + 'Natürlich beeinflusst die Menge den Preis. Wer fünfzig Arbeitsplätze einrichtet, erhält eine andere Kalkulation als jemand, der einen einzelnen Schreibtisch für sein Homeoffice sucht. Alles andere wäre weder ehrlich noch kaufmännisch sinnvoll.', + 'Die Menge verändert aber weder die Qualität des Produktes noch die Sorgfalt der Planung, die persönliche Beratung oder den Service. Ein einzelner Arbeitsplatz im privaten Zuhause verdient dieselbe Aufmerksamkeit wie eine vollständige Büroetage.', + 'Febrü bleibt Febrü. B2in bleibt B2in. Und jeder Kunde erhält eine Lösung, die zu seinem tatsächlichen Bedarf passt.', + ], + ], + 'claim' => 'Ob im Kleinen oder im Großen – die Detailtreue entscheidet.', + ], + [ + 'title' => 'Aus Herford. Für moderne Arbeitswelten.', + 'paragraphs' => [ + 'Febrü entwickelt und produziert hochwertige Büromöbel direkt im ostwestfälischen Herford – nur wenige Kilometer von Bielefeld entfernt. Eine Fertigungstiefe von 95 Prozent ermöglicht kurze Wege, verlässliche Qualität und hohe Flexibilität bei Materialien, Farben und individuellen Anforderungen.', + ], + 'detail' => [ + 'title' => 'Von einem Schreibtisch bis zum vollständigen Bürotrakt', + 'paragraphs' => [ + 'Das Sortiment reicht von ergonomischen und höhenverstellbaren Schreibtischen über Konferenz- und Besprechungstische, Bürostühle und Loungeelemente bis zu Empfangslösungen, Stauraum, Akustikelementen, mobilen Medienmöbeln, Schließfachsystemen und flexiblen Raumstrukturen.', + 'Damit lässt sich ein einzelner Arbeitsplatz genauso überzeugend planen wie eine Praxis, eine Kanzlei, ein Konferenzbereich oder ein vollständiger Bürotrakt.', + ], + ], + 'claim' => 'Made in Herford. Geplant in Bielefeld.', + ], + [ + 'title' => 'Nicht drei Marken. Ein durchgängiger Raum.', + 'paragraphs' => [ + 'Ein Bürotrakt endet nicht am Schreibtisch. Menschen brauchen Orte zum Arbeiten, für Besprechungen und Rückzug – aber ebenso für Pausen, den gemeinsamen Kaffee, das Mittagessen und den informellen Austausch.', + 'Genau hier greifen Febrü, Rotpunkt und CABINET bei uns ineinander: Febrü gestaltet die Arbeitswelt, Rotpunkt die Küche im Bürotrakt und CABINET die millimetergenaue Sonderlösung.', + 'Entscheidend ist nicht, welcher Hersteller welches Möbel liefert. Entscheidend ist, dass am Ende alles zusammengehört. Wir stimmen Arbeitsplätze, Küche, Stauraum, Farben, Materialien, Beleuchtung und Akustik zu einem durchgängigen Konzept aufeinander ab.', + ], + 'detail' => [ + 'title' => 'Wie die drei Marken zusammenspielen', + 'paragraphs' => [ + 'Febrü gestaltet ergonomische Arbeitsplätze, Konferenzbereiche, Loungezonen, Akustik, Stauraum und flexible Raumstrukturen.', + 'Rotpunkt gestaltet Mitarbeiterküchen, Coffee-Points und gemeinsam genutzte Aufenthaltsküchen als selbstverständlichen Bestandteil der Arbeitswelt – und nicht als übrig gebliebene Funktionszeile. Gerade hier entstehen oft Gespräche, Verbindungen und Ideen, für die im offiziellen Meeting kein Platz war.', + 'CABINET übernimmt dort, wo Nischen vollständig genutzt, Schränke von Wand zu Wand und vom Boden bis zur Decke geplant oder besondere Übergänge zwischen Arbeitsplatz, Stauraum und Architektur geschaffen werden sollen. So entstehen beispielsweise maßgefertigte Garderoben, Aktenschränke, Medienlösungen und Stauraumelemente.', + ], + ], + 'claim' => 'Febrü für die Arbeitswelt. Rotpunkt für die Küche. CABINET für die millimetergenaue Sonderlösung. B2in für das Ganze.', + ], + [ + 'title' => 'Ein Arbeitsplatz. Fünfzig Arbeitsplätze. Ein Anspruch.', + 'paragraphs' => [ + 'Ob wir über einen einzelnen Arbeitsplatz oder einen vollständigen Bürotrakt sprechen: Das grundsätzliche Problem bleibt dasselbe. Fühlt sich der Mensch, der dort täglich arbeitet, gesehen und wertgeschätzt – oder wurde ihm lediglich irgendwo ein Tisch hingestellt?', + 'Die Stückzahl verändert den Umfang der Aufgabe, aber nicht ihre Bedeutung. Wir bewerten einen Arbeitsplatz deshalb nicht nach Quadratmetern oder Auftragswert, sondern danach, was er für den Menschen leisten muss.', + ], + 'detail' => [ + 'title' => 'Wertschätzung ist keine Frage der Stückzahl', + 'paragraphs' => [ + 'Gerade in Zeiten des Fachkräftemangels können Unternehmen es sich nicht leisten, Arbeitsbedingungen als Nebensache zu behandeln. Wer Top-Leistung erwartet, muss die passenden Voraussetzungen schaffen. Ein Obstkorb und kostenloses Wasser sind freundlich – ersetzen aber keinen guten Arbeitsplatz.', + 'Besonders deutlich wird das bei teilzeitbeschäftigten Müttern – selbstverständlich genauso bei Vätern und allen anderen Menschen mit familiärer Sorgeverantwortung. Teilzeit bedeutet nicht halbe Leistung. Oft wird in einem kürzeren Zeitfenster hoch konzentriert gearbeitet, während neben dem nächsten Onlinemeeting gleichzeitig Schule, Termine, Betreuung und damit unsere wichtigste gemeinsame Ressource organisiert werden: unser Nachwuchs.', + 'Gerade hier darf der Arbeitsplatz kein Provisorium aus Küchentisch, Beistelltisch oder Schlafzimmerecke sein. Er muss sofort funktionieren, Bewegung ermöglichen, technisch durchdacht sein und sich trotzdem vernünftig in das Zuhause einfügen. Für den Menschen, der ihn täglich nutzt, ist ein einzelner Arbeitsplatz keine kleine Lösung. Er ist seine vollständige Arbeitswelt.', + ], + ], + ], + [ + 'title' => 'Ergonomie, die im Alltag funktioniert', + 'paragraphs' => [ + 'Ein Arbeitsplatz muss sich dem Menschen anpassen – nicht umgekehrt. Höhenverstellbare Schreibtische und ergonomische Bürostühle schaffen Bewegung und unterstützen eine gesunde Haltung.', + 'Ergonomie endet aber nicht bei Tisch und Stuhl. Auch Laufwege, Greifräume, Bildschirmposition, Beleuchtung, Stauraum und der Wechsel zwischen Tätigkeiten bestimmen, wie angenehm und produktiv ein Arbeitstag verläuft.', + ], + 'detail' => [ + 'title' => 'Und nein: Wir meinen nicht nur den Weg zur Kaffeemaschine', + 'paragraphs' => [ + 'Sinnvolle Laufwege sind Teil einer guten Planung – auch wenn Kaffeemaschine und Kühlschrank zweifellos eine gewisse Bedeutung für den Arbeitsalltag haben.', + 'Das gilt für vier Stunden ebenso wie für zehn Stunden am Schreibtisch, im Unternehmen genauso wie im privaten Zuhause. Und natürlich müssen die Möbel gestalterisch zum Raum passen. Wer denkt: „Das sieht doch keiner – außer den Mitarbeitern“, hat den ersten entscheidenden Fehler bereits gemacht. Die Mitarbeiter sehen es. Jeden Tag. Und sie arbeiten darin.', + ], + ], + 'quote' => 'Ich bin, sagen wir, alt genug, um beim Aufstehen gelegentlich zu stöhnen. Und ehrlich gesagt fühle ich mich an manchen Tagen noch etwas älter. Mein Arzt sagt, ich solle weniger sitzen. Mein Beruf findet nun einmal zu einem großen Teil am Computer statt. Ergo brauche ich eine Lösung, die mir mehr Bewegung ermöglicht, ohne dass ich dafür meinen Beruf wechseln muss.', + 'quote_author' => 'Marcel Scheibe, Geschäftsführer von B2in', + ], + [ + 'title' => 'Office meets Interior', + 'paragraphs' => [ + 'Identische Schreibtischreihen werden einem modernen Arbeitstag nicht mehr gerecht. Menschen benötigen Bereiche für Konzentration, spontane Gespräche, Teamarbeit, Videokonferenzen, vertrauliche Besprechungen und erholsame Pausen.', + 'Febrü verbindet dafür klassische Arbeitsplatzmöbel mit wohnlichen Loungeelementen, mobilen Multifunktionslösungen, Stauraum, Akustik und flexibler Raumzonierung. So entsteht nicht für jede Person derselbe Platz, sondern für jede Tätigkeit der richtige.', + ], + 'detail' => [ + 'title' => 'Das Wir und das Ich', + 'paragraphs' => [ + 'Ja, ja – das könnte man unter dem üblichen Verkaufs-Blabla abheften. Dahinter steht aber eine einfache Wahrheit: Verantwortung lässt sich nicht dauerhaft nach außen delegieren. Was bleibt, sind das Wir und das Ich.', + 'Ein Unternehmen muss Bedingungen schaffen, unter denen Menschen gemeinsam gut arbeiten, sich austauschen und konzentrieren können. Der Einzelne erhält die Möglichkeit – und trägt auch die Verantwortung –, daraus das Beste zu machen.', + 'Räume und Möbel schaffen allein noch keine gute Unternehmenskultur. Schlechte Arbeitsbedingungen können eine gute Kultur aber jeden Tag unnötig erschweren.', + ], + ], + 'claim' => 'Das Unternehmen stärkt das Wir. Der Einzelne macht daraus das Beste.', + ], + [ + 'title' => 'Ruhe und Flexibilität sind planbar.', + 'paragraphs' => [ + 'Akustik, mobile Elemente und flexible Raumlösungen helfen dabei, Bereiche für Kommunikation, Konzentration und Rückzug zu schaffen – und sie später an veränderte Teams und Arbeitsweisen anzupassen.', + ], + 'detail' => [ + 'title' => 'Akustik und flexible Raumstrukturen', + 'paragraphs' => [ + 'Hallende Räume, Telefongespräche und Videokonferenzen können Konzentration und Sprachverständlichkeit erheblich beeinträchtigen. Akustikpaneele, Trennwände, Screens und entsprechend geplante Möbel helfen, Schall zu reduzieren.', + 'Mit modularen Möbeln und Raum-in-Raum-Lösungen lassen sich Arbeitsbereiche neu ordnen, ohne bei jeder Veränderung gleich feste Wände bauen zu müssen. Das ist im großen Büro wichtig – und im privaten Zuhause häufig noch wichtiger.', + ], + ], + ], + [ + 'title' => 'Gestaltung, die zur Identität passt', + 'paragraphs' => [ + 'Ein Büro ist ein sichtbarer Teil der Unternehmenskultur. Farben, Materialien und Raumwirkung beeinflussen, wie Mitarbeitende, Kunden und Bewerber ein Unternehmen wahrnehmen. Im Homeoffice muss der Arbeitsplatz professionell funktionieren und sich zugleich in die vorhandene Einrichtung einfügen.', + 'Dank der hohen Fertigungstiefe bietet Febrü eine große Auswahl an Materialien, Dekoren, Stoffen und Gestellfarben. Corporate Design muss nicht am Briefpapier enden. Und ein Homeoffice muss nach Feierabend nicht wie ein kleines Finanzamt aussehen.', + ], + 'detail' => [ + 'title' => 'Und ja: Pflanzen gehören dazu', + 'paragraphs' => [ + 'Eine Pflanze macht aus einem Unternehmen noch kein nachhaltiges Unternehmen. Sie macht aus einem technisch eingerichteten Raum aber häufig erst einen Ort, an dem Menschen gerne arbeiten. Das hat nichts mit Greenwashing zu tun, sondern schlicht mit Atmosphäre und Stil.', + ], + ], + ], + [ + 'title' => 'Nachhaltigkeit, die länger als bis zum nächsten Umzug hält', + 'paragraphs' => [ + 'Nachhaltigkeit beginnt bei der Lebensdauer eines Möbelstücks. Viele Febrü-Möbel sind modular aufgebaut, sodass Komponenten ausgetauscht oder ergänzt werden können, statt bei veränderten Anforderungen das gesamte Möbelstück zu ersetzen.', + ], + 'detail' => [ + 'title' => 'Konkrete Standards statt allgemeiner Versprechen', + 'paragraphs' => [ + 'Febrü produziert mit hoher Fertigungstiefe direkt in Herford. Das sorgt für kurze Wege und kontrollierte Prozesse. Mit laserTEC entstehen hochwertige, fugenlose Kanten ohne zusätzlichen Klebstoff.', + 'Febrü arbeitet nach ISO 9001 und ISO 14001 und verfügt über einen PEFC-Produktkettennachweis.', + 'Ausgewählte Febrü-Tischsysteme und Stauraummöbel tragen den Blauen Engel. Die Aussage bezieht sich ausdrücklich auf die offiziell gelisteten Produktgruppen und nicht pauschal auf das gesamte Sortiment.', + ], + ], + 'claim' => 'Nachhaltig ist nicht das Möbelstück mit dem längsten Werbetext. Nachhaltig ist das Möbelstück, das viele Jahre funktioniert und veränderte Anforderungen mitmacht.', + ], + [ + 'title' => 'Warum Febrü bei uns?', + 'paragraphs' => [ + 'Bei uns beginnt eine Planung nicht mit einem Möbelkatalog, sondern mit den Menschen und der Frage, wie tatsächlich gearbeitet wird. Wo ist Konzentration gefragt? Wo entstehen Gespräche? Welche Bereiche benötigen Diskretion? Und wie viel Stauraum wird wirklich gebraucht?', + 'Wir verbinden Ergonomie, Laufwege, Akustik, Stauraum, Beleuchtung, Kommunikation und Rückzug zu einem Gesamtkonzept. Es geht nicht darum, möglichst viele Möbel in einen Raum zu stellen. Es geht darum, eine bessere Arbeitswelt zu schaffen.', + ], + 'detail' => [ + 'title' => 'Im Homeoffice stellen sich andere Fragen', + 'paragraphs' => [ + 'Wie sichtbar darf der Arbeitsplatz sein? Wo verschwinden Technik und Unterlagen nach Feierabend? Und wie lässt sich professionelles Arbeiten so in die vorhandene Einrichtung integrieren, dass das Zuhause ein Zuhause bleibt?', + 'Auch hier gilt: Ein einzelner Arbeitsplatz ist keine kleinere Aufgabe. Er braucht nur eine andere Antwort als ein vollständiger Bürotrakt.', + ], + ], + ], + [ + 'title' => 'Erleben statt nur aus dem Katalog auswählen', + 'paragraphs' => [ + 'Durch die Nähe zwischen Bielefeld und Herford können Febrü-Produkte nach Abstimmung persönlich erlebt werden. Wir organisieren und begleiten den Besuch der Ausstellung – für einen Schreibtisch genauso wie für einen vollständigen Unternehmensstandort.', + 'Dort lassen sich Materialien anfassen, Stühle und Tische ausprobieren, Akustiklösungen erleben und unterschiedliche Arbeitswelten vergleichen. Sie müssen sich nicht allein auf ein Verkaufsgespräch verlassen.', + ], + 'claim' => 'Ob im Kleinen oder im Großen – die Detailtreue entscheidet.', + ], + ], + ], + ]; + } +} diff --git a/dev/2026-08-28/deploy/dateiliste.txt b/dev/2026-08-28/deploy/dateiliste.txt index e586c67c..44429b4c 100644 --- a/dev/2026-08-28/deploy/dateiliste.txt +++ b/dev/2026-08-28/deploy/dateiliste.txt @@ -1,30 +1,80 @@ .env.example +.gitignore app/Helpers/ThemeHelper.php +app/Http/Controllers/DisplayEmbedController.php app/Livewire/Admin/Cms/CabinetInfoTablet.php +app/Livewire/Web/Components/Sections/AudienceSwitch.php +app/Livewire/Web/Components/Sections/BrandDetail.php +app/Livewire/Web/Components/Sections/BrandOverview.php +app/Livewire/Web/Components/Sections/CoreBrands.php +app/Livewire/Web/Components/Sections/DisplayFeed.php +app/Livewire/Web/Components/Sections/ImmobilienTeaser.php app/Livewire/Web/Components/Sections/MagazinDetail.php app/Livewire/Web/Components/Sections/MagazinList.php +app/Livewire/Web/Components/Sections/MarkenCta.php +app/Livewire/Web/Components/Sections/MarkenGrowth.php +app/Livewire/Web/Components/Sections/MarkenNetwork.php +app/Livewire/Web/Components/Sections/PageHero.php +app/Livewire/Web/Components/Sections/ReferenceProjects.php +app/Livewire/Web/Components/Sections/Sponsoring.php app/Livewire/Web/Components/UI/AnnouncementBar.php +app/Livewire/Web/Components/UI/AppointmentWidget.php app/Livewire/Web/Components/UI/Footer.php app/Models/CmsArticle.php +app/Models/CmsBrand.php app/Providers/ThemeServiceProvider.php app/Support/DisplayModuleSettings.php app/helpers.php config/app.php config/cms_section_map.php +config/seeding.php +database/factories/CmsBrandFactory.php +database/migrations/2026_08_28_110407_create_cms_brands_table.php +database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php +database/migrations/2026_09_03_084254_add_page_sections_to_cms_brands_table.php +database/seeders/BrandPageTextSeeder.php database/seeders/CmsArticleSeeder.php +database/seeders/CmsBrandSeeder.php database/seeders/CmsContentSeeder.php database/seeders/DatabaseSeeder.php +database/seeders/DemoBrandGallerySeeder.php +database/seeders/DisplayInteriorBrandingSeeder.php +database/seeders/DisplayMediaUrlNormalizerSeeder.php +database/seeders/InteriorRelaunchCmsSeeder.php +public/_cabinet/assets/b2in-interior-logo-negative.svg +public/_cabinet/assets/b2in-interior-logo-positive.svg public/_cabinet/display/index.html +public/img/assets/sponsoring/arminia-bielefeld.png +public/img/assets/sponsoring/tc-bad-waldliesborn-horn.jpg +public/img/assets/sponsoring/tc-hoevelhof.png +public/img/logos/b2in-interior-logo-negative.png +public/img/logos/b2in-interior-logo-negative.svg +public/img/logos/b2in-interior-logo-positive.png +public/img/logos/b2in-interior-logo-positive.svg resources/lang/de/b2in.php resources/lang/de/ui.php resources/lang/en/b2in.php resources/lang/en/ui.php +resources/views/livewire/admin/cms/brands-index.blade.php resources/views/livewire/admin/cms/cabinet-info-tablet.blade.php resources/views/livewire/admin/cms/content-index.blade.php resources/views/livewire/admin/cms/dashboard.blade.php resources/views/livewire/admin/cms/projects-index.blade.php +resources/views/livewire/web/components/sections/audience-switch.blade.php +resources/views/livewire/web/components/sections/brand-detail.blade.php +resources/views/livewire/web/components/sections/brand-overview.blade.php +resources/views/livewire/web/components/sections/core-brands.blade.php +resources/views/livewire/web/components/sections/display-feed.blade.php +resources/views/livewire/web/components/sections/immobilien-teaser.blade.php resources/views/livewire/web/components/sections/magazin-list.blade.php +resources/views/livewire/web/components/sections/marken-cta.blade.php +resources/views/livewire/web/components/sections/marken-growth.blade.php +resources/views/livewire/web/components/sections/marken-network.blade.php +resources/views/livewire/web/components/sections/page-hero.blade.php +resources/views/livewire/web/components/sections/reference-projects.blade.php +resources/views/livewire/web/components/sections/sponsoring.blade.php resources/views/livewire/web/components/ui/announcement-bar.blade.php +resources/views/livewire/web/components/ui/appointment-widget.blade.php resources/views/livewire/web/components/ui/footer.blade.php resources/views/livewire/web/components/ui/header.blade.php resources/views/vendor/mail/html/header.blade.php @@ -37,77 +87,33 @@ resources/views/web/impressum.blade.php resources/views/web/layouts/web-master.blade.php resources/views/web/magazin-detail.blade.php resources/views/web/magazin.blade.php +resources/views/web/marken-show.blade.php +resources/views/web/marken.blade.php resources/views/web/netzwerk.blade.php resources/views/web/privacy.blade.php +resources/views/web/referenzen.blade.php resources/views/web/terms.blade.php routes/admin.php routes/web.php +tests/Feature/Admin/Cms/CmsBrandsIndexTest.php tests/Feature/AnnouncementBarTest.php +tests/Feature/AppointmentWidgetTest.php +tests/Feature/BrandPageSectionsTest.php +tests/Feature/BrandPageTest.php tests/Feature/CabinetInfoTabletTest.php tests/Feature/Cms/CmsArticleTest.php -tests/Feature/Cms/CmsContentSeederTest.php -tests/Feature/DisplayVersionApiTest.php -tests/Feature/DisplayVersionTest.php -tests/Feature/InteriorPageTest.php -tests/Feature/LiveSiteReviewTest.php -tests/Feature/MagazinPageTest.php -app/Http/Controllers/DisplayEmbedController.php -app/Livewire/Web/Components/Sections/AudienceSwitch.php -app/Livewire/Web/Components/Sections/BrandDetail.php -app/Livewire/Web/Components/Sections/BrandOverview.php -app/Livewire/Web/Components/Sections/CoreBrands.php -app/Livewire/Web/Components/Sections/DisplayFeed.php -app/Livewire/Web/Components/Sections/ImmobilienTeaser.php -app/Livewire/Web/Components/Sections/MarkenCta.php -app/Livewire/Web/Components/Sections/MarkenGrowth.php -app/Livewire/Web/Components/Sections/MarkenNetwork.php -app/Livewire/Web/Components/Sections/PageHero.php -app/Livewire/Web/Components/Sections/ReferenceProjects.php -app/Livewire/Web/Components/Sections/Sponsoring.php -app/Livewire/Web/Components/Ui/AppointmentWidget.php -app/Models/CmsBrand.php -config/seeding.php -database/factories/CmsBrandFactory.php -database/migrations/2026_08_28_110407_create_cms_brands_table.php -database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php -database/seeders/CmsBrandSeeder.php -database/seeders/DemoBrandGallerySeeder.php -database/seeders/DisplayInteriorBrandingSeeder.php -database/seeders/DisplayMediaUrlNormalizerSeeder.php -database/seeders/InteriorRelaunchCmsSeeder.php -public/_cabinet/assets/b2in-interior-logo-negative.svg -public/_cabinet/assets/b2in-interior-logo-positive.svg -public/img/assets/sponsoring/ -public/img/logos/b2in-interior-logo-negative.png -public/img/logos/b2in-interior-logo-negative.svg -public/img/logos/b2in-interior-logo-positive.png -public/img/logos/b2in-interior-logo-positive.svg -resources/views/livewire/admin/cms/brands-index.blade.php -resources/views/livewire/web/components/sections/audience-switch.blade.php -resources/views/livewire/web/components/sections/brand-detail.blade.php -resources/views/livewire/web/components/sections/brand-overview.blade.php -resources/views/livewire/web/components/sections/core-brands.blade.php -resources/views/livewire/web/components/sections/display-feed.blade.php -resources/views/livewire/web/components/sections/immobilien-teaser.blade.php -resources/views/livewire/web/components/sections/marken-cta.blade.php -resources/views/livewire/web/components/sections/marken-growth.blade.php -resources/views/livewire/web/components/sections/marken-network.blade.php -resources/views/livewire/web/components/sections/page-hero.blade.php -resources/views/livewire/web/components/sections/reference-projects.blade.php -resources/views/livewire/web/components/sections/sponsoring.blade.php -resources/views/livewire/web/components/ui/appointment-widget.blade.php -resources/views/web/marken-show.blade.php -resources/views/web/marken.blade.php -resources/views/web/referenzen.blade.php -tests/Feature/Admin/Cms/CmsBrandsIndexTest.php -tests/Feature/AppointmentWidgetTest.php -tests/Feature/BrandPageTest.php tests/Feature/Cms/CmsBrandTest.php +tests/Feature/Cms/CmsContentSeederTest.php tests/Feature/DisplayInteriorBrandingTest.php tests/Feature/DisplayMediaUrlNormalizerTest.php +tests/Feature/DisplayVersionApiTest.php +tests/Feature/DisplayVersionTest.php tests/Feature/DisplayWebFeedTest.php tests/Feature/FooterTest.php tests/Feature/HomePageStructureTest.php +tests/Feature/InteriorPageTest.php +tests/Feature/LiveSiteReviewTest.php +tests/Feature/MagazinPageTest.php tests/Feature/MarkenPageTest.php tests/Feature/PreviewHostTest.php tests/Feature/ReferenzenPageTest.php diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md index 200fb4c6..6eaf95a1 100644 --- a/dev/2026-08-28/entwicklungsplan.md +++ b/dev/2026-08-28/entwicklungsplan.md @@ -4,8 +4,8 @@ **Basis:** `B2in_Interior-Konzept.md`, `umsetzungliste.md`, `umsetzung-inhalte.md` **Vorgänger:** `dev/2026-02-27/b2in-website-umsetzungsplan.md` **Rahmen:** 37–39 Std. freigegeben (18 + 8 + 4 + 3 + 4–6) -**Status:** Revision 12 – Befunde abgearbeitet, **AP0–AP6 umgesetzt**. Testbereit; offen sind nur -noch Zulieferungen und die Rechtstexte. +**Status:** Revision 13 – **AP0–AP6 umgesetzt**, Seite abgestimmt, Markentexte Rotpunkt und Febrü +eingearbeitet. Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. **Umgebung:** Dev Container, `php artisan …` (nicht `vendor/bin/sail …`) > **Verbindliche Schreibweisen:** **Interior** (nicht „Interieur"), **Febrü**, **Rotpunkt Küchen**, **CABINET**. @@ -16,9 +16,10 @@ noch Zulieferungen und die Rechtstexte. ## 0. Stand & nächste Schritte -**Stand 28.08.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die -Bestandsinhalte auf den Interior-Auftritt umgestellt. `php artisan test --compact`: **826 grün** -(3072 Assertions), Pint sauber, `npm run build:b2in` gebaut. +**Stand 03.09.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die +Bestandsinhalte auf den Interior-Auftritt umgestellt, die Seite abgestimmt und die Markentexte für +Rotpunkt und Febrü eingearbeitet. `php artisan test --compact`: **854 grün** (3150 Assertions), +Pint sauber, `npm run build:b2in` gebaut. **Die Seite ist testbereit** – die ausstehenden Zulieferungen trägt Marcel selbst im CMS nach. | Paket | Stand | @@ -29,6 +30,7 @@ Bestandsinhalte auf den Interior-Auftritt umgestellt. `php artisan test --compac | AP3 Terminanfrage-Widget + WhatsApp-Link | ✅ (Nummer fehlt noch) | | AP6 Sponsoring | ✅ | | Bestandsinhalte FAQ / About / Kontakt / Magazin | ✅ | +| Markenseiten Rotpunkt und Febrü (Zulieferung 31.08.) | ✅ | | AP4 Display-Spiegelung | ✅ | | AP5 Rubrik-Seite „Referenzen" | ✅ | @@ -725,6 +727,81 @@ Dubai-Beiträge bleiben inhaltlich unverändert stehen. --- +### Nachtrag 4 · Markenseiten Rotpunkt und Febrü aus der Zulieferung ✅ + +**Grundlage:** `Rotpunkt_Kuechen_Webseitentext_B2in_FINAL.pdf` und +`Februe_Webseitentext_B2in_FINAL.pdf` (Stand 31.08.2026, im selben Ordner). Beide enthalten neben +dem Seitentext einen Abschnitt „UMSETZUNGSHINWEIS FÜR KEVIN – WEBSTRUKTUR UND CTA“. + +> Die als Aufgabenliste angekündigte Datei `umsetzung-03-09-2026.md` war leer (0 Byte). Umgesetzt +> ist deshalb das, was in den beiden PDFs steht. + +**Was die Zulieferung verlangt:** + +1. Der normale Seitentext bleibt direkt sichtbar. +2. Die mit „AUFKLAPPBARER DETAILBEREICH“ gekennzeichneten Vertiefungen werden aufklappbar. +3. **Kein zweiter CTA-Button.** Stattdessen bekommt das vorhandene schwebende + Terminanfrage-Widget auf der jeweiligen Markenseite eine kontextbezogene Beschriftung. +4. Das Widget bleibt beim Scrollen sichtbar und darf auf dem Smartphone nichts verdecken. +5. Die internen Quellenhinweise am Ende der PDFs werden **nicht** veröffentlicht. + +#### Umsetzung + +**Datenstruktur.** `description` (Einleitung) und `services` (Kacheln) reichten für diese Texte +nicht aus. Neu in `cms_brands`: + +| Feld | Inhalt | +|---|---| +| `sections` | Abschnitte der Seite: Titel, Absätze, optional Schlusszeile, Zitat und Vertiefung | +| `widget_label` | Beschriftung des Terminanfrage-Widgets auf dieser Markenseite | +| `cta_title` / `cta_text` | Abschlussblock der Seite | + +`sections` ist – wie `services`, `highlights` und `gallery` – bewusst **nicht** übersetzbar; die +Texte liegen nur auf Deutsch vor. Die drei Textfelder folgen den übrigen Textfeldern und sind +übersetzbar. `CmsBrand::normalizeSections()` bringt jeden Eintrag in eine feste Form und nimmt +Absätze wahlweise als Liste oder als Textblock entgegen (Leerzeile trennt) – dadurch lässt sich im +Admin einfach in ein Textfeld schreiben. + +**Darstellung.** Die Abschnitte stehen zwischen Einleitung und Leistungen. Vertiefungen sind +aufklappbar, mit `aria-expanded` und `aria-controls`. Bewusst `x-transition` statt `x-collapse`: +Das Collapse-Plugin ist in diesem Projekt nicht registriert, die Bewegung entspricht jetzt dem +FAQ-Akkordeon. Zitate stehen abgesetzt mit Nennung des Sprechers, Schlusszeilen hervorgehoben. + +**Widget-Beschriftung.** Das Widget steckt im Layout, nicht in der Seite – es liest den Kontext +deshalb aus der Route: Auf `marken.show` greift `widget_label` der Marke, sonst die allgemeine +Beschriftung. Ein Test prüft gegen, dass dabei **kein zweiter Button** entsteht. + +**Platz auf dem Smartphone.** Der Footer bekommt unten zusätzlichen Abstand (`pb-28 sm:pb-16`), +und der Button bricht lange Beschriftungen um, statt über den Bildschirmrand zu laufen – „Persönliche +Arbeitsplatzberatung vereinbaren“ ist deutlich länger als das vorherige „Termin anfragen“. + +**Pflegbarkeit.** Die Abschnitte sind vollständig im Admin pflegbar: hinzufügen, löschen, per Pfeil +sortieren, je Abschnitt Überschrift, Text, Schlusszeile, Zitat und Vertiefung. Dazu die drei neuen +Felder für Abschluss und Widget-Beschriftung. + +**Einspielen.** `BrandPageTextSeeder` schreibt die Texte. Er fasst **nur** `tagline`, +`description`, `sections`, `widget_label`, `cta_title` und `cta_text` an – Bilder, Galerie, +Leistungen und Reihenfolge bleiben unangetastet. Ein Test prüft genau das. + +**Nebenbei korrigiert:** Febrüs Claim hieß „Arbeiten, wo man gerne ist.“, die Zulieferung schreibt +„Arbeiten, wo man gerne **bleibt**.“ + +**Tests:** `BrandPageSectionsTest` (17 Fälle: Abschnitte beider Marken, Anzahl der aufklappbaren +Bereiche, Zitat, Schlusszeilen, keine Quellenhinweise im Ausgabe-HTML, markenspezifischer +Abschlussblock mit Rückfall auf den allgemeinen, Widget-Beschriftung je Marke, kein zweiter Button, +Normalisierung, Redaktionsschutz des Seeders) und vier neue Fälle in `Admin/Cms/CmsBrandsIndexTest`. + +> ⚠️ **Vor der Veröffentlichung freigeben lassen.** Die PDFs halten fest: Aussagen nur im belegten +> Umfang veröffentlichen, Herstellerfreigabe einholen, und die Rotpunkt-Aussage zur jährlich +> erhaltenen **Waldfläche von ungefähr 50 Fußballfeldern** nur mit ausdrücklicher Bestätigung +> verwenden. Sie steht als eigener Absatz in der Vertiefung „Zahlen, Zertifizierungen und +> Raumklima“ und lässt sich dort einzeln entfernen. Als Punkt in Abschnitt 8 aufgenommen. + +**Offen:** CABINET hat noch keinen ausführlichen Seitentext – die Seite läuft weiter über +Einleitung und Leistungskacheln. Bilder fehlen weiterhin für alle drei Marken. + +--- + ### AP4 · Display-Spiegelung auf der Website — ✅ umgesetzt **Korrektur gegenüber Revision 1:** Revision 1 empfahl, die Slides nativ zu rendern. Bei 3 Std. @@ -973,6 +1050,12 @@ genügt ein selektives Zurückspielen von `flux_cms_contents`, `display_versions - [ ] Prüfen, welches Display auf der Website laufen soll (`referenzen.display_feed.display_id`). Ohne Eintrag zeigt die Seite das erste aktive Display mit veröffentlichter Playlist. - [ ] Die zwei neuen Magazin-Beiträge von Marcel gegenlesen lassen – sie sind Platzhalter. +- [ ] **Herstellerfreigabe für die Markentexte** (Rotpunkt, Febrü) einholen – so verlangt es die + Zulieferung selbst. +- [ ] **Rotpunkt, Vertiefung „Zahlen, Zertifizierungen und Raumklima“:** Die Aussage zur jährlich + erhaltenen Waldfläche von ungefähr 50 Fußballfeldern darf laut Zulieferung nur mit + ausdrücklicher Bestätigung veröffentlicht werden. Ohne Bestätigung den Absatz entfernen + (Admin: Kernmarken → Rotpunkt → Abschnitte → Vertiefung). - [ ] OG-Bild anlegen: das Layout verweist auf `img/assets/b2in-og-default.jpg`, die Datei existiert nicht. Bis dahin zeigt jede geteilte Seite eine Vorschau ohne Bild. - [ ] Sponsoring-Logo `tc-bad-waldliesborn-horn` liegt nur als JPG vor, also ohne transparenten diff --git a/dev/2026-08-28/preview-deployment.md b/dev/2026-08-28/preview-deployment.md index 737c334b..705fea8e 100644 --- a/dev/2026-08-28/preview-deployment.md +++ b/dev/2026-08-28/preview-deployment.md @@ -179,6 +179,9 @@ php artisan db:seed --class=InteriorRelaunchCmsSeeder --force # Magazin: die zwei neuen Beiträge plus Reihenfolge php artisan db:seed --class=CmsArticleSeeder --force +# Markenseiten Rotpunkt und Febrü (Zulieferung 31.08.) – nur Textfelder, Bilder bleiben +php artisan db:seed --class=BrandPageTextSeeder --force + # Display-Branding auf das Interior-Logo php artisan db:seed --class=DisplayInteriorBrandingSeeder --force @@ -247,6 +250,8 @@ auth_basic_user_file /etc/nginx/.htpasswd-preview; | `/` | Hero → Marken-Teaser → Vision → Sponsoring → Showroom-Display → Immobilien → CTA | | `/marken` | Grauer Seitenkopf mit Bild, drei gerahmte Markenblöcke | | `/marken/cabinet` | Detailseite, Galerie mit den zwei Rubriken (falls Demo-Seeder lief) | +| `/marken/rotpunkt` | Neun Abschnitte, vier davon mit aufklappbarer Vertiefung; Button unten rechts heißt „Persönliche Küchenberatung vereinbaren" | +| `/marken/februe` | Elf Abschnitte, Zitat von Marcel; Button heißt „Persönliche Arbeitsplatzberatung vereinbaren" | | `/referenzen` | Realisierte Projekte, darunter das Showroom-Display im Hochformat | | `/magazin` | Die zwei Interior-Beiträge stehen oben | | `/faq` | Rubriken „Für Ihr Zuhause" und „Für Projekte und Objekte" | diff --git a/resources/views/livewire/admin/cms/brands-index.blade.php b/resources/views/livewire/admin/cms/brands-index.blade.php index e0ca34a4..07d0cba5 100644 --- a/resources/views/livewire/admin/cms/brands-index.blade.php +++ b/resources/views/livewire/admin/cms/brands-index.blade.php @@ -25,6 +25,10 @@ state([ 'logo' => '', 'image' => '', 'services' => [], + 'sections' => [], + 'widgetLabel' => '', + 'ctaTitle' => '', + 'ctaText' => '', 'gallery' => [], 'website_url' => '', 'showroom' => '', @@ -66,7 +70,8 @@ $brands = computed( $openCreate = function () { $this->editingId = null; - $this->reset(['slug', 'brandName', 'tagline', 'teaser', 'summary', 'description', 'logo', 'image', 'website_url', 'showroom']); + $this->reset(['slug', 'brandName', 'tagline', 'teaser', 'summary', 'description', 'logo', 'image', 'website_url', 'showroom', 'widgetLabel', 'ctaTitle', 'ctaText']); + $this->sections = []; $this->highlights = ['', '', '']; $this->services = [['title' => '', 'description' => '']]; $this->gallery = []; @@ -81,6 +86,9 @@ $loadLocaleFields = function (CmsBrand $brand, string $locale) { $this->teaser = $brand->getTranslation('teaser', $locale) ?? ''; $this->summary = $brand->getTranslation('summary', $locale) ?? ''; $this->description = CmsFluxEditorHtmlTransformer::toEditor((string) ($brand->getTranslation('description', $locale) ?? '')); + $this->widgetLabel = $brand->getTranslation('widget_label', $locale) ?? ''; + $this->ctaTitle = $brand->getTranslation('cta_title', $locale) ?? ''; + $this->ctaText = $brand->getTranslation('cta_text', $locale) ?? ''; }; $openEdit = function (int $id) { @@ -101,6 +109,18 @@ $openEdit = function (int $id) { $this->highlights = $brand->highlights ?: ['', '', '']; $this->services = $brand->services ?: [['title' => '', 'description' => '']]; $this->gallery = CmsBrand::normalizeGallery($brand->gallery); + // Absätze im Formular als Textblock: eine Leerzeile trennt sie. + $this->sections = collect(CmsBrand::normalizeSections($brand->sections)) + ->map(fn (array $s) => [ + 'title' => $s['title'], + 'paragraphs' => implode("\n\n", $s['paragraphs']), + 'claim' => $s['claim'], + 'quote' => $s['quote'], + 'quote_author' => $s['quote_author'], + 'detail_title' => $s['detail']['title'] ?? '', + 'detail_paragraphs' => implode("\n\n", $s['detail']['paragraphs'] ?? []), + ]) + ->all(); $this->loadLocaleFields($brand, $this->editLocale); $this->showForm = true; @@ -132,6 +152,26 @@ $removeService = function (int $index) { $this->services = array_values($this->services); }; +$addSection = fn () => $this->sections[] = [ + 'title' => '', 'paragraphs' => '', 'claim' => '', + 'quote' => '', 'quote_author' => '', 'detail_title' => '', 'detail_paragraphs' => '', +]; + +$removeSection = function (int $index) { + unset($this->sections[$index]); + $this->sections = array_values($this->sections); +}; + +$moveSection = function (int $index, int $direction) { + $target = $index + $direction; + + if (! isset($this->sections[$index], $this->sections[$target])) { + return; + } + + [$this->sections[$index], $this->sections[$target]] = [$this->sections[$target], $this->sections[$index]]; +}; + $addGalleryImage = function (string $category = CmsBrand::GALLERY_PROJECT) { $this->gallery[] = [ 'image' => '', @@ -211,6 +251,23 @@ $save = function () { $brand->gallery = CmsBrand::normalizeGallery($this->gallery); + $brand->setTranslation('widget_label', $this->editLocale, trim((string) $this->widgetLabel)); + $brand->setTranslation('cta_title', $this->editLocale, trim((string) $this->ctaTitle)); + $brand->setTranslation('cta_text', $this->editLocale, trim((string) $this->ctaText)); + + // normalizeSections() nimmt die Textblöcke entgegen und trennt sie an den Leerzeilen. + $brand->sections = CmsBrand::normalizeSections(collect($this->sections)->map(fn (array $s) => [ + 'title' => $s['title'] ?? '', + 'paragraphs' => $s['paragraphs'] ?? '', + 'claim' => $s['claim'] ?? '', + 'quote' => $s['quote'] ?? '', + 'quote_author' => $s['quote_author'] ?? '', + 'detail' => [ + 'title' => $s['detail_title'] ?? '', + 'paragraphs' => $s['detail_paragraphs'] ?? '', + ], + ])->all()); + $brand->is_published = $validated['is_published']; $brand->order = $validated['order']; $brand->save(); @@ -390,6 +447,80 @@ $cancelForm = function () {
+ {{-- Abschnitte der Markenseite --}} +
+
+ Abschnitte der Markenseite + Abschnitt hinzufügen +
+ +
+ Die Abschnitte erscheinen auf der Detailseite unter der Einleitung, in dieser Reihenfolge. + Eine Leerzeile trennt zwei Absätze. Die Vertiefung wird auf + der Seite als aufklappbarer Bereich dargestellt – leer lassen, wenn es keine gibt. +
+ + @if (empty($sections)) +

Noch keine Abschnitte.

+ @else +
+ @foreach ($sections as $i => $section) +
+
+ Abschnitt {{ $i + 1 }} +
+ + + +
+
+ + + + + + + +
+
+ +
+ +
+ +
+

Vertiefung – erscheint aufklappbar

+ + +
+
+ @endforeach +
+ @endif +
+ + {{-- Abschlussblock und Beschriftung des Terminanfrage-Widgets --}} +
+ Abschluss und Terminanfrage + + +

+ Steht auf dem schwebenden Button, solange man auf dieser Markenseite ist. Leer lassen für die + allgemeine Beschriftung. +

+ + + +
+ {{-- Galerie --}}
diff --git a/resources/views/livewire/web/components/sections/brand-detail.blade.php b/resources/views/livewire/web/components/sections/brand-detail.blade.php index 71cdebc6..a3a0339f 100644 --- a/resources/views/livewire/web/components/sections/brand-detail.blade.php +++ b/resources/views/livewire/web/components/sections/brand-detail.blade.php @@ -58,6 +58,71 @@ @endif + {{-- 2b. Abschnitte der Markenseite. Die als Vertiefung gelieferten Blöcke sind aufklappbar, + damit die Seite schnell erfassbar bleibt, ohne dass Inhalt verloren geht. --}} + @if (!empty($brand['sections'])) +
+
+ @foreach ($brand['sections'] as $index => $section) +
+ @if (!empty($section['title'])) +

{{ $section['title'] }}

+ @endif + + @foreach ($section['paragraphs'] as $i => $paragraph) +

{{ $paragraph }}

+ @endforeach + + @if (!empty($section['quote'])) +
+
„{{ $section['quote'] }}"
+ @if (!empty($section['quote_author'])) +
{{ $section['quote_author'] }}
+ @endif +
+ @endif + + @if (!empty($section['detail'])) +
+ + + {{-- x-transition statt x-collapse: das Collapse-Plugin ist in diesem + Projekt nicht registriert, dieselbe Bewegung wie im FAQ-Akkordeon. --}} +
+
+ @foreach ($section['detail']['paragraphs'] as $paragraph) +

{{ $paragraph }}

+ @endforeach +
+
+
+ @endif + + @if (!empty($section['claim'])) +

{{ $section['claim'] }}

+ @endif +
+ @endforeach +
+
+ @endif + {{-- 3. Leistungen --}} @if (!empty($brand['services']))
@@ -215,8 +280,12 @@ {{-- 5. CTA --}}
diff --git a/resources/views/livewire/web/components/ui/appointment-widget.blade.php b/resources/views/livewire/web/components/ui/appointment-widget.blade.php index ac2b35f7..9d5c965f 100644 --- a/resources/views/livewire/web/components/ui/appointment-widget.blade.php +++ b/resources/views/livewire/web/components/ui/appointment-widget.blade.php @@ -162,8 +162,9 @@
@endif - {{-- 5. CTA --}} -
-
-

+ {{-- 5. Abschluss. Der Block schliesst die Seite ab und traegt den Claim aus der Zulieferung – + deshalb weiche Lichtflaechen statt Volltonhintergrund und ein gesetzter Hauptbutton + statt eines Textlinks. --}} +
+ {{-- Rein dekorativ: zwei weiche Lichtpunkte nehmen der Flaeche die Haerte. --}} + + +
diff --git a/tests/Feature/BrandPageSectionsTest.php b/tests/Feature/BrandPageSectionsTest.php index 7c0c5114..8a6de44b 100644 --- a/tests/Feature/BrandPageSectionsTest.php +++ b/tests/Feature/BrandPageSectionsTest.php @@ -27,6 +27,15 @@ it('renders the delivered sections on the rotpunkt page', function () { ->assertSee('Küchenstudio plus Handwerk', false); }); +it('renders the cabinet sections written to the same pattern', function () { + $this->get('/marken/cabinet') + ->assertSuccessful() + ->assertSee('Millimeter statt Standardmaß', false) + ->assertSee('Aufmaß vor Ort statt Schätzung am Telefon', false) + ->assertSee('Warum CABINET bei uns?') + ->assertSee('Ihr Raum. Persönlich geplant.', false); +}); + it('renders the delivered sections on the februe page', function () { $this->get('/marken/februe') ->assertSuccessful() @@ -44,6 +53,21 @@ it('turns every marked deepening into a collapsible area', function () { ->and($html)->toContain('NEW DIMENSIONS'); }); +it('merges the two sustainability sections as the corrected version requires', function () { + $html = $this->get('/marken/rotpunkt')->assertSuccessful()->getContent(); + + expect($html)->not->toContain('Greenline hält dem Vergleich stand') + ->and($html)->toContain('ohne Verkaufsnebel') + // Der doppelte Satz steht nur noch einmal auf der Seite. + ->and(substr_count($html, 'Nachhaltigkeit braucht keine großen Versprechen'))->toBe(1); +}); + +it('keeps the blauer engel claim tied to the listed product groups', function () { + $this->get('/marken/februe') + ->assertSuccessful() + ->assertSee('Ausgewählte Febrü-Tischsysteme und Stauraummöbel tragen den Blauen Engel.', false); +}); + it('shows the pull quote from marcel on the februe page', function () { $this->get('/marken/februe') ->assertSuccessful() @@ -81,6 +105,9 @@ it('uses the brand specific closing block instead of the generic one', function }); it('falls back to the generic closing block for a brand without one', function () { + // Beide Sprachen leeren: bei nur geleertem Deutsch greift die Uebersetzungs-Fallbackkette. + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update(['cta_title' => [], 'cta_text' => []]); + $this->get('/marken/cabinet') ->assertSuccessful() ->assertSee('Interesse an CABINET?'); @@ -97,6 +124,7 @@ it('labels the widget for the brand of the page', function (string $slug, string })->with([ 'rotpunkt' => ['rotpunkt', 'Persönliche Küchenberatung vereinbaren'], 'februe' => ['februe', 'Persönliche Arbeitsplatzberatung vereinbaren'], + 'cabinet' => ['cabinet', 'Persönliche Schrankplanung vereinbaren'], ]); it('keeps the general label outside the brand pages', function () { diff --git a/tests/Feature/BrandPageTest.php b/tests/Feature/BrandPageTest.php index 089615f5..fd464b24 100644 --- a/tests/Feature/BrandPageTest.php +++ b/tests/Feature/BrandPageTest.php @@ -164,7 +164,7 @@ it('marks an image without a category as visualisation, never as a completed pro ->assertDontSee('Realisiertes Projekt'); }); -it('spells out that inspirations are not completed projects', function () { +it('still separates inspirations from completed projects after the rewording', function () { CmsBrand::where('slug', 'cabinet')->firstOrFail()->update([ 'gallery' => [ ['image' => 'entwurf.webp', 'category' => 'inspiration'], @@ -173,10 +173,12 @@ it('spells out that inspirations are not completed projects', function () { $this->get('/marken/cabinet') ->assertSuccessful() - ->assertSee('keine ausgeführten Projekte', false); + ->assertSee('Entwürfe und Visualisierungen', false) + ->assertSee('Visualisierung') + ->assertDontSee('Realisiertes Projekt'); }); -it('fills the demo galleries with both categories, all marked as examples', function () { +it('fills the demo galleries with both categories', function () { $this->seed(\Database\Seeders\DemoBrandGallerySeeder::class); $grouped = CmsBrand::groupGallery(CmsBrand::where('slug', 'cabinet')->firstOrFail()->gallery); @@ -184,10 +186,31 @@ it('fills the demo galleries with both categories, all marked as examples', func expect($grouped['projects'])->not->toBeEmpty() ->and($grouped['inspirations'])->not->toBeEmpty(); - // Kein Demobild darf sich unbemerkt als echte Referenz ausgeben. + // Der Vermerk „BEISPIEL“ ist auf Kundenwunsch entfallen. Die Unterscheidung muss deshalb + // an der Kategorie haengen – jedes Demobild braucht eine ausdrueckliche. foreach (CmsBrand::all() as $brand) { foreach ($brand->gallery ?? [] as $item) { - expect($item['caption'])->toStartWith('BEISPIEL'); + expect($item['caption'])->not->toContain('BEISPIEL') + ->and($item['category'])->toBeIn(CmsBrand::GALLERY_CATEGORIES); } } }); + +it('strips the old example prefix without touching image, category or order', function () { + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update([ + 'gallery' => [ + ['image' => 'a.webp', 'category' => 'project', 'caption' => 'BEISPIEL – Ankleide, Bielefeld'], + ['image' => 'b.webp', 'category' => 'inspiration', 'caption' => 'Entwurf Garderobe'], + ], + ]); + + $this->seed(\Database\Seeders\BrandGalleryCaptionNormalizerSeeder::class); + + $gallery = CmsBrand::where('slug', 'cabinet')->firstOrFail()->gallery; + + expect($gallery)->toHaveCount(2) + ->and($gallery[0]['caption'])->toBe('Ankleide, Bielefeld') + ->and($gallery[0]['image'])->toBe('a.webp') + ->and($gallery[0]['category'])->toBe('project') + ->and($gallery[1]['caption'])->toBe('Entwurf Garderobe'); +}); From f971f416dbd487ca40dd5e6c93009eb1cd8c2032 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 3 Sep 2026 10:00:39 +0000 Subject: [PATCH 04/22] Akkordeons weicher aufklappen, starken Hover entfernen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Klappelemente sprangen auf und zu: x-show gibt dem Element sofort die volle Hoehe und blendet nur den Inhalt ein. Ersetzt durch eine Animation von grid-template-rows 0fr → 1fr ueber 500 ms mit cubic-bezier(0.33, 1, 0.68, 1), die die tatsaechliche Hoehe bewegt – ohne das Alpine-Collapse-Plugin, das in diesem Projekt nicht registriert ist. - Der zugeklappte Zustand steht auch statisch im class-Attribut, damit vor dem Start von Alpine nichts aufgeklappt aufblitzt. - aria-hidden haengt am Zustand, weil der Inhalt jetzt dauerhaft im DOM steht. - Hover: die Flaechenaufhellung (hover:bg-muted/30) ist raus, geblieben ist ein feiner Farbwechsel der Ueberschrift. Im FAQ entfaellt zusaetzlich der Hintergrundwechsel am Icon-Kreis. - Der Pfeil dreht in derselben Dauer und Kurve wie das Aufklappen. Betrifft beide Akkordeons – die Vertiefungen der Markenseiten und das FAQ. Tests: 861 gruen (3189 Assertions), Pint sauber, npm run build:b2in gebaut. Co-Authored-By: Claude Opus 5 --- dev/2026-08-28/deploy/dateiliste.txt | 1 + dev/2026-08-28/entwicklungsplan.md | 29 ++++++- .../sections/brand-detail.blade.php | 37 +++++---- .../web/components/sections/f-a-q.blade.php | 82 +++++++++++-------- tests/Feature/BrandPageSectionsTest.php | 20 +++++ 5 files changed, 115 insertions(+), 54 deletions(-) diff --git a/dev/2026-08-28/deploy/dateiliste.txt b/dev/2026-08-28/deploy/dateiliste.txt index 30253488..b69f787f 100644 --- a/dev/2026-08-28/deploy/dateiliste.txt +++ b/dev/2026-08-28/deploy/dateiliste.txt @@ -66,6 +66,7 @@ resources/views/livewire/web/components/sections/brand-detail.blade.php resources/views/livewire/web/components/sections/brand-overview.blade.php resources/views/livewire/web/components/sections/core-brands.blade.php resources/views/livewire/web/components/sections/display-feed.blade.php +resources/views/livewire/web/components/sections/f-a-q.blade.php resources/views/livewire/web/components/sections/immobilien-teaser.blade.php resources/views/livewire/web/components/sections/magazin-list.blade.php resources/views/livewire/web/components/sections/marken-cta.blade.php diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md index 66567b90..4b7037fd 100644 --- a/dev/2026-08-28/entwicklungsplan.md +++ b/dev/2026-08-28/entwicklungsplan.md @@ -19,7 +19,7 @@ eingearbeitet. Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. **Stand 03.09.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die Bestandsinhalte auf den Interior-Auftritt umgestellt, die Seite abgestimmt und alle vier Punkte der Abstimmungsrunde vom 03.09. umgesetzt (Nachtrag 5). Alle drei Markenseiten haben jetzt einen -ausführlichen Text. `php artisan test --compact`: **859 grün** (3180 Assertions), Pint sauber, +ausführlichen Text. `php artisan test --compact`: **861 grün** (3189 Assertions), Pint sauber, `npm run build:b2in` gebaut. **Die Seite ist testbereit** – die ausstehenden Zulieferungen trägt Marcel selbst im CMS nach. @@ -986,6 +986,28 @@ Textlink. Neu: Die Textinhalte kommen unverändert aus dem CMS (`cta_title` / `cta_text`) – Punkt 4 der Liste war inhaltlich bereits durch die neuen Texte erledigt („Ihre Küche. Persönlich geplant."). +#### 5 · Akkordeons weicher (Nachreichung aus derselben Runde) + +Rückmeldung: Die Klappelemente springen zu schnell auf und zu, der Hover-Effekt ist zu stark. + +Ursache war `x-show` mit einer Opacity-Bewegung: Das Element nimmt sofort seine volle Höhe ein +und blendet nur den Inhalt ein – es sieht aus wie ein Sprung. Ersetzt durch eine Animation von +`grid-template-rows: 0fr → 1fr` über 500 ms mit `cubic-bezier(0.33, 1, 0.68, 1)`, die die +tatsächliche Höhe bewegt. Das Alpine-Collapse-Plugin ist in diesem Projekt nicht registriert; +diese Lösung kommt ohne neue Abhängigkeit aus. + +- Der zugeklappte Zustand steht **auch statisch im `class`-Attribut**, damit vor dem Start von + Alpine nichts aufgeklappt aufblitzt. Die Objekt-Schreibweise von `x-bind:class` entfernt ihn + beim Öffnen wieder. +- `aria-hidden` hängt am Zustand, weil der Inhalt jetzt dauerhaft im DOM steht. +- **Hover:** Die Flächenaufhellung (`hover:bg-muted/30`) ist raus. Geblieben ist ein feiner + Farbwechsel der Überschrift auf die Sekundärfarbe. Im FAQ entfällt zusätzlich der + Hintergrundwechsel am Icon-Kreis. +- Der Pfeil dreht in derselben Dauer und Kurve wie das Aufklappen, damit beides zusammenläuft. + +Betrifft **beide** Akkordeons – die Vertiefungen auf den Markenseiten und das FAQ; sie hatten +dasselbe Verhalten. + #### Tests `BrandPageSectionsTest` und `BrandPageTest` erweitert: @@ -1000,8 +1022,11 @@ inhaltlich bereits durch die neuen Texte erledigt („Ihre Küche. Persönlich g erscheint auf der deutschen Seite. - Demogalerien tragen keinen „BEISPIEL"-Vermerk mehr, dafür durchgehend eine Kategorie. - Der Normalizer entfernt den Vermerk, ohne Bild, Kategorie oder Reihenfolge zu verändern. +- Jede Vertiefung rendert zugeklappt und mit der Höhen-Animation; die alte Sprung-Bewegung ist + weg. +- Weder Markenseite noch FAQ verwenden noch den Flächen-Hover. -`php artisan test --compact`: **859 grün** (3180 Assertions), Pint sauber, `npm run build:b2in` +`php artisan test --compact`: **861 grün** (3189 Assertions), Pint sauber, `npm run build:b2in` gebaut. --- diff --git a/resources/views/livewire/web/components/sections/brand-detail.blade.php b/resources/views/livewire/web/components/sections/brand-detail.blade.php index da484244..46f440fe 100644 --- a/resources/views/livewire/web/components/sections/brand-detail.blade.php +++ b/resources/views/livewire/web/components/sections/brand-detail.blade.php @@ -88,27 +88,32 @@ - {{-- x-transition statt x-collapse: das Collapse-Plugin ist in diesem - Projekt nicht registriert, dieselbe Bewegung wie im FAQ-Akkordeon. --}} -
-
- @foreach ($section['detail']['paragraphs'] as $paragraph) -

{{ $paragraph }}

- @endforeach + {{-- Weiches Auf- und Zuklappen ueber grid-template-rows (0fr → 1fr): + das animiert die tatsaechliche Hoehe, waehrend x-show den Inhalt + schlagartig einblendet. Das Alpine-Collapse-Plugin ist in diesem + Projekt nicht registriert, dies kommt ohne Abhaengigkeit aus. --}} + {{-- Der zugeklappte Zustand steht auch im statischen class-Attribut, + damit vor dem Start von Alpine nichts aufgeklappt aufblitzt. Die + Objekt-Schreibweise von x-bind:class entfernt ihn beim Oeffnen. --}} +
+
+
+ @foreach ($section['detail']['paragraphs'] as $paragraph) +

{{ $paragraph }}

+ @endforeach +
diff --git a/resources/views/livewire/web/components/sections/f-a-q.blade.php b/resources/views/livewire/web/components/sections/f-a-q.blade.php index 665b18ad..98909124 100644 --- a/resources/views/livewire/web/components/sections/f-a-q.blade.php +++ b/resources/views/livewire/web/components/sections/f-a-q.blade.php @@ -25,34 +25,39 @@
-
-
-

- {{ $faq['answer'] }} -

+ {{-- grid-template-rows 0fr → 1fr animiert die tatsaechliche Hoehe. Der + zugeklappte Zustand steht auch statisch im class-Attribut, damit vor + dem Start von Alpine nichts aufgeklappt aufblitzt. --}} +
+
+
+
+

+ {{ $faq['answer'] }} +

+
+
@@ -80,34 +85,39 @@
-
-
-

- {{ $faq['answer'] }} -

+ {{-- grid-template-rows 0fr → 1fr animiert die tatsaechliche Hoehe. Der + zugeklappte Zustand steht auch statisch im class-Attribut, damit vor + dem Start von Alpine nichts aufgeklappt aufblitzt. --}} +
+
+
+
+

+ {{ $faq['answer'] }} +

+
+

diff --git a/tests/Feature/BrandPageSectionsTest.php b/tests/Feature/BrandPageSectionsTest.php index 8a6de44b..64cf0ea2 100644 --- a/tests/Feature/BrandPageSectionsTest.php +++ b/tests/Feature/BrandPageSectionsTest.php @@ -53,6 +53,26 @@ it('turns every marked deepening into a collapsible area', function () { ->and($html)->toContain('NEW DIMENSIONS'); }); +it('renders every deepening collapsed and animates its height', function () { + $html = $this->get('/marken/rotpunkt')->assertSuccessful()->getContent(); + + // Der zugeklappte Zustand muss im statischen class-Attribut stehen, sonst blitzt der Inhalt + // vor dem Start von Alpine aufgeklappt auf. + expect(substr_count($html, 'grid grid-rows-[0fr] opacity-0 transition-all'))->toBe(4) + // grid-template-rows animiert die tatsaechliche Hoehe – die alte Bewegung blendete den + // Inhalt nur ein und sprang dabei auf die volle Hoehe. + ->and($html)->not->toContain('x-transition:enter-start="opacity-0 -translate-y-2"') + ->and($html)->toContain("'grid-rows-[1fr] opacity-100': open"); +}); + +it('uses no full-surface hover on the accordion buttons', function () { + foreach (['/marken/rotpunkt', '/faq'] as $path) { + $html = $this->get($path)->assertSuccessful()->getContent(); + + expect($html)->not->toContain('hover:bg-muted/30'); + } +}); + it('merges the two sustainability sections as the corrected version requires', function () { $html = $this->get('/marken/rotpunkt')->assertSuccessful()->getContent(); From 3ee7b44a7757afa47b7abad680591321ddff7eeb Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 3 Sep 2026 10:12:20 +0000 Subject: [PATCH 05/22] Abschluss-CTA: durchgehender Verlauf statt weicher Kreise MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die beiden blur-Kreise ueber dem Hellblau wirkten als Flecken – der dunkle rechts unten am staerksten. Ersetzt durch .cta-band in shared-styles.css: ein durchgehender Verlauf ueber die volle Breite, von Anthrazit diagonal in das Dynamic Blue, beides aus den Theme-Variablen. - Tiefe kommt aus dem Verlauf, nicht aus ueberlagerten Flaechen. - Zwei Haarlinien als Kontur: eine oben ueber die Breite, eine als Auftakt ueber der Ueberschrift, beide zu den Seiten auslaufend. - Buttons filigraner: duennerer Rahmen beim Outline-Button, weicherer Schatten beim Hauptbutton. Der Verlauf liegt als CSS-Klasse vor und nicht als Utility-Kette im Blade, damit er mit den Theme-Variablen arbeitet und ueber alle Themes stimmt. Tests: 862 gruen (3192 Assertions), Pint sauber, npm run build:b2in gebaut. Co-Authored-By: Claude Opus 5 --- dev/2026-08-28/deploy/dateiliste.txt | 1 + dev/2026-08-28/entwicklungsplan.md | 17 +++++-- resources/css/web/shared-styles.css | 45 +++++++++++++++++++ .../sections/brand-detail.blade.php | 30 ++++++------- tests/Feature/BrandPageSectionsTest.php | 8 ++++ 5 files changed, 81 insertions(+), 20 deletions(-) diff --git a/dev/2026-08-28/deploy/dateiliste.txt b/dev/2026-08-28/deploy/dateiliste.txt index b69f787f..d1dcba5d 100644 --- a/dev/2026-08-28/deploy/dateiliste.txt +++ b/dev/2026-08-28/deploy/dateiliste.txt @@ -52,6 +52,7 @@ public/img/logos/b2in-interior-logo-negative.png public/img/logos/b2in-interior-logo-negative.svg public/img/logos/b2in-interior-logo-positive.png public/img/logos/b2in-interior-logo-positive.svg +resources/css/web/shared-styles.css resources/lang/de/b2in.php resources/lang/de/ui.php resources/lang/en/b2in.php diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md index 4b7037fd..b5882614 100644 --- a/dev/2026-08-28/entwicklungsplan.md +++ b/dev/2026-08-28/entwicklungsplan.md @@ -19,7 +19,7 @@ eingearbeitet. Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. **Stand 03.09.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die Bestandsinhalte auf den Interior-Auftritt umgestellt, die Seite abgestimmt und alle vier Punkte der Abstimmungsrunde vom 03.09. umgesetzt (Nachtrag 5). Alle drei Markenseiten haben jetzt einen -ausführlichen Text. `php artisan test --compact`: **861 grün** (3189 Assertions), Pint sauber, +ausführlichen Text. `php artisan test --compact`: **862 grün** (3192 Assertions), Pint sauber, `npm run build:b2in` gebaut. **Die Seite ist testbereit** – die ausstehenden Zulieferungen trägt Marcel selbst im CMS nach. @@ -977,12 +977,22 @@ transportiert. Der Badge am Bild („Visualisierung") trägt die Unterscheidung Der Block war eine einfarbige Fläche mit Überschrift, Text, Button und einem unterstrichenen Textlink. Neu: -- Zwei weiche Lichtflächen (`blur-3xl`) nehmen dem Volltonhintergrund die Härte. - Eine schmale Linie über der Überschrift setzt den Abschluss ab. - Hauptbutton weiß auf Markenfarbe, mit Pfeil, der beim Hovern mitgeht. - Die Herstellerseite ist jetzt ein gleichwertiger Outline-Button statt eines Textlinks. - Der Showroom steht als kleine Zeile mit Pin-Symbol darunter. +**Nachgebessert (zweite Rückmeldung):** Der erste Versuch legte zwei weiche Kreise (`blur-3xl`) +über das Hellblau – die wirkten als sichtbare Flecken, besonders der dunkle rechts unten. Ersetzt +durch einen durchgehenden Verlauf über die volle Breite: `.cta-band` in `shared-styles.css`, von +Anthrazit (`--primary-dark`) diagonal in das Dynamic Blue (`--secondary-dark`). Die Tiefe kommt +aus dem Verlauf selbst, die Kontur aus zwei Haarlinien – eine oben über die Breite, eine als +Auftakt über der Überschrift, beide zu den Seiten auslaufend. Buttons und Fußzeile dabei +zurückhaltender: dünnerer Rahmen, weicherer Schatten. + +> Der Verlauf liegt bewusst als CSS-Klasse vor und nicht als Utility-Kette im Blade: er arbeitet +> mit den Theme-Variablen und bleibt so über alle Themes hinweg stimmig. + Die Textinhalte kommen unverändert aus dem CMS (`cta_title` / `cta_text`) – Punkt 4 der Liste war inhaltlich bereits durch die neuen Texte erledigt („Ihre Küche. Persönlich geplant."). @@ -1025,8 +1035,9 @@ dasselbe Verhalten. - Jede Vertiefung rendert zugeklappt und mit der Höhen-Animation; die alte Sprung-Bewegung ist weg. - Weder Markenseite noch FAQ verwenden noch den Flächen-Hover. +- Der Abschlussblock trägt das Verlaufsband; die weichen Kreise sind weg. -`php artisan test --compact`: **861 grün** (3189 Assertions), Pint sauber, `npm run build:b2in` +`php artisan test --compact`: **862 grün** (3192 Assertions), Pint sauber, `npm run build:b2in` gebaut. --- diff --git a/resources/css/web/shared-styles.css b/resources/css/web/shared-styles.css index ca2c9996..a05d90be 100644 --- a/resources/css/web/shared-styles.css +++ b/resources/css/web/shared-styles.css @@ -258,6 +258,51 @@ h1, h2, h3, h4, h5, h6 { color: hsl(var(--dark-text)); } +/* Abschlussband der Markenseiten. + Ein durchgehender Verlauf ueber die volle Breite: von Anthrazit in das + Dynamic Blue. Bewusst ohne weiche Kreise – die setzten sichtbare Flecken in + die Ecken. Die Tiefe kommt aus dem Verlauf selbst, die Kontur aus zwei + Haarlinien. */ +.cta-band { + position: relative; + overflow: hidden; + background: linear-gradient( + 100deg, + hsl(var(--primary-dark)) 0%, + hsl(var(--primary)) 42%, + hsl(var(--secondary-dark)) 100% + ); +} + +/* Lichtkante oben, die zu beiden Seiten auslaeuft. */ +.cta-band::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient( + 90deg, + transparent 0%, + hsl(0 0% 100% / 0.35) 50%, + transparent 100% + ); +} + +/* Sehr flacher Schimmer von oben links, damit die Flaeche nicht flach wirkt. */ +.cta-band::after { + content: ''; + position: absolute; + inset: 0; + pointer-events: none; + background: linear-gradient( + 165deg, + hsl(0 0% 100% / 0.07) 0%, + transparent 48% + ); +} + .text-dark-muted { color: hsl(var(--dark-muted)); } diff --git a/resources/views/livewire/web/components/sections/brand-detail.blade.php b/resources/views/livewire/web/components/sections/brand-detail.blade.php index 46f440fe..1bfbf82e 100644 --- a/resources/views/livewire/web/components/sections/brand-detail.blade.php +++ b/resources/views/livewire/web/components/sections/brand-detail.blade.php @@ -100,9 +100,9 @@ {{-- Weiches Auf- und Zuklappen ueber grid-template-rows (0fr → 1fr): das animiert die tatsaechliche Hoehe, waehrend x-show den Inhalt schlagartig einblendet. Das Alpine-Collapse-Plugin ist in diesem - Projekt nicht registriert, dies kommt ohne Abhaengigkeit aus. --}} - {{-- Der zugeklappte Zustand steht auch im statischen class-Attribut, - damit vor dem Start von Alpine nichts aufgeklappt aufblitzt. Die + Projekt nicht registriert, dies kommt ohne Abhaengigkeit aus. + Der zugeklappte Zustand steht auch im statischen class-Attribut, + damit vor dem Start von Alpine nichts aufgeklappt aufblitzt – die Objekt-Schreibweise von x-bind:class entfernt ihn beim Oeffnen. --}}
@endif - {{-- 5. Abschluss. Der Block schliesst die Seite ab und traegt den Claim aus der Zulieferung – - deshalb weiche Lichtflaechen statt Volltonhintergrund und ein gesetzter Hauptbutton - statt eines Textlinks. --}} -
- {{-- Rein dekorativ: zwei weiche Lichtpunkte nehmen der Flaeche die Haerte. --}} - - + {{-- 5. Abschluss. Der Block schliesst die Seite ab und traegt den Claim aus der Zulieferung. + Der durchgehende Verlauf steckt in `.cta-band` (shared-styles.css) – als Utility-Klassen + waere er nicht ueber alle Themes hinweg zu halten. --}} +
- + {{-- Haarlinie als Auftakt, laeuft zu beiden Seiten aus. --}} +

{{ $brand['cta_title'] ?: __('ui.brand_cta_title', ['name' => $brand['name']]) }} @@ -304,7 +300,7 @@ @if (!empty($brand['showroom'])) -

+

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 + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/preview-deployment.md b/dev/2026-08-28/preview-deployment.md index 3526af07..2aa08e86 100644 --- a/dev/2026-08-28/preview-deployment.md +++ b/dev/2026-08-28/preview-deployment.md @@ -197,6 +197,10 @@ php artisan route:cache php artisan view:clear ``` +> **Assets:** Das Archiv bringt `public/build/b2in` fertig mit. Wird auf dem Server selbst +> gebaut, gilt: `npm run build:web` baut **nur** die vier Frontend-Themes, nicht das Portal. +> Ohne `npm run build:portal` liefert das Admin-Portal danach 500. + **Optional, nur für die Abstimmung:** Beispielbilder in die Markengalerien, damit Galerie, Referenzen-Seite und Lightbox nicht leer sind. diff --git a/resources/css/web/shared-styles.css b/resources/css/web/shared-styles.css index a05d90be..2cf6bccd 100644 --- a/resources/css/web/shared-styles.css +++ b/resources/css/web/shared-styles.css @@ -264,14 +264,16 @@ h1, h2, h3, h4, h5, h6 { die Ecken. Die Tiefe kommt aus dem Verlauf selbst, die Kontur aus zwei Haarlinien. */ .cta-band { - position: relative; - overflow: hidden; - background: linear-gradient( + --cta-band-gradient: linear-gradient( 100deg, hsl(var(--primary-dark)) 0%, hsl(var(--primary)) 42%, hsl(var(--secondary-dark)) 100% ); + + position: relative; + overflow: hidden; + background: var(--cta-band-gradient); } /* Lichtkante oben, die zu beiden Seiten auslaeuft. */ @@ -793,6 +795,10 @@ h1, h2, h3, h4, h5, h6 { ); position: relative; } + & section.cta-band { + background: var(--cta-band-gradient); + position: relative; + } & section.bg-accent { background: linear-gradient( 135deg, diff --git a/tests/Feature/BrandPageSectionsTest.php b/tests/Feature/BrandPageSectionsTest.php index 8a00a5f5..9e729e29 100644 --- a/tests/Feature/BrandPageSectionsTest.php +++ b/tests/Feature/BrandPageSectionsTest.php @@ -141,6 +141,17 @@ it('closes the page with a gradient band across the full width', function () { ->and($html)->not->toContain('blur-3xl'); }); +it('exempts the closing band from the glass-flow section background', function () { + // `.variante-glass-flow section` faerbt jede Sektion hell ein und ist spezifischer als + // `.cta-band` – ohne diese Ausnahme steht der Abschluss hellgrau mit weisser Schrift da. + // `/marken/{slug}` haengt in genau diesem Wrapper. + expect(file_get_contents(resource_path('views/web/marken-show.blade.php'))) + ->toContain('variante-glass-flow'); + + expect(file_get_contents(resource_path('css/web/shared-styles.css'))) + ->toContain('section.cta-band'); +}); + // ======================================== // Beschriftung des Terminanfrage-Widgets // ======================================== From c8899e2d7d1f9a58feaefb32d87774f1ddfc1658 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 3 Sep 2026 11:16:41 +0000 Subject: [PATCH 07/22] Markenlogos einbinden: Seitenkopf und alle Kacheln MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zulieferung dev/2026-08-28/markenlogos/ (CABINET und Rotpunkt als SVG, Februe als PNG). Die Dateien liegen unter public/img/assets/marken/ und haengen als `logo` an der jeweiligen Marke. - Kopf der Markenseite: Logo anstelle des Schriftzugs, im

, damit die Ueberschrift erhalten bleibt – den Text liefert das alt-Attribut. Ohne Logo erscheint weiterhin der Schriftzug. - Logo zusaetzlich auf der Startseiten-Kachel, im Block auf /marken und in den „Weitere Marken“-Kacheln am Seitenfuss. - Feste Box (Hoehe + Maximalbreite + object-contain) statt fester Hoehe: die Seitenverhaeltnisse gehen weit auseinander (Februe 2,3:1, Rotpunkt 1,2:1), mit reiner Hoehenangabe waere Februe doppelt so breit erschienen. Konvention aus der Sponsoring-Sektion. - Februe-Logo auf seinen Inhalt beschnitten: im Original waren knapp drei Viertel der Flaeche leerer Rand, in einer Box haette es winzig gewirkt. 53 KB → 15 KB. - BrandLogoSeeder traegt die Logos auf bestehenden Installationen nach – CmsBrandSeeder ueberspringt vorhandene Marken. Setzt nur `logo` und nur bei leerem Feld, ein im Admin hochgeladenes Logo bleibt stehen. Tests: 871 gruen (3215 Assertions), Pint sauber, alle Themes gebaut. Co-Authored-By: Claude Opus 5 --- database/seeders/BrandLogoSeeder.php | 59 +++++++++++++++++ database/seeders/CmsBrandSeeder.php | 11 +++- dev/2026-08-28/deploy/dateiliste.txt | 4 ++ dev/2026-08-28/entwicklungsplan.md | 47 ++++++++++++-- dev/2026-08-28/preview-deployment.md | 3 + public/img/assets/marken/cabinet.svg | 27 ++++++++ public/img/assets/marken/februe.png | Bin 0 -> 15359 bytes public/img/assets/marken/rotpunkt.svg | 55 ++++++++++++++++ .../sections/brand-detail.blade.php | 20 ++++-- .../sections/brand-overview.blade.php | 4 +- .../components/sections/core-brands.blade.php | 4 +- tests/Feature/BrandPageTest.php | 61 ++++++++++++++++++ 12 files changed, 282 insertions(+), 13 deletions(-) create mode 100644 database/seeders/BrandLogoSeeder.php create mode 100644 public/img/assets/marken/cabinet.svg create mode 100644 public/img/assets/marken/februe.png create mode 100644 public/img/assets/marken/rotpunkt.svg diff --git a/database/seeders/BrandLogoSeeder.php b/database/seeders/BrandLogoSeeder.php new file mode 100644 index 00000000..40ec4394 --- /dev/null +++ b/database/seeders/BrandLogoSeeder.php @@ -0,0 +1,59 @@ + */ + private const LOGOS = [ + 'cabinet' => 'marken/cabinet.svg', + 'rotpunkt' => 'marken/rotpunkt.svg', + 'februe' => 'marken/februe.png', + ]; + + public function run(): void + { + $set = 0; + $kept = 0; + + foreach (self::LOGOS as $slug => $logo) { + $brand = CmsBrand::query()->where('slug', $slug)->first(); + + if (! $brand) { + $this->command?->warn("Marke „{$slug}“ nicht gefunden – uebersprungen."); + + continue; + } + + if (trim((string) $brand->logo) !== '') { + $kept++; + + continue; + } + + $brand->logo = $logo; + $brand->save(); + $set++; + } + + $this->command?->info("Markenlogos gesetzt: {$set}, vorhandene behalten: {$kept}."); + } +} diff --git a/database/seeders/CmsBrandSeeder.php b/database/seeders/CmsBrandSeeder.php index 3f669530..57df1e2a 100644 --- a/database/seeders/CmsBrandSeeder.php +++ b/database/seeders/CmsBrandSeeder.php @@ -8,9 +8,11 @@ use Illuminate\Database\Seeder; /** * Legt die drei Kernmarken an. Texte aus dev/2026-08-28/umsetzung-inhalte.md §5. * - * Bestehende Marken werden nicht überschrieben – Marcel pflegt sie im Admin. - * Logos, Stimmungsbilder und Galerien fehlen als Zulieferung und bleiben leer; - * die Kacheln und Detailseiten zeigen so lange einen Platzhalter. + * Bestehende Marken werden nicht überschrieben – Marcel pflegt sie im Admin. Für bereits + * angelegte Marken setzt {@see BrandLogoSeeder} die Logos nach. + * + * Stimmungsbilder und Galerien fehlen als Zulieferung und bleiben leer; die Kacheln und + * Detailseiten zeigen so lange einen Platzhalter. */ class CmsBrandSeeder extends Seeder { @@ -38,6 +40,7 @@ class CmsBrandSeeder extends Seeder return [ [ 'slug' => 'cabinet', + 'logo' => 'marken/cabinet.svg', 'name' => ['de' => 'CABINET', 'en' => 'CABINET'], 'tagline' => ['de' => 'Einbauschränke nach Maß.', 'en' => 'Fitted wardrobes made to measure.'], 'teaser' => [ @@ -72,6 +75,7 @@ Experience the possibilities in our Bielefeld showroom.', ], [ 'slug' => 'rotpunkt', + 'logo' => 'marken/rotpunkt.svg', 'name' => ['de' => 'Rotpunkt Küchen', 'en' => 'Rotpunkt Küchen'], 'tagline' => ['de' => 'Küchen, die Haltung zeigen.', 'en' => 'Kitchens with character.'], 'teaser' => [ @@ -106,6 +110,7 @@ Consultation and planning in our kitchen studio.', ], [ 'slug' => 'februe', + 'logo' => 'marken/februe.png', 'name' => ['de' => 'Febrü', 'en' => 'Febrü'], 'tagline' => ['de' => 'Arbeiten, wo man gerne bleibt.', 'en' => 'Work where you like to stay.'], 'teaser' => [ diff --git a/dev/2026-08-28/deploy/dateiliste.txt b/dev/2026-08-28/deploy/dateiliste.txt index d1dcba5d..3a1a29b9 100644 --- a/dev/2026-08-28/deploy/dateiliste.txt +++ b/dev/2026-08-28/deploy/dateiliste.txt @@ -33,6 +33,7 @@ database/migrations/2026_08_28_110407_create_cms_brands_table.php database/migrations/2026_08_28_112244_add_summary_and_highlights_to_cms_brands_table.php database/migrations/2026_09_03_084254_add_page_sections_to_cms_brands_table.php database/seeders/BrandGalleryCaptionNormalizerSeeder.php +database/seeders/BrandLogoSeeder.php database/seeders/BrandPageTextSeeder.php database/seeders/CmsArticleSeeder.php database/seeders/CmsBrandSeeder.php @@ -45,6 +46,9 @@ database/seeders/InteriorRelaunchCmsSeeder.php public/_cabinet/assets/b2in-interior-logo-negative.svg public/_cabinet/assets/b2in-interior-logo-positive.svg public/_cabinet/display/index.html +public/img/assets/marken/cabinet.svg +public/img/assets/marken/februe.png +public/img/assets/marken/rotpunkt.svg public/img/assets/sponsoring/arminia-bielefeld.png public/img/assets/sponsoring/tc-bad-waldliesborn-horn.jpg public/img/assets/sponsoring/tc-hoevelhof.png diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md index 8e2e4ce1..7e77a9b1 100644 --- a/dev/2026-08-28/entwicklungsplan.md +++ b/dev/2026-08-28/entwicklungsplan.md @@ -19,7 +19,7 @@ eingearbeitet. Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. **Stand 03.09.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die Bestandsinhalte auf den Interior-Auftritt umgestellt, die Seite abgestimmt und alle vier Punkte der Abstimmungsrunde vom 03.09. umgesetzt (Nachtrag 5). Alle drei Markenseiten haben jetzt einen -ausführlichen Text. `php artisan test --compact`: **863 grün** (3194 Assertions), Pint sauber, +ausführlichen Text. `php artisan test --compact`: **871 grün** (3215 Assertions), Pint sauber, `npm run build:b2in` gebaut. **Die Seite ist testbereit** – die ausstehenden Zulieferungen trägt Marcel selbst im CMS nach. @@ -45,7 +45,7 @@ gebaut. Was fehlt, ist Material, kein Code. | Was | Wo im Admin | |---|---| -| Logos und Stimmungsbilder der drei Marken | Kernmarken → Marke bearbeiten | +| Stimmungsbilder der drei Marken (Logos liegen seit 03.09. vor) | Kernmarken → Marke bearbeiten | | Echte Projektfotos statt der Demobilder (siehe Warnung unten) | Kernmarken → Bildergalerie | | Herstellerseiten-URLs | Kernmarken → Herstellerseite | | Motiv für den Kopf von `/marken` | Inhalte → `marken` → `hero` | @@ -1026,6 +1026,36 @@ diese Lösung kommt ohne neue Abhängigkeit aus. Betrifft **beide** Akkordeons – die Vertiefungen auf den Markenseiten und das FAQ; sie hatten dasselbe Verhalten. +#### 6 · Markenlogos (Zulieferung 03.09.2026) + +Grundlage: `dev/2026-08-28/markenlogos/` – CABINET und Rotpunkt als SVG, Febrü als PNG. Sie +liegen jetzt unter `public/img/assets/marken/` und hängen als `logo` an der jeweiligen Marke. + +| Wo | Vorher | Jetzt | +|---|---|---| +| Kopf der Markenseite | Schriftzug als `

` | Logo **anstelle** des Schriftzugs, im `

` | +| Kachel auf der Startseite | ohne Logo | Logo über Name und Claim | +| Block auf `/marken` | ohne Logo | Logo über Name und Claim | +| „Weitere Marken" am Seitenfuß | ohne Logo | Logo über Name und Claim | + +Das Logo sitzt **im** `

`, nicht daneben: So bleibt die Seitenüberschrift erhalten, den Text +liefert das `alt`-Attribut. Fehlt ein Logo, erscheint weiterhin der Schriftzug – ein Test hält +beide Wege fest. + +**Feste Box statt fester Höhe.** Die drei Logos haben sehr unterschiedliche Seitenverhältnisse +(Febrü 2,3:1, Rotpunkt 1,2:1). Mit einer reinen Höhenangabe hätte Febrü doppelt so breit gewirkt +wie Rotpunkt. Jedes Logo bekommt deshalb Höhe **und** Maximalbreite plus `object-contain` – die +Konvention aus der Sponsoring-Sektion. + +**Am Febrü-Logo nachgearbeitet:** Im Original waren knapp drei Viertel der Bildfläche leerer +Rand (Inhalt 570 × 238 in 3084 × 1948). In einer Box hätte es dadurch winzig gewirkt. Es ist auf +seinen Inhalt beschnitten und auf 760 px Breite gerechnet – 53 KB → 15 KB. + +**Nachziehen auf bestehenden Installationen:** `CmsBrandSeeder` überspringt vorhandene Marken, +trägt die Logos also nur bei einer frischen Installation ein. `BrandLogoSeeder` **(neu)** setzt +sie auf bereits angelegten Marken nach – nur das Feld `logo` und nur, wenn es leer ist. Ein +selbst hochgeladenes Logo bleibt damit stehen; mehrfaches Ausführen ist unbedenklich. + #### Tests `BrandPageSectionsTest` und `BrandPageTest` erweitert: @@ -1045,8 +1075,12 @@ dasselbe Verhalten. - Weder Markenseite noch FAQ verwenden noch den Flächen-Hover. - Der Abschlussblock trägt das Verlaufsband; die weichen Kreise sind weg. - Die Ausnahme für `.variante-glass-flow` ist vorhanden – ohne sie steht der Abschluss hellgrau da. +- Das Logo steht im `

` der Markenseite; ohne Logo erscheint weiter der Schriftzug. +- Alle drei Logos erscheinen auf Startseite, `/marken` und den „Weitere Marken"-Kacheln. +- Die Dateien, auf die der Seeder zeigt, liegen tatsächlich unter `public/`. +- `BrandLogoSeeder` überschreibt kein selbst hochgeladenes Logo. -`php artisan test --compact`: **863 grün** (3194 Assertions), Pint sauber, `npm run build:b2in` +`php artisan test --compact`: **871 grün** (3215 Assertions), Pint sauber, `npm run build:b2in` gebaut. --- @@ -1182,6 +1216,10 @@ php artisan db:seed --class=BrandPageTextSeeder --force # Fasst nur den Text an, mehrfaches Ausführen ist unbedenklich. php artisan db:seed --class=BrandGalleryCaptionNormalizerSeeder --force +# 6. Markenlogos nachtragen. Setzt `logo` nur, wenn das Feld leer ist – ein im Admin +# hochgeladenes Logo bleibt stehen. Braucht public/img/assets/marken/ aus dem Archiv. +php artisan db:seed --class=BrandLogoSeeder --force + php artisan config:cache php artisan view:clear @@ -1205,7 +1243,8 @@ done - [ ] Startseite: Reihenfolge, Kernmarken-Anker `#marken`, Sponsoring-Logos - [ ] Markenseite `/marken` – Aufbau, Merkmale, „Alle Marken ansehen" von der Startseite - [ ] Kernmarken-Detailseiten `/marken/cabinet`, `/marken/rotpunkt`, `/marken/februe` – je mit - ausführlichem Text, aufklappbaren Vertiefungen und eigenem Abschlussblock + Logo im Kopf, ausführlichem Text, aufklappbaren Vertiefungen und eigenem Abschlussblock +- [ ] Logos erscheinen auf der Startseite, auf `/marken` und in den „Weitere Marken"-Kacheln - [ ] Auf dem Smartphone prüfen: Das Terminanfrage-Widget trägt auf der Markenseite die längere Beschriftung und darf keine Inhalte verdecken - [ ] `/netzwerk`, `/interior`, `/partner`, `/service` leiten auf `/marken` diff --git a/dev/2026-08-28/preview-deployment.md b/dev/2026-08-28/preview-deployment.md index 2aa08e86..9e655c70 100644 --- a/dev/2026-08-28/preview-deployment.md +++ b/dev/2026-08-28/preview-deployment.md @@ -186,6 +186,9 @@ php artisan db:seed --class=BrandPageTextSeeder --force # Nur nötig, wenn die Demogalerien schon eingespielt sind. Mehrfach ausführbar. php artisan db:seed --class=BrandGalleryCaptionNormalizerSeeder --force +# Markenlogos nachtragen. Setzt `logo` nur, wenn das Feld leer ist. +php artisan db:seed --class=BrandLogoSeeder --force + # Display-Branding auf das Interior-Logo php artisan db:seed --class=DisplayInteriorBrandingSeeder --force diff --git a/public/img/assets/marken/cabinet.svg b/public/img/assets/marken/cabinet.svg new file mode 100644 index 00000000..7957e0b8 --- /dev/null +++ b/public/img/assets/marken/cabinet.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + diff --git a/public/img/assets/marken/februe.png b/public/img/assets/marken/februe.png new file mode 100644 index 0000000000000000000000000000000000000000..53c2ca302b991ae5ad38ad61b88a8343250eeace GIT binary patch literal 15359 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�Jk9C#QmK0SIL3FKWH4o}CFuIe~wT;w$u z=O^;={zDn)VLD!yWvvuPf8l6h-8LJ)vl6n!qyC(lI4?bHiQ+OY;OP4SfN8%?$udLf1Nk;h7i4(^pedJlLcRkS7hS#&1z4+phr3|94JeZL7 zTLGe7bW<$~Q1+~|&Dv3k?jdZkTOf>8yeF`}smL$Dg!eWEgI0LM%YvP8z^pp~qFUIFtxO4oa%1rFMRFEMe?6TDs$hICkxOZ?`kV; zabD2vxC*u796a}09$WflbR(`;wYW$dJfdmuzU{3+Z=#UkxH^zaJPv$kmwjuQz7*hJ-6}D3r!uNp za99xvB5=lbcjS-aP+xyXTSPaoD}|_~Ts_8%`U`io=G|KCG8@2F!#!SIc6m7kyi*nI$1Rr@7*MINshZC;qgVEev2E~<2c8dU&FkP>jPMwF8-9UM8QIii8jX%={s2J$`Y#)F z1&!`f7|>s_Lf<+w@Ca+rZAHEQIqt!=^v~tzva<ts(p zu+PPoHvl!w*2`D$Xd@^4L%w*+IEwFW%{mQP*=+Ahbpd73!0KbYs8F zayDbXe8fBL@#tk^k?eHOHOI=yhwkh!JZHHONvZTl4cfxmIs0>8JFbavI#;__gOfFk zOrU%xyG~U2*I_N7QHvY=G&F@-G=EdK=kCGUJqz#i!9P-PiJO;4MOP=1B^=6|TuWa< zyy0OTRsA~~nlw~%Fnuvp_?6;S_zGggB3%Z0!zV4d_iY@zB4FBYIzud&4oC`qn=V)N>2SQO<});5 zDVE6iHGjWm;J!&rGl(xYgSZ)OVMGQH*5l$p zD%SjA3vU%`kyKI_w9_%Fa>yjV@L})M+?1;nz2_L!eyMH5nzsxx(0)@_`H48Ho87u~ zwJN_Xap{|qR^*GU5ciKgC(NQO?OgQxdzrtx&lhzfl!QwG;m)79IU!(hSv<}-~#a8nIA9ITK!>E{CvJmx!6yWS~_XI%u`%7GgFCxHirX?pGkctl=ff#K>lX8(o~1eYo^Z zT-3yAGLT~39=tZltfP~%x&-x=<(5wH9<%29dGctKMy1sJM@P;JKOGiIW}D4RJlBQ6 z+D!DV#ad&xkVa1n~)pW)8rE-iEupY{ljMAyM_%c+&%5^y>lDO4$`_n)n7@U zGNom%?x73E!ruDpvesw0NE9~sk3VG^gSkmf3546Hyr0p#@zddW>;2N7?}K$Foif-; zd2Ef2@;dbZ3jRu$GV@iW;8fF!GQNO8|BD+hfcY?FWRZ5? z7@|DV?`QY@h>Cw>o5%D~IF%^PifdmVvP!xlKl-HaA8fatQojB-Guwz}Pp0P!k4u1D zQx$1lUL0e(Zf4%M5tlg$qIQoKUNmHi8WK32?jt5um>ame6*KHT)}bg4&B*(flvi5` z?)HBUX>yjSn?>lD*gEXNO3+sV1C?wi^v)@zxA^bt)4B>Qq!H2AxR15RKGU$wnaABi z7b`xQ`oUqtodgS|$60mg^^0a#hbPi*aW866mmB+1?rV_G&uJk1vN-uxOW*MDFu~`D zLt|gZG4q6GnlqspcuSNd-bE)q>)DV+I~IH^Q@i2l!CI$v?2B2S>Wdx2&OR>w4h9Kl z`^nbbbmkriR5aL~bup=5(X&hXQGQ(FYQrt$B(!hVkbc{Z@Cik>$rgA4P5}qaQW!nY zufi>;{o&}2Hh;V$?`ZnNj0}zI{@AlQj!A0c+gJ~DbRTP7p3is(yaXaa zqqmZ|zk_zNK0hwj=Lp&fZd?&HYj@|_oM-BP-qTe2fW}TPLbz0) z)9axZA+e>vfsIp0Yd6Pr7PX5gb3TWKX#_o=_dpnrG&(<7*Z@i)Ko}c4M$@}IP&}C{UnQ>|Z zQGqLRyx+Z%N7W&Gggc5fo0ZpX{d^#0KqzP{(rwYcaovj+nM4C(=~KCv`>pb&dzP{o zS#hMRio9}ajk`{WQY4rn#aAARQY=5n&qp-LL%|!z)#9KYop8afC078{gy)w9V+&LHE%Os=k z;ttn{#ED}oweMKJu3G_KJwpE)g_Yj&eQ6;I$Vopxx6Qd>Y=U(P3oVkm)A;+|yWq8p zrWOD)wKHAl^sC>1a+u${ou`l@XEV{f>R+U<9Ie0oIoaz}HAx?k*e9PiJ8iZ+Es?JM zO_^O+Oi;w^_5>Awx4*mWKe9T{v2vc>{kCV@;#^Z&zn-7O!Nq#DShQ)MG#H@ zx>#PASYla~RY`NSeaiA^6u5u>CD>P3)BV@k6@;Rpdn@9nxRO#$Ki-`m+AVkV&&_>x zyJg*B?-RZL#-Yl=j(yD@elx0^Vq|Mz|6~-#CyMg~OFD7L27!U`T=6-M zMvwBf>)_dKaESujLdy=GW|6nAkKwoEC!N!dE1@OiF*-q5tsK+^gX- z9rG|(IWRrNql>(c>|W-S&TfAQkzOqN&Rv(UqyG%S9=}7pq&ErNfgE=}axvTiY;z6p zh4=zJc}LI^M=Wn;YDXPS2CCxLO{s5jONj4SEILmte`afPVs5d8s|?CP0?I4_9Zgg; zy>mU;Y0#fYFP#LN5QB`Yg?ua68IdBPcNg6J`mtp=D|VO1*goyG!W@oSzjT*NJtiad z4bGpQF`vbA=Ynv+S85#1GOJH{m+;z`5!!uI$L9Cr##r$7eN1b^*;;X$K@rY~yHm;i ziSYg-F1~B-z6aOonms|BNh+lg@D7zR$WWl+B(Zv$TFXuK@zPD z_9J4iN@(LsQA;P;qiBmwmolQO9RUnmDIp|w9il)xe$lLTvE`|~@nco7&mN{n0f(=_ zozBL;U)G2>z6~ZXsJ4|C_P9$tvQ3d*YLEGKSZFlSrHIF(BCgY` z(|*GJgx+|EhjT3&vq=5&;PMr-NPb7LuOW0LcN9Z+K2s9?jS6#gB6vo^aygcx75#!HdN@$|sZf#7=6=+~Pjp(^2AtjCW(x%4)jgER}>cXVwM; zW@d_K>*$1kMz#Asj!b^>IN4n`ViyX%cpl5b?!_;ZnV@X7Eh& z&T;%`x4&*A^&g3>oeRbOVHG8rdP^mz7XCOsW}N;>a7_K*^3ein*r2i8m{23qAsVuoWEWR?w(z<_cM0+l*N&O zDmiOdocWyZcs16%PHS{6a1@Fv1`9k5T+|^jE=>baqgQB1QNm2d%B%jEQ!jS~$XjCD zu*L89(3>`P*(t8{zWW#Hn$sqyCRZnj#(hcJatgs1y79EWrw>6!@?(3NcqgHx#9+>I zA=A37OQXKnuFbXHtW#IV{$AZIN!;6%9dCcfe|Yx1(MEl)OBwWnHy$~l3e)4KjHOC| zkrwc-_{OhFIce(o<2<~dA7yiiF!QQc&y+yc7vt8Qn(T|VJ5|ZY$W$+$hbQ3AZWk=9 z)igF66RI(KXs7G`QE(-=`D2yGp1v6Jyik&}MnZKHEvh<# zO6p^sS>hj0tK#qKxM!)NAy*q}A%^WYwV(DcYH9oZjQ92fnJ=Xc&KfvGf3RL#fKPEk zL&iZr@#$TK7kfp7g9b9Ttaztju*aD|!tP}An(n4W@SX6f_QGD8c|3+!f)C#&xES+2 zv@>>QBy3qC$iBON{XEYnaTdIq%p>8yv+$AF;{R&@pZ)Y2h;k0Dl1YBLPWYl1psA*( KTK&}K{r>{hRAzwy literal 0 HcmV?d00001 diff --git a/public/img/assets/marken/rotpunkt.svg b/public/img/assets/marken/rotpunkt.svg new file mode 100644 index 00000000..bb84b63f --- /dev/null +++ b/public/img/assets/marken/rotpunkt.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/views/livewire/web/components/sections/brand-detail.blade.php b/resources/views/livewire/web/components/sections/brand-detail.blade.php index 1bfbf82e..182aabc5 100644 --- a/resources/views/livewire/web/components/sections/brand-detail.blade.php +++ b/resources/views/livewire/web/components/sections/brand-detail.blade.php @@ -11,13 +11,20 @@
+ {{-- Liegt ein Logo vor, steht es anstelle des Schriftzugs. Es sitzt im

, + damit die Ueberschrift erhalten bleibt – den Text liefert das alt-Attribut. + Feste Box statt fester Hoehe: die Logos haben sehr unterschiedliche + Seitenverhaeltnisse (Februe breit, Rotpunkt fast quadratisch). --}} @if (!empty($brand['logo'])) - {{ $brand['name'] }} +

+ {{ $brand['name'] }} +

+ @else +

{{ $brand['name'] }}

@endif -

{{ $brand['name'] }}

-

{{ $brand['tagline'] }}

+

{{ $brand['tagline'] }}

@if (!empty($brand['showroom']))

@@ -346,6 +353,11 @@ + @if (!empty($other['logo'])) + {{ $other['name'] }} + @endif +

{{ $other['name'] }}

{{ $other['tagline'] }}

{!! $other['teaser'] !!}

diff --git a/resources/views/livewire/web/components/sections/brand-overview.blade.php b/resources/views/livewire/web/components/sections/brand-overview.blade.php index 2c0d6a07..40379d00 100644 --- a/resources/views/livewire/web/components/sections/brand-overview.blade.php +++ b/resources/views/livewire/web/components/sections/brand-overview.blade.php @@ -19,9 +19,11 @@
+ {{-- Feste Box statt fester Hoehe: die Markenlogos haben sehr + unterschiedliche Seitenverhaeltnisse und wirken sonst ungleich gross. --}} @if (!empty($brand['logo'])) {{ $brand['name'] }} + class="h-14 max-w-[12rem] w-auto mb-5 object-contain object-left" loading="lazy" /> @endif

{{ $brand['name'] }}

diff --git a/resources/views/livewire/web/components/sections/core-brands.blade.php b/resources/views/livewire/web/components/sections/core-brands.blade.php index 927c6f12..52c41a38 100644 --- a/resources/views/livewire/web/components/sections/core-brands.blade.php +++ b/resources/views/livewire/web/components/sections/core-brands.blade.php @@ -22,9 +22,11 @@ @endif
+ {{-- Feste Box statt fester Hoehe: die Markenlogos haben sehr + unterschiedliche Seitenverhaeltnisse und wirken sonst ungleich gross. --}} @if (!empty($brand['logo'])) {{ $brand['name'] }} + class="h-11 max-w-[10rem] w-auto mb-4 object-contain object-left" loading="lazy" /> @endif

{{ $brand['name'] }}

diff --git a/tests/Feature/BrandPageTest.php b/tests/Feature/BrandPageTest.php index fd464b24..f3311ce3 100644 --- a/tests/Feature/BrandPageTest.php +++ b/tests/Feature/BrandPageTest.php @@ -214,3 +214,64 @@ it('strips the old example prefix without touching image, category or order', fu ->and($gallery[0]['category'])->toBe('project') ->and($gallery[1]['caption'])->toBe('Entwurf Garderobe'); }); + +// ======================================== +// Markenlogos +// ======================================== + +it('shows the logo instead of the wordmark at the top of a brand page', function () { + $html = $this->get('/marken/rotpunkt')->assertSuccessful()->getContent(); + + // Das Logo sitzt im

, damit die Ueberschrift erhalten bleibt. + expect($html)->toMatch('/

\s*]*marken\/rotpunkt\.svg/') + ->and($html)->toContain('alt="Rotpunkt Küchen"'); +}); + +it('falls back to the wordmark for a brand without a logo', function () { + CmsBrand::where('slug', 'rotpunkt')->firstOrFail()->update(['logo' => '']); + + $this->get('/marken/rotpunkt') + ->assertSuccessful() + ->assertSee('

Rotpunkt Küchen

', false); +}); + +it('shows the logo on every tile that leads to a brand page', function (string $path) { + $html = $this->get($path)->assertSuccessful()->getContent(); + + foreach (['cabinet.svg', 'rotpunkt.svg', 'februe.png'] as $file) { + expect($html)->toContain('marken/'.$file); + } +})->with([ + 'Startseite' => ['/'], + 'Markenuebersicht' => ['/marken'], +]); + +it('shows the logo on the other-brands tiles of a detail page', function () { + $html = $this->get('/marken/rotpunkt')->assertSuccessful()->getContent(); + + // Auf der Rotpunkt-Seite verweisen die Kacheln auf CABINET und Februe. + expect($html)->toContain('marken/cabinet.svg') + ->and($html)->toContain('marken/februe.png'); +}); + +it('ships the logo files the seeder points at', function () { + foreach (['cabinet.svg', 'rotpunkt.svg', 'februe.png'] as $file) { + expect(public_path('img/assets/marken/'.$file))->toBeFile(); + } +}); + +it('keeps a logo that was uploaded in the admin', function () { + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update(['logo' => 'eigenes-logo.svg']); + + $this->seed(\Database\Seeders\BrandLogoSeeder::class); + + expect(CmsBrand::where('slug', 'cabinet')->firstOrFail()->logo)->toBe('eigenes-logo.svg'); +}); + +it('adds the logo to a brand that has none yet', function () { + CmsBrand::where('slug', 'cabinet')->firstOrFail()->update(['logo' => '']); + + $this->seed(\Database\Seeders\BrandLogoSeeder::class); + + expect(CmsBrand::where('slug', 'cabinet')->firstOrFail()->logo)->toBe('marken/cabinet.svg'); +}); From 3958a1fe8923fbbe2155ea2433ab82c76808c7d1 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 3 Sep 2026 11:33:12 +0000 Subject: [PATCH 08/22] Markenlogos auf ihren Inhalt beschneiden MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CABINET und Rotpunkt wirkten neben Februe zu klein. Ursache war nicht die Box, sondern leerer Rand in den Dateien: CABINET nutzte nur 29 Prozent der Hoehe seiner Zeichenflaeche, Rotpunkt 70 Prozent. CABINET ist ein 4:1-Schriftzug in einer fast quadratischen Flaeche – im Seitenkopf blieben davon rund 28 px sichtbare Hoehe. Bei beiden SVGs auf die Tuschekante beschnitten (viewBox auf den Inhalt gesetzt, plus 1 Prozent Luft; die Pfade selbst unveraendert). Beide nutzen ihre Flaeche jetzt zu 98 Prozent. Im Seitenkopf ist CABINET damit rund zweieinhalb- mal so gross wie vorher, Rotpunkt gut anderthalbmal und auf derselben Hoehe wie Februe. Die Boxgroessen im Frontend bleiben unveraendert – Februe sass bereits richtig, eine groessere Box haette Februe mitvergroessert. Ein Test haelt fest, dass unter public/ die beschnittenen Fassungen liegen und nicht die Zulieferungen. Tests: 873 gruen (3217 Assertions), Pint sauber. Co-Authored-By: Claude Opus 5 --- dev/2026-08-28/entwicklungsplan.md | 32 ++++++++++++++++++++++----- public/img/assets/marken/cabinet.svg | 2 +- public/img/assets/marken/rotpunkt.svg | 2 +- tests/Feature/BrandPageTest.php | 9 ++++++++ 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md index 7e77a9b1..7407fe69 100644 --- a/dev/2026-08-28/entwicklungsplan.md +++ b/dev/2026-08-28/entwicklungsplan.md @@ -19,7 +19,7 @@ eingearbeitet. Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. **Stand 03.09.2026:** T1 und B1–B13 abgearbeitet, **alle Arbeitspakete AP0–AP6 umgesetzt**, die Bestandsinhalte auf den Interior-Auftritt umgestellt, die Seite abgestimmt und alle vier Punkte der Abstimmungsrunde vom 03.09. umgesetzt (Nachtrag 5). Alle drei Markenseiten haben jetzt einen -ausführlichen Text. `php artisan test --compact`: **871 grün** (3215 Assertions), Pint sauber, +ausführlichen Text. `php artisan test --compact`: **873 grün** (3217 Assertions), Pint sauber, `npm run build:b2in` gebaut. **Die Seite ist testbereit** – die ausstehenden Zulieferungen trägt Marcel selbst im CMS nach. @@ -1047,9 +1047,29 @@ beide Wege fest. wie Rotpunkt. Jedes Logo bekommt deshalb Höhe **und** Maximalbreite plus `object-contain` – die Konvention aus der Sponsoring-Sektion. -**Am Febrü-Logo nachgearbeitet:** Im Original waren knapp drei Viertel der Bildfläche leerer -Rand (Inhalt 570 × 238 in 3084 × 1948). In einer Box hätte es dadurch winzig gewirkt. Es ist auf -seinen Inhalt beschnitten und auf 760 px Breite gerechnet – 53 KB → 15 KB. +**Alle drei Dateien auf ihren Inhalt beschnitten.** Jede Zulieferung brachte leeren Rand mit, +und zwar unterschiedlich viel – dadurch wirkten die Logos trotz gleicher Box unterschiedlich +groß: + +| Logo | genutzte Höhe der Datei | nach dem Beschnitt | +|---|---|---| +| CABINET | **29 %** | 98 % | +| Rotpunkt | 70 % | 98 % | +| Febrü | 27 % | 100 % | + +CABINET ist ein 4:1-Schriftzug, der in einer nahezu quadratischen Fläche saß – im Seitenkopf +blieben davon rund 28 px sichtbare Höhe. Nach dem Beschnitt sind es 69 px bei voller Boxbreite, +also gut zweieinhalbmal so groß. Rotpunkt wächst um gut das Anderthalbfache und steht jetzt auf +derselben Höhe wie Febrü. + +Bei den beiden SVGs genügte dafür der `viewBox` (Ursprung und Maße auf die Tuschekante gesetzt, +plus 1 % Luft); die Pfade selbst sind unverändert. Der Febrü-PNG wurde tatsächlich beschnitten +und auf 760 px Breite gerechnet – 53 KB → 15 KB. Die Originale liegen unverändert in +`dev/2026-08-28/markenlogos/`. + +> Die Boxgrößen im Frontend sind dabei **nicht** angefasst worden: Febrü saß bereits richtig, und +> eine größere Box hätte auch Febrü mitvergrößert. Die anderen beiden wachsen allein dadurch, +> dass ihre Dateien den Platz jetzt ausnutzen. **Nachziehen auf bestehenden Installationen:** `CmsBrandSeeder` überspringt vorhandene Marken, trägt die Logos also nur bei einer frischen Installation ein. `BrandLogoSeeder` **(neu)** setzt @@ -1079,8 +1099,10 @@ selbst hochgeladenes Logo bleibt damit stehen; mehrfaches Ausführen ist unbeden - Alle drei Logos erscheinen auf Startseite, `/marken` und den „Weitere Marken"-Kacheln. - Die Dateien, auf die der Seeder zeigt, liegen tatsächlich unter `public/`. - `BrandLogoSeeder` überschreibt kein selbst hochgeladenes Logo. +- Die SVGs unter `public/` sind die beschnittenen Fassungen, nicht die Zulieferungen (erkennbar + am `viewBox`-Ursprung, der nach dem Beschnitt nicht mehr `0 0` ist). -`php artisan test --compact`: **871 grün** (3215 Assertions), Pint sauber, `npm run build:b2in` +`php artisan test --compact`: **873 grün** (3217 Assertions), Pint sauber, `npm run build:b2in` gebaut. --- diff --git a/public/img/assets/marken/cabinet.svg b/public/img/assets/marken/cabinet.svg index 7957e0b8..765d6e2a 100644 --- a/public/img/assets/marken/cabinet.svg +++ b/public/img/assets/marken/cabinet.svg @@ -1,7 +1,7 @@ + viewBox="52.9 148.4 488.7 123.3" xml:space="preserve"> + viewBox="68.6 47.4 356.8 294.2" xml:space="preserve">

@else

{{ $brand['name'] }}

@@ -355,7 +355,7 @@ class="card-elevated rounded-2xl p-8 block hover:shadow-lg transition-shadow duration-300"> @if (!empty($other['logo'])) {{ $other['name'] }} + class="h-[3.3rem] max-w-[10rem] w-auto mb-4 object-contain object-left" loading="lazy" /> @endif

{{ $other['name'] }}

diff --git a/resources/views/livewire/web/components/sections/brand-overview.blade.php b/resources/views/livewire/web/components/sections/brand-overview.blade.php index 40379d00..79c8b17c 100644 --- a/resources/views/livewire/web/components/sections/brand-overview.blade.php +++ b/resources/views/livewire/web/components/sections/brand-overview.blade.php @@ -19,11 +19,12 @@
- {{-- Feste Box statt fester Hoehe: die Markenlogos haben sehr - unterschiedliche Seitenverhaeltnisse und wirken sonst ungleich gross. --}} + {{-- Feste Box statt fester Hoehe: die Markenlogos haben sehr unterschiedliche + Seitenverhaeltnisse und wirken sonst ungleich gross. Die optische Feinabstimmung + steckt in den Zeichenflaechen der Dateien, nicht hier – siehe BrandLogoSeeder. --}} @if (!empty($brand['logo'])) {{ $brand['name'] }} + class="h-[4.2rem] max-w-[12rem] w-auto mb-5 object-contain object-left" loading="lazy" /> @endif

{{ $brand['name'] }}

diff --git a/resources/views/livewire/web/components/sections/core-brands.blade.php b/resources/views/livewire/web/components/sections/core-brands.blade.php index 52c41a38..3cd698fe 100644 --- a/resources/views/livewire/web/components/sections/core-brands.blade.php +++ b/resources/views/livewire/web/components/sections/core-brands.blade.php @@ -22,11 +22,12 @@ @endif
- {{-- Feste Box statt fester Hoehe: die Markenlogos haben sehr - unterschiedliche Seitenverhaeltnisse und wirken sonst ungleich gross. --}} + {{-- Feste Box statt fester Hoehe: die Markenlogos haben sehr unterschiedliche + Seitenverhaeltnisse und wirken sonst ungleich gross. Die optische Feinabstimmung + steckt in den Zeichenflaechen der Dateien, nicht hier – siehe BrandLogoSeeder. --}} @if (!empty($brand['logo'])) {{ $brand['name'] }} + class="h-[3.3rem] max-w-[10rem] w-auto mb-4 object-contain object-left" loading="lazy" /> @endif

{{ $brand['name'] }}

From 7953a8c9a178a5444ff1895ab0292d46ac56c3e6 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Tue, 15 Sep 2026 12:46:41 +0000 Subject: [PATCH 10/22] Interior-Farbwelt, Welten-Trennung, Tischlerei und Herkunfts-Sektion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Arbeitsplan 14.09.2026, Punkte 1.1 bis 1.4 (Nachträge 6 bis 10 im Entwicklungsplan): - Farbwelt Interior (Tanne, Creme, Sand, Ocker, Clay) als Standard, Immobilien-Welt behält das bisherige Blau über body.world-immobilien; Logo je Welt, Favicons neu, Welten-Wechsler in Kopf- und Fußzeile. - Saubere Trennung der Welten: eigene Navigation, Ankündigungsleiste, Magazinliste, Über-uns-Seite, FAQ, Kontaktseite und Abschluss-CTA für Immobilien; Beiträge tragen eine Welt (Migration + Admin-Feld). Abschluss-CTA Ton in Ton statt Grün-zu-Ocker. - Kontakt: Betreffe in Gruppen Interior / Immobilien / B2in, Marken darin. Terminanfrage-Buttons öffnen das Widget mit vorgewähltem Anliegen; Select-Felder einheitlich gestaltet. - Tischlerei als vierte Kernmarke (Platzhalter), Kachelraster 2×2. - Herkunfts-Sektion „Aus der Region gefertigt“ mit schematischer Standortkarte und Ablauf CABINET (Beratung Bielefeld, Fertigung Köln, Aufbau mit Tischlerei). Deployment: migrate, WorldSplitCmsSeeder, CmsBrandSeeder, OriginSectionCmsSeeder (Abschnitt 8 im Entwicklungsplan). Co-Authored-By: Claude Fable 5.1 --- CLAUDE.md | 2 +- app/Helpers/ThemeHelper.php | 16 +- .../Web/Components/Sections/AboutHero.php | 8 +- .../Web/Components/Sections/CTASection.php | 7 +- .../Web/Components/Sections/MagazinDetail.php | 12 + .../Web/Components/Sections/MagazinList.php | 12 +- .../Web/Components/Sections/OriginSection.php | 83 +++++ .../Web/Components/Sections/OurStory.php | 8 +- .../Web/Components/Sections/OurValues.php | 8 +- .../Web/Components/UI/AnnouncementBar.php | 9 +- .../Web/Components/UI/AppointmentWidget.php | 13 +- .../Web/Components/UI/ContactForm.php | 108 +++++- app/Livewire/Web/Components/UI/Footer.php | 36 ++ app/Livewire/Web/Components/UI/Header.php | 62 +++- app/Models/CmsArticle.php | 50 ++- app/helpers.php | 63 ++++ config/cms_section_map.php | 13 + config/domains.php | 22 +- database/factories/CmsArticleFactory.php | 1 + ...120000_add_world_to_cms_articles_table.php | 34 ++ database/seeders/CmsArticleSeeder.php | 1 + database/seeders/CmsBrandSeeder.php | 88 ++++- database/seeders/OriginSectionCmsSeeder.php | 29 ++ database/seeders/WorldSplitCmsSeeder.php | 63 ++++ .../Moebeldatenliste Stand 4.11.2025.csv | 0 dev/{12-01-2026 => 2026-01-12}/db-backup.sql | 0 .../entwicklungsplan.md | 0 dev/{12-01-2026 => 2026-01-12}/konzeption.md | 0 .../B2in Website-Architektur.md | 0 .../b2in-local-for-local.md | 0 .../b2in-umsetzung-changelog.md | 0 .../b2in-website-umsetzungsplan.md | 0 .../backup-before-relaunch/about.blade.php | 0 .../backup-before-relaunch/b2in.blade.php | 0 .../backup-before-relaunch/contact.blade.php | 0 .../backup-before-relaunch/content.php | 0 .../ecosystem.blade.php | 0 .../backup-before-relaunch/footer.blade.php | 0 .../backup-before-relaunch/hero.blade.php | 0 .../backup-before-relaunch/home.blade.php | 0 .../backup-before-relaunch/magazin.blade.php | 0 .../backup-before-relaunch/partner.blade.php | 0 .../backup-before-relaunch/web.php | 0 .../review-architektur-02-03-2026.md | 0 dev/{12-03-2026 => 2026-03-12}/content.md | 0 dev/{12-03-2026 => 2026-03-12}/magazin.md | 0 dev/{12-03-2026 => 2026-03-12}/tasks.md | 0 dev/2026-08-28/entwicklungsplan.md | 283 ++++++++++++++- .../B2In-Logo-negativ-2025-09-22_RGB.svg | 36 ++ .../B2In-Logo-positiv-2025-09-22_RGB.svg | 36 ++ ..._Interior-Logo-negativ-2025-09-22_CMYK.svg | 55 --- ...n_Interior-Logo-negativ-2026-09-07_RGB.svg | 53 +++ ..._Interior-Logo-positiv-2025-09-22_CMYK.svg | 55 --- ...n_Interior-Logo-positiv-2026-09-07_RGB.svg | 53 +++ dev/2026-08-28/umsetzungen-14-09-2026.md | 186 ++++++++++ .../assets/b2in-interior-logo-negative.svg | 81 +++-- .../assets/b2in-interior-logo-positive.svg | 81 +++-- public/_cabinet/assets/b2in-logo-positive.svg | 57 +-- public/favicon/android-icon-144x144.png | Bin 5347 -> 4170 bytes public/favicon/android-icon-192x192.png | Bin 5649 -> 5507 bytes public/favicon/android-icon-36x36.png | Bin 2201 -> 1121 bytes public/favicon/android-icon-48x48.png | Bin 2042 -> 1495 bytes public/favicon/android-icon-72x72.png | Bin 2763 -> 2205 bytes public/favicon/android-icon-96x96.png | Bin 3596 -> 2851 bytes public/favicon/apple-icon-114x114.png | Bin 4232 -> 3373 bytes public/favicon/apple-icon-120x120.png | Bin 4412 -> 3639 bytes public/favicon/apple-icon-144x144.png | Bin 5347 -> 4212 bytes public/favicon/apple-icon-152x152.png | Bin 5670 -> 4417 bytes public/favicon/apple-icon-180x180.png | Bin 6843 -> 5291 bytes public/favicon/apple-icon-57x57.png | Bin 2300 -> 1714 bytes public/favicon/apple-icon-60x60.png | Bin 2388 -> 1876 bytes public/favicon/apple-icon-72x72.png | Bin 2763 -> 2216 bytes public/favicon/apple-icon-76x76.png | Bin 2882 -> 2361 bytes public/favicon/apple-icon-precomposed.png | Bin 6191 -> 5612 bytes public/favicon/apple-icon.png | Bin 6191 -> 5612 bytes public/favicon/favicon-16x16.png | Bin 1278 -> 478 bytes public/favicon/favicon-32x32.png | Bin 1950 -> 1023 bytes public/favicon/favicon-96x96.png | Bin 3596 -> 2851 bytes public/favicon/favicon.ico | Bin 1150 -> 3050 bytes public/favicon/ms-icon-144x144.png | Bin 5347 -> 4170 bytes public/favicon/ms-icon-150x150.png | Bin 5612 -> 4344 bytes public/favicon/ms-icon-310x310.png | Bin 14643 -> 8848 bytes public/favicon/ms-icon-70x70.png | Bin 2746 -> 2068 bytes public/img/favicons/b2in-favicon.ico | Bin 0 -> 3050 bytes .../img/logos/b2in-interior-logo-negative.png | Bin 5383 -> 12658 bytes .../img/logos/b2in-interior-logo-negative.svg | 81 +++-- .../img/logos/b2in-interior-logo-positive.png | Bin 6864 -> 12817 bytes .../img/logos/b2in-interior-logo-positive.svg | 81 +++-- public/img/logos/b2in-logo-negative.png | Bin 22320 -> 10958 bytes public/img/logos/b2in-logo-negative.svg | 61 ++-- public/img/logos/b2in-logo-positive.png | Bin 23497 -> 13032 bytes public/img/logos/b2in-logo-positive.svg | 61 ++-- resources/css/web/shared-styles.css | 208 +++++++++-- resources/css/web/theme-b2in.css | 186 +++++++--- resources/js/app.js | 16 + resources/lang/de/b2in.php | 290 ++++++++++++++- resources/lang/de/ui.php | 6 + resources/lang/en/b2in.php | 276 +++++++++++++- resources/lang/en/ui.php | 6 + .../components/appointment-link.blade.php | 17 + .../admin/cms/articles-index.blade.php | 17 +- .../sections/audience-switch.blade.php | 4 +- .../sections/brand-detail.blade.php | 8 +- .../sections/c-t-a-section.blade.php | 14 +- .../components/sections/core-brands.blade.php | 3 +- .../web/components/sections/hero.blade.php | 4 +- .../sections/magazin-detail.blade.php | 4 +- .../components/sections/marken-cta.blade.php | 4 +- .../sections/origin-section.blade.php | 126 +++++++ .../sections/reference-projects.blade.php | 4 +- .../ui/appointment-widget.blade.php | 27 +- .../web/components/ui/contact-form.blade.php | 32 +- .../web/components/ui/footer.blade.php | 33 +- .../web/components/ui/header.blade.php | 40 ++- .../views/vendor/mail/html/header.blade.php | 5 +- resources/views/web/contact.blade.php | 16 +- .../views/web/dev/immobilien-azizi.blade.php | 8 +- resources/views/web/faq.blade.php | 16 +- resources/views/web/home.blade.php | 1 + .../views/web/immobilien-about.blade.php | 31 ++ .../web/layouts/web-master-slot.blade.php | 2 +- .../views/web/layouts/web-master.blade.php | 6 +- resources/views/web/magazin.blade.php | 16 +- resources/views/web/marken.blade.php | 3 +- routes/web.php | 24 ++ tests/Feature/AnnouncementBarTest.php | 48 ++- tests/Feature/AppointmentTriggerTest.php | 87 +++++ tests/Feature/Cms/CmsBrandTest.php | 9 +- tests/Feature/ColorWorldsTest.php | 163 +++++++++ tests/Feature/ContactFormTest.php | 8 +- tests/Feature/FourthBrandTest.php | 90 +++++ tests/Feature/HomePageStructureTest.php | 20 +- tests/Feature/LiveSiteReviewTest.php | 10 +- tests/Feature/MagazinPageTest.php | 19 +- tests/Feature/MarkenPageTest.php | 6 +- tests/Feature/OriginSectionTest.php | 169 +++++++++ tests/Feature/WorldSplitTest.php | 339 ++++++++++++++++++ 137 files changed, 3840 insertions(+), 589 deletions(-) create mode 100644 app/Livewire/Web/Components/Sections/OriginSection.php create mode 100644 database/migrations/2026_09_14_120000_add_world_to_cms_articles_table.php create mode 100644 database/seeders/OriginSectionCmsSeeder.php create mode 100644 database/seeders/WorldSplitCmsSeeder.php rename dev/{12-01-2026 => 2026-01-12}/Moebeldatenliste Stand 4.11.2025.csv (100%) rename dev/{12-01-2026 => 2026-01-12}/db-backup.sql (100%) rename dev/{12-01-2026 => 2026-01-12}/entwicklungsplan.md (100%) rename dev/{12-01-2026 => 2026-01-12}/konzeption.md (100%) rename dev/{27-02-2026 => 2026-02-27}/B2in Website-Architektur.md (100%) rename dev/{27-02-2026 => 2026-02-27}/b2in-local-for-local.md (100%) rename dev/{27-02-2026 => 2026-02-27}/b2in-umsetzung-changelog.md (100%) rename dev/{27-02-2026 => 2026-02-27}/b2in-website-umsetzungsplan.md (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/about.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/b2in.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/contact.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/content.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/ecosystem.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/footer.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/hero.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/home.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/magazin.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/partner.blade.php (100%) rename dev/{27-02-2026 => 2026-02-27}/backup-before-relaunch/web.php (100%) rename dev/{27-02-2026 => 2026-02-27}/review-architektur-02-03-2026.md (100%) rename dev/{12-03-2026 => 2026-03-12}/content.md (100%) rename dev/{12-03-2026 => 2026-03-12}/magazin.md (100%) rename dev/{12-03-2026 => 2026-03-12}/tasks.md (100%) create mode 100644 dev/2026-08-28/logos/B2In-Logo-negativ-2025-09-22_RGB.svg create mode 100644 dev/2026-08-28/logos/B2In-Logo-positiv-2025-09-22_RGB.svg delete mode 100644 dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg create mode 100644 dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2026-09-07_RGB.svg delete mode 100644 dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg create mode 100644 dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2026-09-07_RGB.svg create mode 100644 dev/2026-08-28/umsetzungen-14-09-2026.md create mode 100644 public/img/favicons/b2in-favicon.ico create mode 100644 resources/views/components/appointment-link.blade.php create mode 100644 resources/views/livewire/web/components/sections/origin-section.blade.php create mode 100644 resources/views/web/immobilien-about.blade.php create mode 100644 tests/Feature/AppointmentTriggerTest.php create mode 100644 tests/Feature/ColorWorldsTest.php create mode 100644 tests/Feature/FourthBrandTest.php create mode 100644 tests/Feature/OriginSectionTest.php create mode 100644 tests/Feature/WorldSplitTest.php diff --git a/CLAUDE.md b/CLAUDE.md index ed7a30e0..3fb45724 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -128,7 +128,7 @@ Domains are configured in `config/domains.php` with environment variables: Domain-specific configurations include: - **portal.b2in.test**: Admin backend with Flux UI theme -- **b2in.test**: Anthracite/Dynamic Blue color scheme, Inter/IBM Plex Sans fonts +- **b2in.test**: two color worlds on one theme – Interior (default: Tanne `#202c2b`, Creme `#f7f4ef`, Sand `#d9cbbf`, Ocker `#d39e46`, Clay `#a38f82`, Anthrazit `#2d2926`; Inter/EB Garamond) and Immobilien (`body.world-immobilien`: Anthracite/Dynamic Blue, Inter/IBM Plex Sans). The world comes from `b2in_world()` (app/helpers.php), the logo per world from `ThemeHelper::getLogoPath()` - **b2a.test**: Azur Blue/Liberty Red color scheme, Inter/Merriweather fonts - **stileigentum.test**: Style Blue/Style Sun color scheme, Inter/Ephesis fonts - **style2own.test**: Imperial Blue/Sand Gold color scheme, Inter/EB Garamond fonts diff --git a/app/Helpers/ThemeHelper.php b/app/Helpers/ThemeHelper.php index 92cb95bf..ca403e51 100644 --- a/app/Helpers/ThemeHelper.php +++ b/app/Helpers/ThemeHelper.php @@ -5,12 +5,20 @@ namespace App\Helpers; class ThemeHelper { /** - * Get the logo path based on the current theme + * Logo-Pfad für das aktuelle Theme. + * + * Für b2in hängt die Datei zusätzlich an der Farbwelt: die Interior-Welt trägt das Logo + * mit dem Zusatz „Interior“ und ockerfarbenem Bogen, die Immobilien-Welt das Logo ohne + * Zusatz mit blauem Bogen. Ohne Angabe wird die Welt aus der aktuellen Route gelesen. */ - public static function getLogoPath(string $type = 'positive'): string + public static function getLogoPath(string $type = 'positive', ?string $world = null): string { $theme = config('app.theme', 'b2in'); + if ($theme === 'b2in' && ($world ?? b2in_world()) === 'immobilien') { + return self::getLogoPathForBrand('b2in-immobilien', $type); + } + return self::getLogoPathForBrand($theme, $type); } @@ -26,6 +34,10 @@ class ThemeHelper 'positive' => 'img/logos/b2in-interior-logo-positive.svg', 'negative' => 'img/logos/b2in-interior-logo-negative.svg', ], + 'b2in-immobilien' => [ + 'positive' => 'img/logos/b2in-logo-positive.svg', + 'negative' => 'img/logos/b2in-logo-negative.svg', + ], 'b2a' => [ 'positive' => 'img/logos/b2a-logo-positiv.svg', 'negative' => 'img/logos/b2a-logo-negativ.svg', diff --git a/app/Livewire/Web/Components/Sections/AboutHero.php b/app/Livewire/Web/Components/Sections/AboutHero.php index c0aaa1a7..1cb3233a 100644 --- a/app/Livewire/Web/Components/Sections/AboutHero.php +++ b/app/Livewire/Web/Components/Sections/AboutHero.php @@ -8,9 +8,13 @@ class AboutHero extends Component { public $content = []; - public function mount() + /** Sektionsschluessel – die Immobilien-Welt nutzt eigene Inhalte (immobilien_about_hero). */ + public string $section = 'about_hero'; + + public function mount(string $section = 'about_hero') { - $this->content = cms_theme_section('about_hero'); + $this->section = $section; + $this->content = cms_theme_section($this->section); } public function render() diff --git a/app/Livewire/Web/Components/Sections/CTASection.php b/app/Livewire/Web/Components/Sections/CTASection.php index 6fc5c452..b668225b 100644 --- a/app/Livewire/Web/Components/Sections/CTASection.php +++ b/app/Livewire/Web/Components/Sections/CTASection.php @@ -12,8 +12,13 @@ class CTASection extends Component public $section = ''; - public function mount($bg = 'bg-secondary', $section = 'cta_section') + public function mount($bg = 'cta-band', $section = 'cta_section') { + // Der Standard-Abschluss hat je Welt eigene Texte und fuehrt zur Kontaktseite der Welt. + if ($section === 'cta_section' && b2in_world() === 'immobilien') { + $section = 'cta_section_immobilien'; + } + $this->section = $section; $this->content = cms_theme_section($this->section); $this->bg = $bg; diff --git a/app/Livewire/Web/Components/Sections/MagazinDetail.php b/app/Livewire/Web/Components/Sections/MagazinDetail.php index bd2a5f52..1a1fe7a3 100644 --- a/app/Livewire/Web/Components/Sections/MagazinDetail.php +++ b/app/Livewire/Web/Components/Sections/MagazinDetail.php @@ -15,14 +15,25 @@ class MagazinDetail extends Component public $content; + /** Rueckweg zur Magazinliste der Welt, zu der der Beitrag gehoert. */ + public string $listUrl = ''; + public function mount($slug) { $this->slug = (string) $slug; $this->loadArticle(); + $this->listUrl = $this->articleWorld() === CmsArticle::WORLD_IMMOBILIEN + ? route('immobilien.magazin') + : route('magazin'); $this->loadRelatedArticles(); $this->loadThemeContent(); } + private function articleWorld(): string + { + return (string) ($this->article['world'] ?? CmsArticle::WORLD_INTERIOR); + } + private function loadArticle() { $articles = $this->getArticlesData(); @@ -37,6 +48,7 @@ class MagazinDetail extends Component private function loadRelatedArticles() { $this->relatedArticles = collect($this->getArticlesData()) + ->filter(fn (array $article) => ($article['world'] ?? CmsArticle::WORLD_INTERIOR) === $this->articleWorld()) ->reject(fn (array $article, string $slug) => $slug === $this->slug) ->take(2) ->values() diff --git a/app/Livewire/Web/Components/Sections/MagazinList.php b/app/Livewire/Web/Components/Sections/MagazinList.php index 6b35c4f7..039a63e2 100644 --- a/app/Livewire/Web/Components/Sections/MagazinList.php +++ b/app/Livewire/Web/Components/Sections/MagazinList.php @@ -11,15 +11,19 @@ class MagazinList extends Component public $content = []; - public function mount() + /** Farbwelt der Liste: `interior` (/magazin) oder `immobilien` (/immobilien/magazin). */ + public string $world = CmsArticle::WORLD_INTERIOR; + + public function mount(string $world = CmsArticle::WORLD_INTERIOR) { + $this->world = in_array($world, CmsArticle::WORLDS, true) ? $world : CmsArticle::WORLD_INTERIOR; $this->loadPosts(); $this->loadThemeContent(); } private function loadPosts() { - $this->posts = collect(CmsArticle::forFrontend())->map(function (array $article) { + $this->posts = collect(CmsArticle::forFrontend($this->world))->map(function (array $article) { return [ 'slug' => $article['slug'], 'title' => $article['title'], @@ -33,7 +37,9 @@ class MagazinList extends Component private function loadThemeContent() { - $this->content = cms_theme_section('magazin_list'); + $this->content = cms_theme_section( + $this->world === CmsArticle::WORLD_IMMOBILIEN ? 'magazin_list_immobilien' : 'magazin_list' + ); } public function render() diff --git a/app/Livewire/Web/Components/Sections/OriginSection.php b/app/Livewire/Web/Components/Sections/OriginSection.php new file mode 100644 index 00000000..835e09ed --- /dev/null +++ b/app/Livewire/Web/Components/Sections/OriginSection.php @@ -0,0 +1,83 @@ + */ + public array $content = []; + + public string $bg = ''; + + public function mount(string $bg = ''): void + { + $section = cms_theme_section('origin_section'); + $this->content = is_array($section) ? $section : []; + $this->bg = $bg; + } + + /** + * Standorte mit ausgefüllten Pflichtfeldern, damit ein leerer CMS-Eintrag die Karte nicht zerreißt. + * + * Der Link zur Markenseite kommt nicht aus dem CMS, sondern aus den veröffentlichten Marken: + * eine unveröffentlichte Marke bekommt keinen Link, ihr Standort bleibt aber sichtbar. + * + * @return array> + */ + public function getLocationsProperty(): array + { + $locations = $this->content['locations'] ?? []; + + if (! is_array($locations)) { + return []; + } + + $brands = CmsBrand::forFrontend(); + + $out = []; + + foreach ($locations as $location) { + if (! is_array($location) || empty($location['brand']) || empty($location['city'])) { + continue; + } + + $location['link'] = $this->brandLink($location, $brands); + $out[] = $location; + } + + return $out; + } + + /** + * @param array $location + * @param array> $brands + */ + private function brandLink(array $location, array $brands): ?string + { + $slug = $location['brand_slug'] ?? null; + + if (is_string($slug) && isset($brands[$slug])) { + return '/marken/'.$slug; + } + + foreach ($brands as $brandSlug => $brand) { + if (($brand['name'] ?? null) === $location['brand']) { + return '/marken/'.$brandSlug; + } + } + + return null; + } + + public function render() + { + return view('livewire.web.components.sections.origin-section'); + } +} diff --git a/app/Livewire/Web/Components/Sections/OurStory.php b/app/Livewire/Web/Components/Sections/OurStory.php index 77926785..5086f981 100644 --- a/app/Livewire/Web/Components/Sections/OurStory.php +++ b/app/Livewire/Web/Components/Sections/OurStory.php @@ -8,9 +8,13 @@ class OurStory extends Component { public $content = []; - public function mount() + /** Sektionsschluessel – die Immobilien-Welt nutzt eigene Inhalte (immobilien_our_story). */ + public string $section = 'our_story'; + + public function mount(string $section = 'our_story') { - $this->content = cms_theme_section('our_story'); + $this->section = $section; + $this->content = cms_theme_section($this->section); } public function render() diff --git a/app/Livewire/Web/Components/Sections/OurValues.php b/app/Livewire/Web/Components/Sections/OurValues.php index d6979b66..f13ddabd 100644 --- a/app/Livewire/Web/Components/Sections/OurValues.php +++ b/app/Livewire/Web/Components/Sections/OurValues.php @@ -8,9 +8,13 @@ class OurValues extends Component { public $content = []; - public function mount() + /** Sektionsschluessel – die Immobilien-Welt nutzt eigene Inhalte (immobilien_our_values). */ + public string $section = 'our_values'; + + public function mount(string $section = 'our_values') { - $this->content = cms_theme_section('our_values'); + $this->section = $section; + $this->content = cms_theme_section($this->section); } public function render() diff --git a/app/Livewire/Web/Components/UI/AnnouncementBar.php b/app/Livewire/Web/Components/UI/AnnouncementBar.php index 8d2fd94f..b511e779 100644 --- a/app/Livewire/Web/Components/UI/AnnouncementBar.php +++ b/app/Livewire/Web/Components/UI/AnnouncementBar.php @@ -8,9 +8,16 @@ class AnnouncementBar extends Component { public array $content = []; + /** Farbwelt der Seite – jede Welt hat ihre eigene Meldung. */ + public string $world = 'interior'; + public function mount(): void { - $this->content = cms_theme_section('announcement_bar'); + $this->world = b2in_world(); + + // Interior: global.announcement_bar, Immobilien: global.announcement_bar_immobilien. + $section = cms_theme_section($this->world === 'immobilien' ? 'announcement_bar_immobilien' : 'announcement_bar'); + $this->content = is_array($section) ? $section : []; } /** diff --git a/app/Livewire/Web/Components/UI/AppointmentWidget.php b/app/Livewire/Web/Components/UI/AppointmentWidget.php index 5532fda6..a6362f19 100644 --- a/app/Livewire/Web/Components/UI/AppointmentWidget.php +++ b/app/Livewire/Web/Components/UI/AppointmentWidget.php @@ -20,9 +20,13 @@ class AppointmentWidget extends Component /** Feste Anliegen neben den gepflegten Marken. */ public const EXTRA_TOPICS = [ 'projektausstattung' => 'Projektausstattung', + 'immobilien' => 'Immobilien', 'sonstiges' => 'Sonstiges', ]; + /** Farbwelt der Seite – in der Immobilien-Welt ist das Anliegen vorbelegt. */ + public string $world = 'interior'; + public string $name = ''; public string $email = ''; @@ -52,6 +56,11 @@ class AppointmentWidget extends Component $section = cms_theme_section('appointment_widget'); $this->content = is_array($section) ? $section : []; $this->formLoadedAt = time(); + $this->world = b2in_world(); + + if ($this->world === 'immobilien') { + $this->topic = 'immobilien'; + } $this->applyBrandContext(); } @@ -134,11 +143,13 @@ class AppointmentWidget extends Component $payload['is_spam'] = SpamDetector::fromConfig()->detect($payload, $this->formLoadedAt); - $subject = 'Terminanfrage B2in Interior'.($topicLabel !== '' ? ': '.$topicLabel : ''); + $subject = ($this->world === 'immobilien' ? 'Terminanfrage B2in Immobilien' : 'Terminanfrage B2in Interior') + .($topicLabel !== '' ? ': '.$topicLabel : ''); $service->handle($payload, $subject, 'appointment-widget'); $this->success = true; $this->reset(['name', 'email', 'phone', 'topic', 'preferredDate', 'message', 'privacy', 'website']); + $this->topic = $this->world === 'immobilien' ? 'immobilien' : ''; $this->formLoadedAt = time(); } diff --git a/app/Livewire/Web/Components/UI/ContactForm.php b/app/Livewire/Web/Components/UI/ContactForm.php index b1172057..46b0df84 100644 --- a/app/Livewire/Web/Components/UI/ContactForm.php +++ b/app/Livewire/Web/Components/UI/ContactForm.php @@ -4,6 +4,8 @@ namespace App\Livewire\Web\Components\Ui; use Acme\ContactForm\ContactFormService; use Acme\ContactForm\SpamDetector; +use App\Models\CmsBrand; +use Illuminate\Validation\Rule; use Livewire\Component; class ContactForm extends Component @@ -34,16 +36,109 @@ class ContactForm extends Component /** @var array */ public array $content = []; - public function mount(): void + /** Farbwelt der Seite (`interior` | `immobilien`). */ + public string $world = 'interior'; + + public function mount(string $world = 'interior'): void { - $this->content = cms_theme_section('contact_form'); + $this->world = $world === 'immobilien' ? 'immobilien' : 'interior'; + $this->content = $this->loadContent(); $this->formLoadedAt = time(); } - /** @return array */ + /** + * Inhalte der Welt. Die Immobilien-Welt liegt als Overlay über der Interior-Sektion: + * `contact_form_immobilien` trägt nur, was abweicht (Einstieg, Betreffe) – Adresse, + * Beschriftungen und Social Media erbt sie von `contact_form`. + * + * @return array + */ + private function loadContent(): array + { + $base = cms_theme_section('contact_form'); + $base = is_array($base) ? $base : []; + + if ($this->world !== 'immobilien') { + return $base; + } + + $overlay = cms_theme_section('contact_form_immobilien'); + + if (! is_array($overlay)) { + return $base; + } + + return array_replace_recursive($base, $overlay); + } + + /** + * Betreffe in Gruppen: Interior (mit den gepflegten Kernmarken vorneweg), Immobilien, B2in. + * Die Welt der Seite bestimmt die Reihenfolge – ihre Gruppe steht oben. + * + * Ohne `subject_groups` (aeltere CMS-Staende) faellt das Formular auf die flache Liste zurueck. + * + * @return array}> + */ + public function getSubjectGroupsProperty(): array + { + $groups = $this->content['form']['subject_groups'] ?? null; + + if (! is_array($groups) || $groups === []) { + $flat = $this->content['form']['subjects'] ?? []; + unset($flat['']); + + return $flat === [] ? [] : ['all' => ['label' => '', 'subjects' => $flat]]; + } + + $brands = []; + + foreach (CmsBrand::forFrontend() as $slug => $brand) { + $brands[$slug] = (string) ($brand['name'] ?? $slug); + } + + $out = []; + + foreach ($groups as $key => $group) { + $subjects = is_array($group['subjects'] ?? null) ? $group['subjects'] : []; + + if ($key === 'interior') { + $subjects = $brands + $subjects; + } + + $out[$key] = [ + 'label' => (string) ($group['label'] ?? ''), + 'subjects' => $subjects, + ]; + } + + $first = $this->world === 'immobilien' ? 'immobilien' : 'interior'; + + if (isset($out[$first])) { + $out = [$first => $out[$first]] + $out; + } + + return $out; + } + + /** + * Alle waehlbaren Betreffe als flache Liste (Schluessel → Beschriftung). + * + * @return array + */ public function getSubjectsProperty(): array { - return $this->content['form']['subjects'] ?? []; + $flat = []; + + foreach ($this->getSubjectGroupsProperty() as $group) { + $flat += $group['subjects']; + } + + return $flat; + } + + public function getSubjectPlaceholderProperty(): string + { + return (string) ($this->content['form']['subjects'][''] ?? $this->content['form']['subject_placeholder'] ?? __('ui.contact_form.subject_placeholder')); } /** @return array> */ @@ -64,7 +159,7 @@ class ContactForm extends Component 'firstName' => ['required', 'string', 'max:255'], 'lastName' => ['required', 'string', 'max:255'], 'email' => ['required', 'email:rfc', 'max:255'], - 'subject' => ['required', 'string'], + 'subject' => ['required', 'string', Rule::in(array_keys($this->subjects))], 'message' => ['required', 'string', 'max:2000'], 'company' => ['nullable', 'string', 'max:255'], 'phone' => ['nullable', 'string', 'max:255'], @@ -90,8 +185,9 @@ class ContactForm extends Component $payload['is_spam'] = $spamDetector->detect($payload, $this->formLoadedAt); $subjectLabel = $this->getSubjectsProperty()[$this->subject] ?? $this->subject; + $prefix = $this->world === 'immobilien' ? 'Kontaktanfrage B2in Immobilien' : 'Kontaktanfrage B2in'; $subjectLine = $subjectLabel - ? 'Kontaktanfrage B2in: ' . $subjectLabel + ? $prefix.': '.$subjectLabel : __('contact-form::contact-form.default_subject'); $service->handle($payload, $subjectLine, 'contact-form'); diff --git a/app/Livewire/Web/Components/UI/Footer.php b/app/Livewire/Web/Components/UI/Footer.php index 85a1abac..81d85fc9 100644 --- a/app/Livewire/Web/Components/UI/Footer.php +++ b/app/Livewire/Web/Components/UI/Footer.php @@ -9,10 +9,46 @@ class Footer extends Component /** @var array */ public array $content = []; + /** Farbwelt der Seite (`interior` | `immobilien`), in mount() festgehalten. */ + public string $world = 'interior'; + + /** @var array */ + public array $worlds = []; + + public string $logoPath = ''; + + /** + * Fuer die Immobilien-Welt zeigen die gemeinsamen Footer-Links auf die Seiten dieser Welt. + * + * @var array + */ + private const IMMOBILIEN_LINKS = [ + '/faq' => '/immobilien/faq', + '/about' => '/immobilien/ueber-b2in', + '/magazin' => '/immobilien/magazin', + ]; + public function mount(): void { $section = cms_theme_section('footer'); $this->content = is_array($section) ? $section : []; + $this->world = b2in_world(); + + if ($this->world === 'immobilien' && is_array($this->content['links'] ?? null)) { + $this->content['links'] = array_map(function ($link) { + if (is_array($link) && isset(self::IMMOBILIEN_LINKS[$link['url'] ?? ''])) { + $link['url'] = self::IMMOBILIEN_LINKS[$link['url']]; + } + + return $link; + }, $this->content['links']); + } + $this->worlds = b2in_worlds($this->world); + + // Der Interior-Footer liegt auf Sand (helle Fläche) und trägt deshalb das positive + // Logo; der Immobilien-Footer bleibt dunkel und nutzt die negative Variante. + $variant = $this->world === 'immobilien' ? 'negative' : 'positive'; + $this->logoPath = \App\Helpers\ThemeHelper::getLogoPath($variant, $this->world); } public function render() diff --git a/app/Livewire/Web/Components/UI/Header.php b/app/Livewire/Web/Components/UI/Header.php index e59a0ffe..9dc8d71d 100644 --- a/app/Livewire/Web/Components/UI/Header.php +++ b/app/Livewire/Web/Components/UI/Header.php @@ -16,13 +16,33 @@ class Header extends Component 'en' => 'EN', ]; + /** Farbwelt der Seite (`interior` | `immobilien`), in mount() festgehalten. */ + public string $world = 'interior'; + + /** @var array */ + public array $worlds = []; + + public string $logoPath = ''; + + /** Pfad der Seite, in mount() festgehalten – ein Livewire-Request traegt ihn nicht mehr. */ + public string $currentPath = '/'; + + /** Ziel des Kontakt-Buttons: /contact (Interior) bzw. /immobilien/kontakt (Immobilien). */ + public string $contactUrl = ''; + public function mount(): void { $this->domainName = \App\Helpers\ThemeHelper::getDomainName(); $this->domainUrl = \App\Helpers\ThemeHelper::getDomainUrl(); $this->currentLocale = app()->getLocale(); + $this->world = b2in_world(); + $this->worlds = b2in_worlds($this->world); + $this->logoPath = \App\Helpers\ThemeHelper::getLogoPath('positive', $this->world); + $this->currentPath = '/'.ltrim(request()->path(), '/'); + $this->contactUrl = route($this->world === 'immobilien' ? 'immobilien.contact' : 'contact'); - $this->content = cms_theme_section('header'); + // Jede Welt hat ihre eigene Navigation (CMS: global.header bzw. global.header_immobilien). + $this->content = cms_theme_section($this->world === 'immobilien' ? 'header_immobilien' : 'header'); // Ensure required keys exist if (!isset($this->content['portal_login'])) { @@ -57,27 +77,43 @@ class Header extends Component { $this->isMobileMenuOpen = false; } - public function isActiveRoute($url) + /** + * Aktiver Navigationspunkt: exakter Treffer, sonst der laengste Eintrag, dessen Pfad ein + * Praefix der Seite ist. So markiert /immobilien/magazin nur „Magazin“, nicht auch + * „Immobilien“. Anker (#…) zaehlen nicht zum Pfad. + */ + public function isActiveRoute($url): bool { - $currentPath = request()->path(); - $currentPath = '/' . ltrim($currentPath, '/'); + $path = $this->navPath((string) $url); - // Exact match - if ($currentPath === $url) { + if ($this->currentPath === $path) { return true; } - // Special handling for home route - if ($url === '/' && ($currentPath === '/' || $currentPath === '')) { - return true; + if ($path === '/' || ! str_starts_with($this->currentPath, rtrim($path, '/').'/')) { + return false; } - // Check if current path starts with the navigation URL (for sub-pages) - if ($url !== '/' && str_starts_with($currentPath, rtrim($url, '/'))) { - return true; + foreach ($this->content['navigation'] ?? [] as $navItem) { + $other = $this->navPath((string) ($navItem['url'] ?? '')); + + if ($other === $this->currentPath) { + return false; + } + + if (strlen($other) > strlen($path) && str_starts_with($this->currentPath, rtrim($other, '/').'/')) { + return false; + } } - return false; + return true; + } + + private function navPath(string $url): string + { + $path = (string) (parse_url($url, PHP_URL_PATH) ?? '/'); + + return '/'.ltrim($path, '/'); } public function render() { diff --git a/app/Models/CmsArticle.php b/app/Models/CmsArticle.php index 4a3e9941..f5e1d92c 100644 --- a/app/Models/CmsArticle.php +++ b/app/Models/CmsArticle.php @@ -29,12 +29,31 @@ class CmsArticle extends Model 5 => 'local-for-local-regionaler-moebelhandel', ]; + public const WORLD_INTERIOR = 'interior'; + + public const WORLD_IMMOBILIEN = 'immobilien'; + + /** @var array */ + public const WORLDS = [self::WORLD_INTERIOR, self::WORLD_IMMOBILIEN]; + + /** + * Beiträge aus dem Bestand, die zur Immobilien-Welt gehören (Dubai-Themen). + * + * @var array + */ + public const LEGACY_IMMOBILIEN_SLUGS = [ + 'escrow-system-dubai-investoren', + 'spotlight-al-jaddaf-hotspot', + 'turnkey-investments-moeblierung-rendite', + ]; + protected $fillable = [ 'slug', 'title', 'subtitle', 'image', 'category', + 'world', 'date_label', 'read_time', 'author', @@ -69,6 +88,11 @@ class CmsArticle extends Model return $query->orderBy('order')->orderByDesc('created_at'); } + public function scopeForWorld(Builder $query, string $world): Builder + { + return $query->where('world', $world); + } + /** * Veröffentlichte Artikel fürs Frontend, nach Slug indiziert. * @@ -76,19 +100,32 @@ class CmsArticle extends Model * dieselbe Reihenfolge wie bei cms_theme_section(), damit das Magazin auf einer frischen * Installation nicht leer ist. * + * Mit `$world` nur die Beiträge dieser Farbwelt (Interior oder Immobilien) – die beiden + * Magazinlisten sind getrennt, die Detailseite rendert in der Welt ihres Beitrags. + * * @return array> */ - public static function forFrontend(): array + public static function forFrontend(?string $world = null): array { - $articles = static::query()->published()->ordered()->get(); + $maintained = static::query()->published()->exists(); - if ($articles->isNotEmpty()) { - return $articles + if ($maintained) { + return static::query() + ->published() + ->when($world !== null, fn (Builder $query) => $query->forWorld($world)) + ->ordered() + ->get() ->mapWithKeys(fn (self $article) => [$article->slug => $article->toFrontendArray()]) ->all(); } - return static::fallbackFromLang(); + $articles = static::fallbackFromLang(); + + if ($world === null) { + return $articles; + } + + return array_filter($articles, fn (array $article) => ($article['world'] ?? self::WORLD_INTERIOR) === $world); } /** @@ -143,7 +180,7 @@ class CmsArticle extends Model continue; } - $out[$slug] = $article + ['slug' => $slug]; + $out[$slug] = $article + ['slug' => $slug, 'world' => self::WORLD_INTERIOR]; } return $out; @@ -161,6 +198,7 @@ class CmsArticle extends Model 'subtitle' => $this->subtitle, 'image' => $this->image, 'category' => $this->category, + 'world' => $this->world ?? self::WORLD_INTERIOR, 'date' => $this->date_label, 'readTime' => $this->read_time, 'author' => $this->author ?? [], diff --git a/app/helpers.php b/app/helpers.php index 4e355c45..33f0caba 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -206,3 +206,66 @@ if (! function_exists('media_url')) { return $resolved[$cacheKey]; } } + +if (! function_exists('b2in_world')) { + /** + * Farbwelt der aktuellen Seite: `interior` (Standard) oder `immobilien`. + * + * Die Immobilien-Welt umfasst die Immobilien-Routen samt Detailseiten und den + * Entwicklungs-Vorschauen. Das Layout setzt den Wert als Body-Klasse + * (`world-interior` / `world-immobilien`), theme-b2in.css schaltet daran die Farben um. + * Livewire-Komponenten merken sich die Welt in mount(), weil ein späterer + * Livewire-Request keine Seitenroute mehr trägt. + */ + function b2in_world(): string + { + if (app()->bound('b2in.world')) { + return (string) app('b2in.world'); + } + + $routeName = request()->route()?->getName(); + + if (is_string($routeName) && (str_starts_with($routeName, 'immobilien') || str_starts_with($routeName, 'dev.immobilien'))) { + return 'immobilien'; + } + + return 'interior'; + } +} + +if (! function_exists('b2in_worlds')) { + /** + * Die beiden Welten für den Welten-Wechsler in Kopf- und Fußzeile. + * + * @return array + */ + function b2in_worlds(?string $current = null): array + { + $current = $current ?? b2in_world(); + + return [ + 'interior' => [ + 'label' => __('ui.world_interior'), + 'url' => url('/'), + 'active' => $current === 'interior', + ], + 'immobilien' => [ + 'label' => __('ui.world_immobilien'), + 'url' => route('immobilien'), + 'active' => $current === 'immobilien', + ], + ]; + } +} + +if (! function_exists('b2in_world_set')) { + /** + * Welt für den laufenden Request festlegen, wenn sie nicht an der Route hängt – + * etwa auf der Magazin-Detailseite, die in der Welt ihres Beitrags rendert. + * Muss vor dem Rendern von Kopf- und Fußzeile geschehen (beide halten die Welt in mount() fest). + */ + function b2in_world_set(string $world): void + { + app()->instance('b2in.world', $world); + } +} diff --git a/config/cms_section_map.php b/config/cms_section_map.php index 9b0b6abf..5e6be281 100644 --- a/config/cms_section_map.php +++ b/config/cms_section_map.php @@ -14,15 +14,18 @@ return [ 'sections' => [ 'announcement_bar' => ['global', 'announcement_bar'], + 'announcement_bar_immobilien' => ['global', 'announcement_bar_immobilien'], 'header' => ['global', 'header'], 'footer' => ['global', 'footer'], 'cta_section' => ['global', 'cta_section'], + 'cta_section_immobilien' => ['global', 'cta_section_immobilien'], 'appointment_widget' => ['global', 'appointment_widget'], 'cta_section_portfolio' => ['global', 'cta_section_portfolio'], 'hero' => ['home', 'hero'], 'audience_switch' => ['home', 'audience_switch'], 'core_brands' => ['home', 'core_brands'], + 'origin_section' => ['home', 'origin_section'], 'marken_hero' => ['marken', 'hero'], 'marken_network' => ['marken', 'network'], @@ -68,8 +71,18 @@ return [ 'interior_trust' => ['netzwerk', 'interior_trust'], 'faq' => ['faq', 'faq'], + 'faq_immobilien' => ['faq', 'faq_immobilien'], + + // Immobilien-Welt: eigene Navigation, eigenes Magazin, eigene Ueber-uns-Seite + 'header_immobilien' => ['global', 'header_immobilien'], + 'magazin_list_immobilien' => ['immobilien', 'magazin_list'], + 'immobilien_about_hero' => ['immobilien', 'about_hero'], + 'immobilien_our_story' => ['immobilien', 'our_story'], + 'immobilien_about_image_break' => ['immobilien', 'about_image_break'], + 'immobilien_our_values' => ['immobilien', 'our_values'], 'contact_form' => ['contact', 'contact_form'], + 'contact_form_immobilien' => ['contact', 'contact_form_immobilien'], 'about_hero' => ['about', 'hero'], 'our_story' => ['about', 'our_story'], diff --git a/config/domains.php b/config/domains.php index c7bdac5d..a7a96401 100644 --- a/config/domains.php +++ b/config/domains.php @@ -71,13 +71,29 @@ return [ 'view_prefix' => 'b2in', 'assets_dir' => 'build/b2in', 'description' => 'Haupt-Landingpage mit Standard-Theme', + // Interior-Welt (Standard). Die Immobilien-Welt behält das bisherige Blau, + // siehe `worlds` und resources/css/web/theme-b2in.css. 'color_scheme' => [ - 'primary' => '#2b3f51', // Anthracite - 'secondary' => '#20a0da', // Dynamic Blue + 'primary' => '#202c2b', // Tanne + 'secondary' => '#d39e46', // Ocker ], 'font_family' => [ 'primary' => 'Inter', - 'secondary' => 'IBM Plex Sans', + 'secondary' => 'EB Garamond', + ], + 'worlds' => [ + 'interior' => [ + 'primary' => '#202c2b', // Tanne – Hauptton dunkel, Wortmarke + 'background' => '#f7f4ef', // Creme + 'surface' => '#d9cbbf', // Sand – Flächen, Footer + 'accent' => '#d39e46', // Ocker – Akzent, Logo-Bogen + 'secondary' => '#a38f82', // Clay – Sekundär, Produkte + 'text' => '#2d2926', // Anthrazit + ], + 'immobilien' => [ + 'primary' => '#2b3f51', // Anthracite + 'accent' => '#20a0da', // Dynamic Blue + ], ], ], diff --git a/database/factories/CmsArticleFactory.php b/database/factories/CmsArticleFactory.php index 53bcd566..755d4f92 100644 --- a/database/factories/CmsArticleFactory.php +++ b/database/factories/CmsArticleFactory.php @@ -23,6 +23,7 @@ class CmsArticleFactory extends Factory 'subtitle' => fake()->sentence(12), 'image' => 'b2in/magazin-'.fake()->numberBetween(1, 5).'.jpg', 'category' => fake()->randomElement(['Dubai Investment', 'Rendite & Einrichtung', 'B2B & Partner', 'Einrichtung & Netzwerk']), + 'world' => CmsArticle::WORLD_INTERIOR, 'date_label' => fake()->date('F j, Y'), 'read_time' => fake()->numberBetween(3, 10).' min read', 'author' => [ diff --git a/database/migrations/2026_09_14_120000_add_world_to_cms_articles_table.php b/database/migrations/2026_09_14_120000_add_world_to_cms_articles_table.php new file mode 100644 index 00000000..ce8004e6 --- /dev/null +++ b/database/migrations/2026_09_14_120000_add_world_to_cms_articles_table.php @@ -0,0 +1,34 @@ +string('world', 20)->default(CmsArticle::WORLD_INTERIOR)->index()->after('category'); + }); + + CmsArticle::query() + ->whereIn('slug', CmsArticle::LEGACY_IMMOBILIEN_SLUGS) + ->update(['world' => CmsArticle::WORLD_IMMOBILIEN]); + } + + public function down(): void + { + Schema::table('cms_articles', function (Blueprint $table) { + $table->dropIndex(['world']); + $table->dropColumn('world'); + }); + } +}; diff --git a/database/seeders/CmsArticleSeeder.php b/database/seeders/CmsArticleSeeder.php index 738cc227..6ce7d38d 100644 --- a/database/seeders/CmsArticleSeeder.php +++ b/database/seeders/CmsArticleSeeder.php @@ -70,6 +70,7 @@ class CmsArticleSeeder extends Seeder ], 'image' => (string) ($rowDe['image'] ?? ''), 'category' => (string) ($rowDe['category'] ?? ''), + 'world' => (string) ($rowDe['world'] ?? CmsArticle::WORLD_INTERIOR), 'date_label' => (string) ($rowDe['date'] ?? ''), 'read_time' => (string) ($rowDe['readTime'] ?? ''), 'author' => is_array($rowDe['author'] ?? null) ? $rowDe['author'] : [], diff --git a/database/seeders/CmsBrandSeeder.php b/database/seeders/CmsBrandSeeder.php index 57df1e2a..7c7c6f57 100644 --- a/database/seeders/CmsBrandSeeder.php +++ b/database/seeders/CmsBrandSeeder.php @@ -6,7 +6,13 @@ use App\Models\CmsBrand; use Illuminate\Database\Seeder; /** - * Legt die drei Kernmarken an. Texte aus dev/2026-08-28/umsetzung-inhalte.md §5. + * Legt die Kernmarken an. Texte aus dev/2026-08-28/umsetzung-inhalte.md §5. + * + * Die vierte Marke „Tischlerei“ (Arbeitsplan 14.09.2026, Punkt 1.2) ist ein **Platzhalter**: + * Name, Logo, Basisinfos und Bilder liegen noch nicht vor. Die Texte folgen der inhaltlichen + * Ausrichtung aus dem Plan (Aufbau, Sonderlösungen, Veredelung, Maßarbeit – ergänzt CABINET + * und Rotpunkt, steht nicht daneben) und sollen als Denkanstoß dienen. Der Name des + * Partnerbetriebs gehört laut Plan auf die Detailseite, nicht in die Marke. * * Bestehende Marken werden nicht überschrieben – Marcel pflegt sie im Admin. Für bereits * angelegte Marken setzt {@see BrandLogoSeeder} die Logos nach. @@ -139,6 +145,86 @@ Consultation and planning in our kitchen studio.', 'showroom' => '', 'is_published' => true, ], + [ + // ⚠️ Platzhalter – siehe Klassenkommentar. Slug bleibt stabil, auch wenn der Name kommt. + 'slug' => 'tischlerei', + 'logo' => '', + 'name' => ['de' => 'Tischlerei', 'en' => 'Joinery'], + 'tagline' => ['de' => 'Maßarbeit, die den Raum vollendet.', 'en' => 'Craftsmanship that completes the room.'], + 'teaser' => [ + 'de' => 'Aufbau, Sonderlösungen und Veredelung aus einer Tischlerei in Ostwestfalen – dort, wo Serienmöbel aufhören und Ihr Raum anfängt.', + 'en' => 'Assembly, bespoke solutions and finishing from a joinery in East Westphalia – where series furniture ends and your room begins.', + ], + 'summary' => [ + 'de' => 'Manche Stellen im Raum passen in keinen Katalog: die Nische neben dem Kamin, der Übergang von der Küche zum Sideboard, das Regal unter der Treppe. Unsere Tischlerei baut, was dort fehlt – und veredelt, was schon da ist. + +Sie ergänzt CABINET und Rotpunkt dort, wo Fertigung nach Zeichnung gefragt ist: Aufbau vor Ort, Sonderlösungen nach Aufmaß, Oberflächen und Anpassungen aus einer Hand.', + 'en' => 'Some spots in a room fit no catalogue: the alcove next to the fireplace, the transition from kitchen to sideboard, the shelf under the stairs. Our joinery builds what is missing there – and refines what is already in place. + +It complements CABINET and Rotpunkt wherever making to drawing is required: assembly on site, bespoke solutions to measure, surfaces and adaptations from a single source.', + ], + 'highlights' => [ + 'Sonderlösungen nach Aufmaß und Zeichnung', + 'Veredelung und Anpassung bestehender Möbel', + 'Aufbau und Montage aus einer Hand', + ], + 'description' => [ + 'de' => '

Eine Küche endet nicht an der letzten Front, ein Einbauschrank nicht an der Wand. Dazwischen liegen die Details, die einen Raum fertig machen: eine Blende, die den Übergang schließt, ein Regal, das genau in die Nische passt, eine Oberfläche, die zum Boden passt. Unsere Tischlerei fertigt diese Details in Ostwestfalen – nach Zeichnung, nach Aufmaß, in Abstimmung mit den Marken, die den Raum tragen.

', + 'en' => '

A kitchen does not end at the last front, a fitted wardrobe not at the wall. In between lie the details that finish a room. Our joinery makes these details in East Westphalia – to drawing, to measure, in tune with the brands that carry the room.

', + ], + 'services' => [ + ['title' => 'Aufbau und Montage', 'description' => 'Fachgerechter Aufbau vor Ort – auch von Möbeln, die nicht von uns stammen.'], + ['title' => 'Sonderlösungen', 'description' => 'Nischen, Schrägen, Übergänge: gefertigt nach Aufmaß, wo Standard nicht passt.'], + ['title' => 'Veredelung', 'description' => 'Oberflächen, Fronten und Griffe – bestehende Möbel aufwerten statt ersetzen.'], + ['title' => 'Maßarbeit', 'description' => 'Einzelstücke nach Zeichnung: Regale, Sideboards, Garderoben, Tische.'], + ], + 'widget_label' => ['de' => 'Persönliche Beratung zur Maßarbeit vereinbaren', 'en' => 'Arrange a personal consultation on bespoke work'], + 'cta_title' => ['de' => 'Ihr Raum. Bis ins Detail gefertigt.', 'en' => 'Your room. Made down to the detail.'], + 'cta_text' => [ + 'de' => 'Ob ein einzelnes Regal in der Nische oder die Anpassung einer ganzen Einrichtung: Wir schauen uns Ihren Raum an und sagen Ihnen, was sich fertigen lässt – und was sich lohnt. Persönlich, vor Ort und mit einer Werkstatt, die wir kennen.', + 'en' => 'Whether a single shelf in an alcove or the adaptation of an entire interior: we look at your room and tell you what can be made – and what is worth it.', + ], + 'sections' => [ + [ + 'title' => 'Wo Serienmöbel aufhören.', + 'paragraphs' => [ + 'Die meisten Räume sind nicht rechtwinklig, nicht genormt und nicht leer. Sie haben Heizkörper, Fensterbänke, Schrägen und Möbel, die bleiben sollen. Genau dort beginnt die Arbeit der Tischlerei: mit einem Aufmaß, einer Zeichnung und der Frage, was der Raum wirklich braucht.', + 'Das kann ein einzelnes Möbelstück sein, eine Anpassung an ein bestehendes oder ein Detail, das zwei Marken miteinander verbindet.', + ], + 'detail' => [ + 'title' => 'Beispiele aus dem Alltag', + 'paragraphs' => [ + 'Ein Sideboard, das die Flucht der Rotpunkt-Küche aufnimmt und im Wohnzimmer weiterführt. Eine Blende, die den Spalt zwischen CABINET-Schrank und Dachschräge schließt. Ein Regal unter der Treppe, das die Tiefe der Stufen nutzt. Eine Bank am Fenster mit Stauraum darunter.', + 'Nichts davon steht in einem Katalog. Alles davon lässt sich fertigen.', + ], + ], + 'claim' => 'Gefertigt nach Raum, nicht nach Norm.', + ], + [ + 'title' => 'Ergänzung, nicht Konkurrenz.', + 'paragraphs' => [ + 'CABINET plant Einbauschränke bis auf den Millimeter, Rotpunkt baut Küchen, Febrü richtet Arbeitsplätze ein. Die Tischlerei steht nicht daneben, sondern dazwischen: Sie fertigt die Übergänge, die Sonderteile und die Einzelstücke, mit denen aus drei Marken ein durchgängiger Raum wird.', + ], + 'detail' => [ + 'title' => 'Aus der Region gefertigt', + 'paragraphs' => [ + 'Die Werkstatt liegt in Ostwestfalen, wenige Kilometer von Bielefeld. Kurze Wege bedeuten kurze Abstimmungen: Aufmaß, Muster und Montage kommen aus einer Hand, und wenn etwas nicht passt, ist die Werkstatt erreichbar – nicht ein Callcenter.', + ], + ], + 'claim' => 'Vier Marken. Ein Raum. Ein Ansprechpartner.', + ], + [ + 'title' => 'Veredeln statt ersetzen.', + 'paragraphs' => [ + 'Nicht jedes Möbel muss neu sein. Ein guter Korpus mit neuen Fronten, eine geölte statt lackierte Oberfläche, neue Griffe und eine passende Innenaufteilung – oft ist das die nachhaltigere und die schönere Lösung.', + 'Wir sagen Ihnen ehrlich, wann sich eine Veredelung lohnt und wann nicht.', + ], + 'claim' => 'Was gut ist, darf bleiben – und besser werden.', + ], + ], + 'showroom' => '', + 'is_published' => true, + ], ]; } } diff --git a/database/seeders/OriginSectionCmsSeeder.php b/database/seeders/OriginSectionCmsSeeder.php new file mode 100644 index 00000000..f3d7de44 --- /dev/null +++ b/database/seeders/OriginSectionCmsSeeder.php @@ -0,0 +1,29 @@ + */ + private const SECTIONS = ['origin_section']; + + public function run(): void + { + $seeder = new CmsContentSeeder; + $seeder->setCommand($this->command); + $seeder->onlySections = self::SECTIONS; + $seeder->run(); + + $this->command?->info('Herkunfts-Sektion: angelegt, falls sie fehlte.'); + } +} diff --git a/database/seeders/WorldSplitCmsSeeder.php b/database/seeders/WorldSplitCmsSeeder.php new file mode 100644 index 00000000..50eec7e1 --- /dev/null +++ b/database/seeders/WorldSplitCmsSeeder.php @@ -0,0 +1,63 @@ + */ + private const NEW_SECTIONS = [ + 'header_immobilien', + 'announcement_bar_immobilien', + 'magazin_list_immobilien', + 'faq_immobilien', + 'contact_form_immobilien', + 'cta_section_immobilien', + 'immobilien_about_hero', + 'immobilien_our_story', + 'immobilien_about_image_break', + 'immobilien_our_values', + ]; + + /** @var array */ + private const OVERWRITE_SECTIONS = [ + 'header', + 'magazin_list', + // Betreffe in Gruppen (Interior / Immobilien / B2in) statt flacher Liste, 15.09. + 'contact_form', + 'contact_form_immobilien', + ]; + + public function run(): void + { + $create = new CmsContentSeeder; + $create->setCommand($this->command); + $create->onlySections = self::NEW_SECTIONS; + $create->run(); + + $overwrite = new CmsContentSeeder; + $overwrite->setCommand($this->command); + $overwrite->onlySections = self::OVERWRITE_SECTIONS; + $overwrite->overwriteExisting = true; + $overwrite->run(); + + $this->command?->info('Welten-Trennung: '.count(self::NEW_SECTIONS).' Sektionen angelegt (falls fehlend), '.count(self::OVERWRITE_SECTIONS).' Interior-Sektionen aktualisiert.'); + } +} diff --git a/dev/12-01-2026/Moebeldatenliste Stand 4.11.2025.csv b/dev/2026-01-12/Moebeldatenliste Stand 4.11.2025.csv similarity index 100% rename from dev/12-01-2026/Moebeldatenliste Stand 4.11.2025.csv rename to dev/2026-01-12/Moebeldatenliste Stand 4.11.2025.csv diff --git a/dev/12-01-2026/db-backup.sql b/dev/2026-01-12/db-backup.sql similarity index 100% rename from dev/12-01-2026/db-backup.sql rename to dev/2026-01-12/db-backup.sql diff --git a/dev/12-01-2026/entwicklungsplan.md b/dev/2026-01-12/entwicklungsplan.md similarity index 100% rename from dev/12-01-2026/entwicklungsplan.md rename to dev/2026-01-12/entwicklungsplan.md diff --git a/dev/12-01-2026/konzeption.md b/dev/2026-01-12/konzeption.md similarity index 100% rename from dev/12-01-2026/konzeption.md rename to dev/2026-01-12/konzeption.md diff --git a/dev/27-02-2026/B2in Website-Architektur.md b/dev/2026-02-27/B2in Website-Architektur.md similarity index 100% rename from dev/27-02-2026/B2in Website-Architektur.md rename to dev/2026-02-27/B2in Website-Architektur.md diff --git a/dev/27-02-2026/b2in-local-for-local.md b/dev/2026-02-27/b2in-local-for-local.md similarity index 100% rename from dev/27-02-2026/b2in-local-for-local.md rename to dev/2026-02-27/b2in-local-for-local.md diff --git a/dev/27-02-2026/b2in-umsetzung-changelog.md b/dev/2026-02-27/b2in-umsetzung-changelog.md similarity index 100% rename from dev/27-02-2026/b2in-umsetzung-changelog.md rename to dev/2026-02-27/b2in-umsetzung-changelog.md diff --git a/dev/27-02-2026/b2in-website-umsetzungsplan.md b/dev/2026-02-27/b2in-website-umsetzungsplan.md similarity index 100% rename from dev/27-02-2026/b2in-website-umsetzungsplan.md rename to dev/2026-02-27/b2in-website-umsetzungsplan.md diff --git a/dev/27-02-2026/backup-before-relaunch/about.blade.php b/dev/2026-02-27/backup-before-relaunch/about.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/about.blade.php rename to dev/2026-02-27/backup-before-relaunch/about.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/b2in.blade.php b/dev/2026-02-27/backup-before-relaunch/b2in.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/b2in.blade.php rename to dev/2026-02-27/backup-before-relaunch/b2in.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/contact.blade.php b/dev/2026-02-27/backup-before-relaunch/contact.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/contact.blade.php rename to dev/2026-02-27/backup-before-relaunch/contact.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/content.php b/dev/2026-02-27/backup-before-relaunch/content.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/content.php rename to dev/2026-02-27/backup-before-relaunch/content.php diff --git a/dev/27-02-2026/backup-before-relaunch/ecosystem.blade.php b/dev/2026-02-27/backup-before-relaunch/ecosystem.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/ecosystem.blade.php rename to dev/2026-02-27/backup-before-relaunch/ecosystem.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/footer.blade.php b/dev/2026-02-27/backup-before-relaunch/footer.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/footer.blade.php rename to dev/2026-02-27/backup-before-relaunch/footer.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/hero.blade.php b/dev/2026-02-27/backup-before-relaunch/hero.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/hero.blade.php rename to dev/2026-02-27/backup-before-relaunch/hero.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/home.blade.php b/dev/2026-02-27/backup-before-relaunch/home.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/home.blade.php rename to dev/2026-02-27/backup-before-relaunch/home.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/magazin.blade.php b/dev/2026-02-27/backup-before-relaunch/magazin.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/magazin.blade.php rename to dev/2026-02-27/backup-before-relaunch/magazin.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/partner.blade.php b/dev/2026-02-27/backup-before-relaunch/partner.blade.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/partner.blade.php rename to dev/2026-02-27/backup-before-relaunch/partner.blade.php diff --git a/dev/27-02-2026/backup-before-relaunch/web.php b/dev/2026-02-27/backup-before-relaunch/web.php similarity index 100% rename from dev/27-02-2026/backup-before-relaunch/web.php rename to dev/2026-02-27/backup-before-relaunch/web.php diff --git a/dev/27-02-2026/review-architektur-02-03-2026.md b/dev/2026-02-27/review-architektur-02-03-2026.md similarity index 100% rename from dev/27-02-2026/review-architektur-02-03-2026.md rename to dev/2026-02-27/review-architektur-02-03-2026.md diff --git a/dev/12-03-2026/content.md b/dev/2026-03-12/content.md similarity index 100% rename from dev/12-03-2026/content.md rename to dev/2026-03-12/content.md diff --git a/dev/12-03-2026/magazin.md b/dev/2026-03-12/magazin.md similarity index 100% rename from dev/12-03-2026/magazin.md rename to dev/2026-03-12/magazin.md diff --git a/dev/12-03-2026/tasks.md b/dev/2026-03-12/tasks.md similarity index 100% rename from dev/12-03-2026/tasks.md rename to dev/2026-03-12/tasks.md diff --git a/dev/2026-08-28/entwicklungsplan.md b/dev/2026-08-28/entwicklungsplan.md index 77b20337..60cb250e 100644 --- a/dev/2026-08-28/entwicklungsplan.md +++ b/dev/2026-08-28/entwicklungsplan.md @@ -4,8 +4,9 @@ **Basis:** `B2in_Interior-Konzept.md`, `umsetzungliste.md`, `umsetzung-inhalte.md` **Vorgänger:** `dev/2026-02-27/b2in-website-umsetzungsplan.md` **Rahmen:** 37–39 Std. freigegeben (18 + 8 + 4 + 3 + 4–6) -**Status:** Revision 13 – **AP0–AP6 umgesetzt**, Seite abgestimmt, Markentexte Rotpunkt und Febrü -eingearbeitet. Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. +**Status:** Revision 14 – **AP0–AP6 umgesetzt**, Seite abgestimmt, Markentexte Rotpunkt und Febrü +eingearbeitet. **Arbeitsplan 14.09. (`umsetzungen-14-09-2026.md`), Punkt 1.1 Farbwelt und Logo +umgesetzt (Nachtrag 6).** Offen: Bildmaterial, Rechtstexte und die Herstellerfreigaben. **Umgebung:** Dev Container, `php artisan …` (nicht `vendor/bin/sail …`) > **Verbindliche Schreibweisen:** **Interior** (nicht „Interieur"), **Febrü**, **Rotpunkt Küchen**, **CABINET**. @@ -35,6 +36,11 @@ ausführlichen Text. `php artisan test --compact`: **873 grün** (3217 Assertion | Abstimmungsrunde 03.09.: korrigierte Texte, CABINET-Seite, Galerie-Hinweise, Abschluss-CTA | ✅ | | AP4 Display-Spiegelung | ✅ | | AP5 Rubrik-Seite „Referenzen" | ✅ | +| Arbeitsplan 14.09. · 1.1 Farbwelt, Logo je Welt, Welten-Wechsler | ✅ (Nachtrag 6) | +| Welten-Trennung: Navigation, Magazin, Über uns, FAQ, Widget je Welt | ✅ (Nachtrag 7, Erweiterung zu 1.1) | +| Arbeitsplan 14.09. · 1.2 Tischlerei als vierte Marke (Platzhalter) | ✅ (Nachtrag 9) | +| Arbeitsplan 14.09. · 1.4 Akkordeon und Widget-Beschriftung je Marke | ✅ (bereits seit 03.09., CABINET-Text fehlt im CMS) | +| Arbeitsplan 14.09. · 1.3 Herkunfts-Sektion „Aus der Region gefertigt“ | ✅ (Nachtrag 10, Ablauf CABINET von Marcel bestätigen lassen) | ### Nächste Schritte @@ -1256,6 +1262,17 @@ php artisan db:seed --class=BrandGalleryCaptionNormalizerSeeder --force # hochgeladenes Logo bleibt stehen. Braucht public/img/assets/marken/ aus dem Archiv. php artisan db:seed --class=BrandLogoSeeder --force +# 7. Welten-Trennung (Nachtrag 7): Navigation und Inhalte der Immobilien-Welt anlegen, +# Interior-Navigation ohne „Immobilien“ und Magazin-Einleitung ohne Dubai-Bezug setzen. +# Die Migration ordnet die drei Dubai-Beitraege der Immobilien-Welt zu. +php artisan db:seed --class=WorldSplitCmsSeeder --force + +# 8. Vierte Kernmarke „Tischlerei“ als Platzhalter (Nachtrag 9) – legt nur an, was fehlt. +php artisan db:seed --class=CmsBrandSeeder --force + +# 9. Herkunfts-Sektion „Aus der Region gefertigt“ (Nachtrag 10) – legt die Sektion nur an, wenn sie fehlt. +php artisan db:seed --class=OriginSectionCmsSeeder --force + php artisan config:cache php artisan view:clear @@ -1342,3 +1359,265 @@ genügt ein selektives Zurückspielen von `flux_cms_contents`, `display_versions - [ ] Markengalerien vor dem Livegang durchsehen: jedes Bild muss in der richtigen Rubrik stehen. Ohne gesetzte Kategorie erscheint ein Bild als „Visualisierung" – für ein echtes Projektfoto also bewusst „Realisiertes Projekt" wählen. + +--- + +## Nachtrag 6 · Arbeitsplan 14.09.2026, Punkt 1.1: Farbwelt und Logo (14.09.2026) + +Grundlage: `umsetzungen-14-09-2026.md` (freigegebener Umfang Phase 1) und die Shop-Screenshots +unter `_b2in_interior_shop/screenshots/web/` als optische Richtung: warme Creme-/Sandflächen, +dunkles Tannengrün als Kontrast, Serifen-Überschriften, ruhige Flächen ohne Leuchteffekte. + +### Zwei Welten auf einem Themensystem + +`theme-b2in.css` definiert die **Interior-Welt als Standard** auf `:root` und die +**Immobilien-Welt** als Override unter `.world-immobilien` – dieselben Token-Namen, andere Werte. +Das Layout setzt die Welt als Body-Klasse (`world-interior` / `world-immobilien`), ermittelt +über `b2in_world()` in `app/helpers.php`: Immobilien sind alle Routen `immobilien*` und +`dev.immobilien*`, alles andere ist Interior. Bestehende Sektionen mussten dafür nicht angefasst +werden – sie nutzen bereits die Tokens (`text-secondary`, `bg-accent`, `cta-band` …). + +| Token | Interior (neu) | Immobilien (wie bisher) | +|---|---|---| +| `--background` | Creme `#f7f4ef` | helles Beige `#f5f4f2` | +| `--foreground` | Anthrazit `#2d2926` | `#2a2a2a` | +| `--primary` (Buttons, dunkle Sektionen, Wortmarke) | Tanne `#202c2b` | Anthracite `#2b3f51` | +| `--secondary` (Akzent, Hervorhebungen, Logo-Bogen) | Ocker `#d39e46` | Dynamic Blue `#20a0da` | +| `--accent` (Sektionswechsel) | Sand `#d9cbbf` | helles Grau | +| `--clay` (neu) | Clay `#a38f82` | gedämpftes Blau | +| `--footer-*` (neu) | Sand mit Tanne | Anthracite mit Weiß | +| `--cta-band-end` (neu) | helleres Tannengrün (Ton in Ton, Korrektur 15.09.) | Dynamic Blue | +| `--font-secondary` (Überschriften) | EB Garamond (liegt lokal vor) | IBM Plex Sans | + +**Kontrast-Entscheidungen:** Ocker trägt keinen hellen Text (Creme auf Ocker ≈ 2,5:1). Deshalb +ist Ocker in der Interior-Welt Akzent, kein Flächenton unter Text: der Kontakt-Button im Kopf +und der zweite Hero-Button laufen jetzt auf Tanne (gefüllt bzw. als Kontur, `.world-interior +.btn-secondary-accent`), der Abschluss-CTA der Startseite liegt auf dem Abschlussband +(`cta-band`) mit weißem Button – wie auf den Markenseiten. **Korrektur 15.09.:** Der Verlauf +Grün → Ocker wirkte unharmonisch; das Band läuft jetzt Ton in Ton in ein helleres Tannengrün aus, +Ocker sitzt nur noch in der Haarlinie oben. Hervorgehobene Wörter im Bandtitel („Ihr nächster +Schritt") tragen im CMS `text-primary` und waren auf dem dunklen Band unlesbar – in beiden +Welten. `.cta-band .text-primary` setzt sie auf den Akzent der Welt (Ocker bzw. Blau). Ocker-Text +im Footer auf Sand nutzt die tiefe Stufe `--secondary-deep`. `--muted-foreground` ist ein +abgedunkelter Clay, damit Fließtext auf Creme lesbar bleibt (Clay pur ≈ 2,9:1). + +**Aufgeräumt:** Die Glow- und Schattenklassen in `shared-styles.css` (`glow-*`, `shadow-elegant`, +`shadow-premium`, Button-Hover im Glass-Flow) hatten ein festes Blau (`rgba(0,136,204)`, +`hsla(199 …)`) – jetzt hängen sie am Akzent der Welt. Karten im Glass-Flow nutzen `--card` +statt festem Weiß. + +### Logo je Welt + +Zulieferung 07.09.2026 (`dev/2026-08-28/logos/`): das Interior-Logo in Tanne mit Ocker-Bogen +(positiv) bzw. Creme mit Ocker-Bogen (negativ) und das B2In-Logo ohne Zusatz mit blauem Bogen. +Beide Familien sind auf den Inhalt beschnitten (Interior `viewBox="152.5 94.5 289 228"`, +B2In `viewBox="4.5 2 301 176"`) und liegen als SVG und PNG (240 px hoch) unter +`public/img/logos/`; die Interior-Varianten zusätzlich unter `public/_cabinet/assets/` für das +Display. `ThemeHelper::getLogoPath($type, $world)` liefert die Datei je Welt. + +Header und Footer halten Welt und Logo-Pfad in `mount()` fest, weil ein späterer +Livewire-Request keine Seitenroute mehr trägt. Der Interior-Footer liegt auf Sand und zeigt das +**positive** Logo; der Immobilien-Footer bleibt dunkel mit dem negativen. + +**Favicons** (`public/favicon/`, alle Größen plus `favicon.ico`) neu aus der Wortmarke in +Tanne/Ocker erzeugt; `theme-color` auf Creme. Die bisher tote Referenz +`img/favicons/b2in-favicon.ico` (`ThemeHelper::getFaviconPath()`) existiert jetzt. +Mail-Kopf auf Tanne. + +### Welten-Wechsler + +Kopfzeile (Desktop rechts neben dem Sprachwechsel, mobil als erster Block im Menü) und Footer +tragen einen Umschalter „Interior | Immobilien" (`b2in_worlds()`, Labels in `ui.php` de/en). +Die aktive Welt ist gefüllt und trägt `aria-current="page"`. + +### Tests + +`tests/Feature/ColorWorldsTest.php` (neu, 14 Fälle): Body-Klasse und Logo je Welt für +Startseite, `/immobilien`, Detailseite und weitere Seiten; `ThemeHelper::getLogoPath()` je Welt +und für Fremd-Themes; Dateien und Farbwerte beider Logo-Familien; Wechsler in Kopf und Fuß mit +korrekter Markierung; Tokens im Theme; kein festes Blau mehr in den Effekten. +`HomePageStructureTest` an den neuen Zuschnitt und den Sand-Footer angepasst. + +### Offen nach diesem Nachtrag + +- **Freigabe Marcel:** Farbwerte sind laut Plan „blockierend für 1.1" und wurden wie geliefert + umgesetzt. Die **Serife für Überschriften** (EB Garamond) ist eine Ableitung aus den + Shop-Screenshots, kein Planpunkt – ein Token in `theme-b2in.css`, bei Ablehnung in einer Zeile + zurück auf IBM Plex Sans. +- **Bildwelt:** Die Farbwelt wirkt erst mit warmem Bildmaterial (Hero, Kacheln) vollständig; die + Bestandsbilder aus der Immobilien-Zeit sind kühl. Zulieferung weiterhin offen. +- **Display-Player:** nutzt die neuen Interior-Dateien automatisch; der Theme-Scrim im Player + ist weiter neutral dunkel, keine Anpassung an Tanne vorgenommen. +- Nächste Schritte laut Reihenfolge im Arbeitsplan: 1.2 Tischlerei-Markenseite (blockiert durch + Name, Logo, Bilder), 1.3 Herkunfts-Sektion (blockiert durch CABINET-Klärung), 1.4 Akkordeon + und Widget-Beschriftung. + +--- + +## Nachtrag 7 · Saubere Trennung der beiden Welten (14.09.2026) + +Abgestimmt mit Kevin am 14.09.: Nach der Farbwelt-Umstellung zeigte die Immobilien-Welt noch die +Interior-Navigation, und das Magazin mischte Dubai- und Einrichtungsthemen. Entscheidung: **jede +Welt hat ihre eigene Navigation, der Welten-Wechsler ist die einzige Brücke.** Umfang ist eine +Erweiterung zu 1.1 des Arbeitsplans (nicht im freigegebenen Plan enthalten, Aufwand ca. 6–9 h). + +### Was je Welt getrennt ist + +| Bereich | Interior | Immobilien | +|---|---|---| +| Navigation (CMS) | `global.header`: Home · Marken · Referenzen · Magazin · Über B2in | `global.header_immobilien`: Immobilien · Projekte · Magazin · Über B2in | +| Ankündigungsleiste (CMS) | `global.announcement_bar`: aktuelles Interior-Thema (Rotpunkt) | `global.announcement_bar_immobilien`: aktuelles Projekt (Azizi Creek Views 4, wie vor dem Relaunch), eigener Dismiss-Schlüssel | +| Magazin | `/magazin` – nur Interior-Beiträge | `/immobilien/magazin` – nur Immobilien-Beiträge | +| Über uns | `/about` (unverändert) | `/immobilien/ueber-b2in` – Inhalte aus der Zeit vor dem Relaunch, leicht angepasst, als „B2in Immobilien" gekennzeichnet, Claim „Connecting Design and Property" | +| FAQ | `/faq` (unverändert) | `/immobilien/faq` – Fragen zu Investment, Reisen, Steuern, Einrichtung nach dem Kauf | +| Kontakt | `/contact` (unverändert) | `/immobilien/kontakt` – gleiche Seite, eigener Einstieg und eigene Betreffe (Overlay `contact_form_immobilien` über `contact_form`), Mail-Betreff „Kontaktanfrage B2in Immobilien: …"; Kontakt-Button im Kopf und CTAs der Immobilienseite zeigen dorthin | +| Footer-Links | wie bisher | FAQ, Über uns und Magazin zeigen auf die Immobilien-Seiten | +| Terminanfrage-Widget | Anliegen offen | Anliegen „Immobilien" vorbelegt, Mail-Betreff „Terminanfrage B2in Immobilien" | + +**Gemeinsam bleiben** Rechtstexte und die Cookie-Seiten. (Kontakt war zunächst gemeinsam, seit 15.09. je Welt.) + +### Magazin: Beiträge haben eine Welt + +Neues Feld `world` (`interior` | `immobilien`) an `cms_articles`, im Admin als Auswahl „Welt" +mit Badge in der Liste. Die Migration ordnet die drei Dubai-Beiträge (Escrow, Al Jaddaf, +Turnkey) der Immobilien-Welt zu; der Supply-Chain-Beitrag bleibt laut Abstimmung unter B2B in +Interior. `CmsArticle::forFrontend($world)` filtert, Lang-Fallback inklusive. + +Die **Detailseite behält ihre URL** (`/magazin/{slug}`, SEO und 301-Weiterleitungen bleiben), +rendert aber in der Welt ihres Beitrags: die Route setzt die Welt per `b2in_world_set()` vor dem +Rendern, weil Kopf- und Fußzeile sie in `mount()` festhalten. Verwandte Beiträge und der Rückweg +zur Liste bleiben in derselben Welt. + +### Technik + +- `b2in_world()` prüft zuerst einen expliziten Override (`b2in_world_set()`), dann die Route. +- Header: Navigation je Welt; der aktive Pfad wird in `mount()` festgehalten (vorher ging die + Markierung bei jedem Livewire-Request verloren) und nur der spezifischste Eintrag ist aktiv + (`/immobilien/magazin` markiert „Magazin", nicht „Immobilien"). +- `AboutHero`, `OurStory`, `OurValues` nehmen jetzt wie `ImageBreak` einen Sektionsschlüssel. +- Kontaktformular: Betreffe in drei Gruppen (Interior · Immobilien · B2in, `form.subject_groups`). + Die Kernmarken aus dem CMS stehen automatisch am Anfang der Interior-Gruppe, die Welt der Seite + bestimmt, welche Gruppe oben steht. Betreff wird jetzt gegen die Liste validiert. Ältere + CMS-Stände mit flacher `subjects`-Liste funktionieren weiter (Fallback ohne Gruppen). +- Abschluss-CTA („Ihr nächster Schritt") je Welt: `global.cta_section_immobilien` mit eigenem Text + und Link auf `/immobilien/kontakt`; greift automatisch auf allen Seiten der Immobilien-Welt. +- Neue CMS-Sektionen (alle im Admin pflegbar): `header_immobilien`, `announcement_bar_immobilien`, `contact_form_immobilien`, `cta_section_immobilien`, `magazin_list_immobilien`, + `faq_immobilien`, `immobilien_about_hero`, `immobilien_our_story`, + `immobilien_about_image_break`, `immobilien_our_values`. +- `WorldSplitCmsSeeder` legt die neuen Sektionen an und setzt **zwei** Interior-Sektionen aus + den Lang-Dateien zurück: `header` (ohne „Immobilien") und `magazin_list` (ohne Dubai-Bezug). + Lokal ausgeführt, beim Deployment mit erledigen (Abschnitt 8). + +### Tests + +`tests/Feature/WorldSplitTest.php` (neu, 18 Fälle): Navigation je Welt inkl. aktiver Markierung, +Footer-Links, beide Magazinlisten, Detailseite in der Welt des Beitrags, verwandte Beiträge, +CMS-Beiträge je Welt, Editor-Auswahl und -Validierung, Über-uns- und FAQ-Seite der +Immobilien-Welt, Widget-Vorbelegung. `MagazinPageTest`, `HomePageStructureTest`, +`LiveSiteReviewTest` und `CmsAdminTest` an die Trennung angepasst. + +### Offen + +- Navigationspunkt „Projekte" zeigt auf den Anker `#projekte` der Immobilienseite. +- Die Immobilien-Seite selbst nutzt weiter feste Farben (`bg-zinc-950`, Status-Badges in + emerald/sky/amber) außerhalb des Token-Systems – funktioniert in der blauen Welt, ist aber + nicht themenfähig. +- `LiveSiteReviewTest` prüft die Startseite noch auf das Wort „Netzwerk" (steht im Fließtext); + kein Navigationspunkt. + +--- + +## Nachtrag 8 · Terminanfrage-Buttons öffnen das Widget (15.09.2026) + +Auf der Seite gibt es mehrere Sektionen mit „Termin anfragen"-Buttons (Hero, Weiche, Abschluss-CTA, +`/marken`-Abschluss, Markenseiten, Referenzen, Immobilienseite). Bisher führten sie auf die +Kontaktseite. Jetzt öffnen sie das schwebende Terminanfrage-Widget; von einer Markenseite aus ist +die Marke im Anliegen vorbelegt. Die Anliegen-Auswahl des Widgets bleibt wie sie ist (Marken plus +feste Einträge, keine Gruppen – die gibt es nur auf der Kontaktseite). + +**Wie:** Blade-Komponente ``. Zeigt `href` auf `/contact` oder +`/immobilien/kontakt`, trägt der Link `data-open-appointment` (und `data-appointment-topic`); ein +Klick-Delegat in `resources/js/app.js` fängt ihn ab und feuert `open-appointment`, das Widget +öffnet sich, übernimmt das Anliegen (nur wenn es in der Auswahl existiert) und fokussiert das +Namensfeld. Ohne JavaScript bleibt es ein normaler Link; zeigt der CMS-Link woandershin, bleibt +er ein gewöhnlicher Link. Der Kontakt-Button im Kopf bleibt bewusst ein Link zur Kontaktseite. + +**Formularfelder** in Widget und Kontaktformular tragen jetzt die tokenbasierten Klassen +`.form-field` / `.form-select` (shared-styles.css): Kartenton als Grund, Fokusring im Akzent der +Welt, eigener Chevron und lesbare Gruppenüberschriften in der Betreff-Auswahl – statt +Tailwind-Grau. + +**Tests:** `tests/Feature/AppointmentTriggerTest.php` (9 Fälle). + +--- + +## Nachtrag 9 · Tischlerei als vierte Kernmarke, Platzhalter (15.09.2026) + +Arbeitsplan 14.09., Punkt 1.2. Name, Logo, Basisinfos und Bilder fehlen noch (blockierend laut +Plan), Platzhalter sind ausdrücklich erlaubt. Die Marke ist deshalb als **Denkanstoß** angelegt: + +- **Marke `tischlerei`** im `CmsBrandSeeder` (vierter Eintrag, wird bei bestehenden Marken nicht + doppelt angelegt). Inhalte entlang der Ausrichtung aus dem Plan – Aufbau, Sonderlösungen, + Veredelung, Maßarbeit; ergänzt CABINET und Rotpunkt, steht nicht daneben; Werkstatt in + Ostwestfalen ohne Nennung des Partnerbetriebs. Drei Abschnitte mit Vertiefungen, eigener + Abschlussblock, Widget-Beschriftung „Persönliche Beratung zur Maßarbeit vereinbaren“. +- **Ohne Logo**: der Seitenkopf zeigt den Schriftzug, Kacheln kommen ohne Logo aus. Kein + Stimmungsbild, die Kacheln zeigen den Platzhalter. +- **Kachelraster** der Startseite: `sm:grid-cols-2` – 2×2 auf allen Breiten. Vier nebeneinander + war kurz drin, wurde aber als zu schmal verworfen (Abstimmung 15.09.). „Weitere Marken“ auf den + Detailseiten: drei nebeneinander ab `lg`. +- Automatisch dabei: `/marken`, Anliegen im Widget, Betreff-Gruppe Interior der Kontaktseite. +- Seitentitel von `/marken` nennt die vierte Marke. +- Lang-Fallback (`core_brands.brands`) um die Tischlerei ergänzt. + +**Lokal ausgeführt:** `php artisan db:seed --class=CmsBrandSeeder` (legt nur die fehlende Marke an). +Beim Deployment mit erledigen (Abschnitt 8). + +**Was Marcel nachträgt (alles im Admin):** Name der Marke, Logo, Stimmungsbild, echte Texte – +die Platzhalter sind bewusst so geschrieben, dass sie ohne Änderung nicht live gehen sollten +(„Tischlerei“ ist kein Markenname). Slug `tischlerei` bleibt stabil, auch wenn der Name kommt. + +**Tests:** `tests/Feature/FourthBrandTest.php` (7 Fälle). + +--- + +## Nachtrag 10 · Herkunfts-Sektion „Aus der Region gefertigt“ (15.09.2026) + +Arbeitsplan 14.09., Punkt 1.3. Die Klärung „CABINET Hersteller oder Vertrieb“ kam am 15.09. von +Kevin nach seinem Verständnis: CABINET **fertigt selbst in Köln** und **vertreibt über die +CABINET Stores**; der Store Bielefeld ist einer davon. Dort laufen Beratung und Planung für +Bielefeld und Umkreis, gefertigt wird in Köln, aufgebaut beim Kunden – und hier kommt die +Tischlerei ins Spiel, die den Aufbau übernimmt und Sonderwünsche umsetzt. ⚠️ **Von Marcel +bestätigen lassen** (bietet CABINET selbst Aufbau an? Läuft der Aufbau immer über die eigene +Tischlerei?). Die Sektion ist so formuliert, dass sie diesem Verständnis folgt. + +### Aufbau + +- **Neue Sektion `origin_section`** (`OriginSection`, CMS-Gruppe `home`), eingebunden auf der + Startseite zwischen Kernmarken und „Gebaut auf Expertise“ sowie auf `/marken` zwischen + Markenübersicht und „Mehr als Marken: unser Netzwerk“. Anker `#herkunft`. +- **Schematische Karte** (SVG, ab `md`): Bielefeld als Drehscheibe in Ocker, die vier Standorte + als Punkte in Tanne mit gestrichelten Speichen und Entfernungsangabe, gestrichelte Ellipse + „Ostwestfalen“ um die drei OWL-Standorte. Keine Geografie, nur Richtung und Entfernung – + Positionen (`x`/`y` in der viewBox 640×400) und Beschriftungsseite (`label`) stehen im + Inhalt und sind im Admin änderbar. Unter `md` entfällt die Karte, die Kacheln tragen alles. +- **Vier Standort-Kacheln** (2×2 ab `sm`): Stadt, Marke, Rolle, Entfernung „von Bielefeld“ und + Link „Zur Marke“. Der Link kommt **nicht** aus dem CMS, sondern aus den veröffentlichten + Marken (`brand_slug`, ersatzweise Namensabgleich): eine unveröffentlichte Marke verliert den + Link, ihr Standort bleibt sichtbar. +- **Ablauf-Block „Gefertigt in Köln, geplant in Bielefeld“**: drei nummerierte Schritte am + Beispiel CABINET (Beratung und Planung in Bielefeld → Fertigung in Köln → Aufbau vor Ort mit + Sonderwünschen aus der Tischlerei). Das ist die saubere Trennung „gefertigt“ / „vertrieben“ + aus dem Plan. Entfällt, wenn `steps` im CMS leer ist. +- **Entfernungen** gerundet, Straße ab Bielefeld Mitte: Herford rund 20 km, Bünde rund 30 km, + Rheda-Wiedenbrück rund 35 km, Köln rund 200 km. Bei Bedarf im Admin anpassen. +- Styles `.origin-map-*` in `shared-styles.css` (Token-basiert, in beiden Welten gültig, die + Sektion liegt aber nur in der Interior-Welt). Build `npm run build:b2in` ausgeführt. + +**Lokal ausgeführt:** `php artisan db:seed --class=OriginSectionCmsSeeder` (legt nur an, was +fehlt, überschreibt nichts). Beim Deployment mit erledigen (Abschnitt 8, Schritt 9). + +**Offen:** Bestätigung des CABINET-Ablaufs durch Marcel; Wortlaut der Tischlerei-Kachel folgt +dem Platzhalter aus Nachtrag 9 und wandert mit dem echten Markennamen. + +**Tests:** `tests/Feature/OriginSectionTest.php` (12 Fälle). diff --git a/dev/2026-08-28/logos/B2In-Logo-negativ-2025-09-22_RGB.svg b/dev/2026-08-28/logos/B2In-Logo-negativ-2025-09-22_RGB.svg new file mode 100644 index 00000000..0f6335a4 --- /dev/null +++ b/dev/2026-08-28/logos/B2In-Logo-negativ-2025-09-22_RGB.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/logos/B2In-Logo-positiv-2025-09-22_RGB.svg b/dev/2026-08-28/logos/B2In-Logo-positiv-2025-09-22_RGB.svg new file mode 100644 index 00000000..6e1e1565 --- /dev/null +++ b/dev/2026-08-28/logos/B2In-Logo-positiv-2025-09-22_RGB.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg b/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg deleted file mode 100644 index 8cb2083a..00000000 --- a/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2025-09-22_CMYK.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2026-09-07_RGB.svg b/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2026-09-07_RGB.svg new file mode 100644 index 00000000..d7bcd586 --- /dev/null +++ b/dev/2026-08-28/logos/B2In_Interior-Logo-negativ-2026-09-07_RGB.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg b/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg deleted file mode 100644 index bfce235b..00000000 --- a/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2025-09-22_CMYK.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2026-09-07_RGB.svg b/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2026-09-07_RGB.svg new file mode 100644 index 00000000..dbead3fa --- /dev/null +++ b/dev/2026-08-28/logos/B2In_Interior-Logo-positiv-2026-09-07_RGB.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/2026-08-28/umsetzungen-14-09-2026.md b/dev/2026-08-28/umsetzungen-14-09-2026.md new file mode 100644 index 00000000..0908977c --- /dev/null +++ b/dev/2026-08-28/umsetzungen-14-09-2026.md @@ -0,0 +1,186 @@ +# B2in Interior – Arbeitsplan + +**Freigegebener Umfang, Stand September 2026** + +--- + +## Freigabestatus im Überblick + +| Phase | Status | Aufwand | +|---|---|---:| +| **1 – Website: Layout, Marken, Herkunft** | ✅ freigegeben | 39–65 h | +| **3 – QR-Empfehlungssystem** | ✅ freigegeben | 25–39 h | + +--- + +# Phase 1 – Website + +## 1.1 Farbwelt und Logo + +| Aufgabe | +| Interior-Farbwelt im Themensystem umstellen: +Tanne `#202c2b` Hauptton dunkel, Wortmarke, +Creme `#f7f4ef` Hintergrund, +Sand `#d9cbbf` Flächen, Footer, +Ocker `#d39e46` Akzent, Logo-Bogen +Clay `#a38f82` Sekundär, Produkte +Anthrazit `#2d2926` Text +| Immobilien-Welt als eigene Farbwelt abgrenzen (bestehendes Blau) | +| Logo-Varianten mit farbigem Bogen je Welt, positiv und negativ - normal Immobilien und Interior mit Zusatz +hier liegen die Logos dev/2026-08-28/logos +| Welten-Wechsler in Topleiste und Footer, Immobilien und Interior | + Bei der Umsetzung auf die neue Farbwelt bitte auch diese Shop Screenshots einmal begutachten. In diese Richtung soll es gehen optisch _b2in_interior_shop/screenshots/web + +## 1.2 Tischlerei als vierte Marke + +| Aufgabe | +| Markenseite anlegen, CMS-Eintrag, Einbindung in `/marken` und Navigation | +Als Inhalt erst mal Platzhalter. + +**Inhaltliche Ausrichtung:** Aufbau, Sonderlösungen, Veredelung, Maßarbeit. Ergänzt CABINET und Rotpunkt, steht nicht daneben. + +**Offen:** Name der Marke, Logo, Basis-Infos, Bildmaterial. Zur Namensfrage: Tritt sie unter eigenem Namen auf oder als B2in-Leistung? Der Name des Partnerbetriebs gehört auf die Detailseite, nicht in die Marke. + +## 1.3 Herkunfts-Sektion + +| Aufgabe | +| Eigener Bereich „Aus der Region gefertigt" mit den vier Standorten, visuell aufbereitet | + +**Die Standorte:** Rotpunkt in Bünde, Febrü in Herford, Tischlerei in Rheda-Wiedenbrück, CABINET in Köln. Vier deutsche Manufakturen, drei davon in Ostwestfalen. + +**Zu klären:** Ist CABINET Hersteller oder Vertrieb? Die Formulierung muss sauber trennen zwischen gefertigt und vertrieben. + +## 1.4 Markenseiten und Texte + +| Aufgabe | +| Aufklappbare Detailbereiche auf den Markenseiten | +| Kontextbezogene Beschriftung des Terminanfrage-Widgets je Marke | + +**Texte:** Die finalen Fassungen für Rotpunkt und Febrü Sind bereits eingearbeitet. + +## 1.5 Abschluss + +| Aufgabe | Std. | +|---|---:| +| Tests, Prüfung bestehender Bereiche, Produktivsetzung | + +**Summe Phase 1: 39–65 h** · rund 3.510 – 5.850 € netto + +--- + +# Phase 3 – QR-Empfehlungssystem + +## Wie es funktioniert Linus + +1. Partner im System anlegen (Makler, Architekt, Handwerker, Praxis) +2. System erzeugt eindeutigen Code und QR als Bilddatei +3. Marcel druckt den Aufkleber selbst und bringt ihn auf dem Flyer an +4. Interessent scannt, landet auf der Website, Zugriff wird erfasst +5. Startet er eine Anfrage, ist sie dem Partner zugeordnet +6. Übersicht im Admin: Partner, Scans, Anfragen + +## Die Bausteine + +| Aufgabe | Std. | +|---|---:| +| Datenmodell: Partner, Code, Zuordnung, Status | 3–5 | +| Partnerverwaltung im Admin, Code erzeugen, QR als Bilddatei herunterladen | 7–10 | +| Weiterleitung und Erfassung des Scans | 5–8 | +| Zuordnung der Anfrage zum Partner, angebunden an die bestehende Anfragestrecke | 4–6 | +| Einfache Übersicht im Admin: Partner, Scans, Anfragen | 3–5 | +| Tests | 3–5 | + +**Summe Phase 3: 25–39 h** · rund 2.250 – 3.510 € netto + +## Nicht enthalten + +Provisionsabrechnung und Auszahlung, Partner-Login (Phase 4), Aufkleber-Vorlagen als fertiges PDF, ausgebaute Auswertung mit Diagrammen oder Filtern. + +## Technische Vorgaben für den Flyer + +| | | +|---|---| +| **Aufkleber** | 60 × 80 mm hochkant. QR bei 30 × 30 mm, darunter Partnername, darunter Platz für eine Zeile | +| **Freie Fläche auf dem Flyer** | 70 × 90 mm | +| **Untergrund** | hell, einfarbig, kein Bild, kein Verlauf | +| **Abstand** | mindestens 10 mm zu Rand und Falz | +| **Platzierung** | Rückseite, in der Nähe der Kontaktangaben | + +Die Zielgruppen-Ansprache steckt im Aufkleber, nicht im Flyer. Damit bleibt der Flyer eine Druckfassung. + +--- + +# Phase 2 – Flyer: was enthalten ist + +**2 Stunden.** Eine strukturierte schriftliche Rückmeldung auf einen fertigen Entwurf: Aufbau, Reihenfolge der Inhalte, Wirkung, Markenkonformität, Textschärfe. Einmal, als zusammenhängende Liste. + +**Nicht enthalten:** mehrfache Durchgänge über Zwischenstände, Layoutkorrekturen, Bildauswahl, Umschreiben von Texten, Druckdatenaufbereitung. + +--- + +# Reihenfolge der Umsetzung + +| Schritt | Was | Warum zuerst | +|---|---|---| +| **1** | Farbwelt und Logo | Fundament – alles Weitere baut darauf auf | +| **2** | Welten-Wechsler | gehört technisch zur Farbwelt-Umstellung | +| **3** | Tischlerei-Markenseite | braucht die fertige Farbwelt | +| **4** | Herkunfts-Sektion | braucht die Tischlerei als vierten Standort | +| **5** | Akkordeon und Widget-Beschriftung | Feinschliff auf den fertigen Seiten | +| **6** | Tests und Livegang Phase 1 | | +| **7** | Phase 3 komplett | erst sinnvoll, wenn die Website steht | + +Phase 3 erst nach dem Livegang von Phase 1: Ein QR-Code, der auf eine halbfertige Seite führt, verbrennt den ersten Eindruck beim Partner. + +--- + +# Was ich von Marcel brauche + +## Blockierend für Phase 1 + +| Was | Für | +|---|---| +| Freigabe Farbwerte (Ocker, Tanne) | 1.1 – Start | +| Name der Tischlerei-Marke | 1.2 | +| Logo und Basis-Infos Tischlerei | 1.2 | +| Bildmaterial Tischlerei | 1.2 | +| Klärung: CABINET Hersteller oder Vertrieb | 1.3 | + +## Nicht blockierend, aber offen + +| Was | Anmerkung | +|---|---| +| Logos Rotpunkt und Febrü | für die Markenseiten | +| Bildmaterial Hero und Kernmarken | Platzhalter möglich | +| Neuer Footer-Claim | „Connecting design and property" ist der alte Immobilien-Claim | +| Showroom-Adressen je Markenseite | nennen beide Seiten den richtigen Standort? | +| Höhe der Partnervergütung | vor der Partner-Ansprache, nicht vor dem Bau | + +--- + +# Empfehlungen fürs Protokoll + +**Erste zehn Partner:** Makler, Architekten, Handwerker. Praxen danach. Keine Wertung, sondern Priorisierung auf den Kanal mit der höheren Wirkung. + +**Keine Provisionen an Arztpraxen** im ersten Schritt. Flyer dort über die persönliche Verbindung auslegen, mit eigenem QR-Code. Nach drei Monaten zeigen die Zahlen, ob der Kanal trägt. + +**QR-Feld neutral halten.** Sachliche Zeile wie „Beratungstermin vereinbaren". Keine emotionalen Appelle. + +--- + +# Zurückgestellt + +| Thema | Status | +|---|---| +| Partnerportal | 2027, wenn genug Partner aktiv sind | +| Kundenmappe | Konzept wird überarbeitet | +| Shop (Katalog und Verkauf) | Kalkulation liegt vor: 149–235 h | +| Immobilien-CMS | Kostenplan liegt vor, nicht freigegeben | +| Dubai-Map | setzt Immobilien-CMS voraus | +| Marktplätze | spätere Shop-Stufe | +| Bestandskunden-Anschreiben | Idee vorhanden, noch nicht angeboten | +| Markenrichtlinie Fahrzeug und Print | eigene Design-Aufgabe | + +--- + +*Aufwandsschätzung auf Basis des aktuellen Stands, kein Festpreis. Abrechnung nach tatsächlichen, dokumentierten Stunden. Zusätzliche Anforderungen werden vorab abgestimmt und erst nach Freigabe umgesetzt.* \ No newline at end of file diff --git a/public/_cabinet/assets/b2in-interior-logo-negative.svg b/public/_cabinet/assets/b2in-interior-logo-negative.svg index 36c85f88..838bf931 100644 --- a/public/_cabinet/assets/b2in-interior-logo-negative.svg +++ b/public/_cabinet/assets/b2in-interior-logo-negative.svg @@ -1,54 +1,53 @@ + + viewBox="152.5 94.5 289 228" xml:space="preserve"> - - - - + + - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + diff --git a/public/_cabinet/assets/b2in-interior-logo-positive.svg b/public/_cabinet/assets/b2in-interior-logo-positive.svg index ad309a61..23719451 100644 --- a/public/_cabinet/assets/b2in-interior-logo-positive.svg +++ b/public/_cabinet/assets/b2in-interior-logo-positive.svg @@ -1,54 +1,53 @@ + + viewBox="152.5 94.5 289 228" xml:space="preserve"> - - - - + + - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + diff --git a/public/_cabinet/assets/b2in-logo-positive.svg b/public/_cabinet/assets/b2in-logo-positive.svg index 58aae48e..dabb1b97 100644 --- a/public/_cabinet/assets/b2in-logo-positive.svg +++ b/public/_cabinet/assets/b2in-logo-positive.svg @@ -1,21 +1,36 @@ - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/public/favicon/android-icon-144x144.png b/public/favicon/android-icon-144x144.png index 4d59c5402c72540d8ba1183362cc836f7ca34fbe..52126729cd0ba93486fd61166d7537d58a1c4b7f 100644 GIT binary patch literal 4170 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 WyISb&N}oIj0DbLSTIDw#WBw0Ftnowu literal 5347 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 diff --git a/public/favicon/android-icon-192x192.png b/public/favicon/android-icon-192x192.png index 338c769a8859ba0633ffa793c197280f9015ddad..5db2bf34048cc590d195f21b2275a1c845a9e70e 100644 GIT binary patch literal 5507 zcmb_g_cxq@(tdZ9SiL5?5IuSqZAJ7NL=TH7Ay_Slwgk~d@2uV}qFW_uqDP77i$t%{ zqkZoE{)Kzy%*;>mJ-BzcR_e+x zfV=+)vb`h`0H`EXU&!lwXYDQedh4I2KR7(_9c86>j3MeJV55kDx!K}Qs2En(b3RAc z*X_|>O+Ac{nxm`IK6hPw-(cfgds_ETWe2B)%W59yYdO_#?uu7ayxiY4z~tZH@xhTu zX4b^v%l0efe4E7dH>2t4!tU$`8$Otom2;^L^mq5AboT&5C?0bN>GS`+SQdIULOmv?N+lEaCZk@t>(1VWaY15Ez~>i$R#Nc{ht&fB7Z0}!pL zQw8cWunJI@53G15F0_a7n{W)5o#7z1O}Jw6D-u%emw%Ng3xM+e>l^2nK;c1m`o7irolC& zi$IiQ%xg7qshlCIBx_Rs1Pf>aB-%}D!8N*E*ABZ`r_37#Ll!>qK!f&cf7*NoFY-f% zljfr>1%YLXn6d#rw9VRpF=RY=Z>X4fLSq=bRv~>dn4iwfplI8qo4jXNKL{Gw_ z-OLB_UXte3|GRA_u!x1MF+IBK^~el7YqgmT=S_4-)oO`MV+0A*`O*X#aHBR-FiqwX z8KL85Bd;Jj=NHKZ$YGn!ciIR0m))^v#@5cWfAc0?C2eN@KK)eRFz^uU@%mf{%%Wzg z1RwpE`h_ghw1xe?$P%-H@RR~ORMq!rDe#w{%ZnDz;_jq!LZ8u{C=Sz;ROejNW{dMr)lbiTxc zb@(r35^^{f3BihtBQaO%YH*D_cN|9v*j80}N!QSmnd`qU76~BhDwXJS`6`0KU#Q=z znRIPY9c72k9PfVtG$ZvE0OT_!6Cd5_X|?*4u4LCpuRfJbZhzc}KX1TOvYw}JDff&% zUaWc1ivHCQv8|T;?P1oky;qc|H9gxVDNjz%QvCG#%Z!tkw7{cpE!e+WU=!o^@+%L) z(Gq=EB5@gMQ3^D5yy%niFO&o3xbT3iRg$#BBFylqR95WM8PCA7;qpU;#K?I90t*%R zF_WODd*s6P5smN+{Y0`IKEiwKx+lCgFW|>3Hm!l=9k+WtpE}@ABf6(ye#~06kZ$pT zkzXg(Ye6k4eOaQuR4<7Tu@ZexG)NpOItDwXJK{GY*Vq zkv|G)v^w=w#u~IV)<(3l>G9jHwoy6@`dFJDBDg!`F2EDcHx26sxX?0=; z9l#zkan;Yq_-^>5y%wTJ4kT&xIyiG{x5E4V)brhJrAbZ9vhAHcI^!2zfY*W8G93OM zd7eSWbSYA_+Bt%@F5a>7V{Dv!Zw~8jZ)HC>V3)o&@s~lM*fp`~JOWg5>WkBMI{96sfoLos7ttDaWPSAJ?Qhx^VAl=4GxF#019Yd-LK4THwXjpg(xZ6bSjdCFRf( zdi){_mVTxWD8#&ZhWPh29SO;=wb-Tpeh#mKzw_qm7Biau(U-n?so`i58i*!r3Oe*c z?0|N`aO&uUJhmn8A=Gc)fx2u;=bZ+yb;Zd)TZ2EtyaUhG`R?o{POzxrAw(iBInP?8 zug42l&w>;czEI_oc3a-m?agq7SyCz&{D|%E@3(KX-U?GP(AVG0Fo2X!rj2Vw5^slw zqQpCH&K}GXkE*6nAVrJ>$+GOPwLWlSnu+%XG@q>=c`wbsHoXd9N2NyA4Gvl|)Sht_ z!kI;qJ_^!iXZvxWHr|3Su)CH)yV#bGkd4pJog>i4u?0IRDgSQt(k?*o1!FIEM2V;7 zoh9Gh=;U`d@Wpk16i_Zqs_tR}?6P1)6}_kF_KfcK+YW4yKa+&Xa79fq2I{S?2y?ut2qCx4UfTky3;u>%N(KB6;VXBUaKZG(;-?Hj@d!{RsE1 z{MJ@6bZpV&nDI;PMi0Kn`J^{5DFKM8CW1!;-p;L-Vq)nc;B%Y)v^`D(`O3r8=L zdy78v3LLH%ra@Qsy6^}S7D&Ww@HQC*9&)_Ux<(r(lRy9fyL%+`$7XSSP}ke7XK#&- z(`O7V?xgXWN_Miov%o$OSh}|cFyflt!ViIu6Rvw^Dg2P}Q2q&|SPYFY`;U%J)r#_R z?r@*>JEHF7t?=Rd&tZyvx!ILV&TTf`ubvO?UQ${DT0q8|TwgF-8m?3ue^TNE;te`a&JqlimeI71;x%vI0_<#Sz zsp|zV3070zqyDgKu|lN~1**3ZO@+Cyiw1&FCNkks4+5CZOnj-4qA)Ym)_R(OCjSy0 zK8b9P>F=1W9J1jwjp(Z%m+mG?P{FOF3H_H+D#)k1w84gj?x0u!6B|Roa*)C9rvn%xLV9*~ zbC#Xl_&}{sPp>*hFv|rS<}KgtV?(-2^4&{LWj%?gF23|RzB>p{Ppl%QJEZ9+Bz;&A zX9&1rN$LQ~+ipybwu>pjPr>7_2KQmfO>y9RRvTAMSu=P8n zErXW!9ST<4guZqL9*S2XkKUs=KDa4@0Vpe_2?)bbF(CL^U)#ZuAS&5%$;rg>Wj9Vq zLY-UD_vmF~>GJx@%6BSiGgP^*n)eOEQrYOIldyQ1QT?DYE0r3xKijxxU2$}R+;Oa8 zoDhV=@)i3+6!%R)(7dnPj%`0@A1my!5(?)M zBfoDq5cY7&$|p@d=-x6vP@ZpeQvb!{M6KldrI?DrZf&aE&-!%T%3e4gnDzs) zU!Q}2d1f67gE^)P{OYTmSP-4;+%C+OKaKhpf0VSXe1#pY%*~}F-l15HZhbiSL;cHwyTbJIB z9A?uYCPbRnimG-t<>qjkR2MMnnW>uMI2_dIOW@nX!Fgm-HrAD+!kS=Tw2@^%E8vVP z@%lsmBv8;K z!@MgoNf9NJGzc+^2R4#ZbH}p06F+&U!4LLzI7^tQlyE-U1@i<{keND*jo=JlO95NU zu@M4QQv%fuzTTr82!0(w&8@j16?C4Gv}x3nCOw<7Jg~Zbp>_H`+C4Adl{XopU?xV#24FCrpIBcqgn_70=L1sl?9n z?^g>y%=v`9EW(om1Q;I5PK&~b5wf2Oyf$74Z~8o5STJOZJ?1AkqgXN2%sXWHeetco zyu3V^q~M1fDXjK1cwe(oRoqU{{D;R)vH9G=bPoI?5H!qrYKZPa$~~T4Sq*u*8WYl;sxk zm^NOsmCBa^oqy8(s<-j39+>B)`wirTg}t7Q?ZwYs_6D*i$rJmb(P=K5XQdc!LVC`~ zz7De4)`sap*AJ#wi?u8VW`HWMI|WuhR?XDkjR_YZ!*+YlHh1}#nH6;>H5HGx&0OIV zzks{fK){<*36=%2GF0FbEN02DE|U55{@Dg4hlwh4T30j`%2%#`8zkAS-h~IGlCNm# zz4c@ZSWBLO_4U4c@K8I#^19oWWK%f4wWf{9AAqhciEZpqy+qMn-N;oYWL~)nHL*iU zu+6$7&H0Y#h9+u-%vzJE`}tcRPBnxtIZU5y!R`O-XiRAAAs4MRLu*2}Z^S{eid`r6 zd3KJ*0un6qc}f3n&SzUMArE9S#7456Ze`NdW|?|WZv(Yk`HU?jzD8h&vs`)x#pb(D zhEEAZrwKJBy)qzHzchP4HMMzPt03-OMNC1Q!+15^KhZ9O@`JR&62mSJkY$X`_Ml<2hwpQhIhP^Rl@%oTai_mGIn!)|0cPzC4V{qw|bH}M? zb|KT#MN&LX6WUq!QB-gC#YXyUb@u0SxBWe;tJW9^vWXl)iI zMndA}N5~D>!Ma>te5eD;Qr-mc&9Y)X{16JDi4H^T}5u%Q&APXoeOh(7a|YF9a?xwKS-IT1z! z>cDQalC)ArMx8i)^}y zAf;#qU%ro5S=I~LR=;QyOt;SiGt+azVnm&&C6L1G`$VC%yJn_uaw^DS|9u{8cU4&> z75Cp1mNiu}t{q=>4q-Un@vPzlS2EG+UY~km#A2z4@6T*fN@}WihMX~$(L#SIMdse% zM0ZmM!d0q^q-W{Cz7vv=xs2o1&V(2}zN(;{^1vNYN@#2M80f0F^4izc0+Fiq>njJ&VT17-GJbInPy-p5fG4jmptstM8%J6Slewqk|UTGT_&Nn{eS(_Gr56QxBD^=Pg$calF>Ga|U{%+A> zu&l1@x#&%j_MjoYzZJmrAnQB>{gZi_`Nr8r%NHkl&YFlGppn$OVd>}XJ8Nrek$Dir zt1br!Q2@Go)AvFwku*?Bq;{7dWtTJfj58mOt86F+Is|(}cS$aO(El~(;L{*Qq+b!9 zt5sahve&aT7;z*-!6w?9CBry>t~Rt)GH|lKUYHWiyxz2DuKd5}75__CwqDBdNP;qS Uj2D9MSyez)QR_wZb6D{I0hohT00000 literal 5649 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 M>6zo~{$A3n8W9smFU diff --git a/public/favicon/android-icon-36x36.png b/public/favicon/android-icon-36x36.png index 31171287691751a874e8b59ca60176ac701d169d..9711cc1ffbd5eb1ce929f0f1890fd76a35159842 100644 GIT binary patch delta 1111 zcmV-d1gQI&5#b1s8Gi-<007|tn3w_>9LGPu|JmJgYYoMOgl%{1g>L6ut*!*siwx6cF|r3F5KK)}dShX=qKv(YAn1u6 z=)p~MRIp+YBFzZ~p}kmx^4_Cqp=VRHrJLn8yWWTYuNU4cw|}|0%~rm--&g1Se&64h z&;NmQprC>ZD(L!3u4U+#w&gbsr*u}aleTHhz{1sgM*deIRV3Ehu*8Tiv6ep(=@-lI zMy!(&ZV_ZQDy3jMB2RYx@Sg(3wk=(xVz#2TW8g%p?cU~Z(_{I5`gB>D$>?TO7No_z zaNF8%f@ueeZGUUngs{pZTCuKW6ka9UuNQN15{4F1961G?%AW~G+%+hbz#j^GuC_>ldq6u>*doei z;D62$SP#54CXhlDC5mKkuy9J?T)4YC6hLOQzdBO)0Lq8i;im)NpXi%&IEedC0E9j7 zFVOc@G@5IUab(hN#nf6cwFYTKQIzMkyzHIP&KlQk6g6J~#RxA3zQ1Dv7zEDbEx!L! zO)AC(67+muEOx9f7CUw<9^WO%+W?|GK7R^kwF(`;4T`)J#QfJLf|-o2dZ}5wxJbFY zotOXeVb9y7LMz~ivb8rJe|0)wV2nFt;h`GOy%j*uo~Z(E1`y#hfNIZs81#dzJ&CZQ z#&cI(o>zAF`u;1^1|%?BVRl|=2((p)E;MEPm3h5lh3Ke&L)QxPPatK3HKsJbSx_vJ ztO$krdwP0Oxtb{{*^y2rca0Yq5*f}tJ0ka`L_+0aPo8z0phUISSbHJYPZ-lVx>is@ d1r>C?^*3t9q$lb$K3V_(002ovPDHLkV1m?{7{UMm literal 2201 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k3?#4J%UA`ZSkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#N0|V330G|+7paPxww{#ZV zF^HI^z3zq1g4;TCZ>j$OZ|D%D*Ra;WJIT;K0Hk2>qeb_CzR+2C2jm41<1Ww(AY|jC zS2ka_eTRPD6hli7s31fNM(Q=J(<_~;pF7FWEefH)KETi+5W$5hMi;RUG_(sa1d_NE zjEWCv2>k#5e?{vWd0;~SS`y?J45ZOj64~ke{z+ zp%trA?@~SS`67k8^`+Nrm1C|uVbXM8SNOm&{m1RmpYz0Zv{E;Q$n!8tSh*VTNlnOQ zsd@GC`HP1;eVJn}e*W=hzo-AZhejR0fBt#x7yRkjZNsP!HtpGNfz!XOXA?YpN;P8| zlR$DLhw#~B+{(w}ST`J$NzY7@ik?!drGI}CC;uU*M{;I!=C<@-cv~9rYg=yJ^S|Zq z=c%QAnPIMUhI&6*Sn>7nPSg;-a^xgrvY65Dp~F+m~TzoZY#Os!19fv z>g!gkq&BkG#@~Mc^fhCWx4X-?JGZ?OfgH{PkH}&M20djEW~^9hUj`IpFY)wsWq-xY z#-+yY`Bp^|SWMV^x;TbdoK8-V;A@!JKD~dU;CiMyMn}a&!9c@8PMKE{s!NxoraXNj zDl&CSYD;Ly#+k=gEL*p5CF{h*lq=URUOgOgbjA9_gbsnUDF#Mnj^Rf$veNPzb&h3Z zrsg)U>Y8}*+BvyU`NhqPh3&fpCU5T6Hs)TX6lPw|Z&qe;|MKbE$FHBaZ)k3AY*aST zuuw7KIq`(2zoX|-lXh2MXJ>D>zlV?4vj-l2p1$7aPn>!5;K8|bC(k}^&_4D5*VY9a zUcA2kNQkfRQqTI-r>*hYT9y{8x>jWibY<ciCJxKUS{s^TXFXAt@mbL z&VDxf*ujl8tQP|MroLPqw%$`a{`Qxzue+`~xca`nmVaZ%%52jcC4JM*zRZlaXy_6O zTd#S0SMKk=xx34lMQiUy?fCk7-rnB|jT`V9>$ zrL&qF7h69)bA9vk2A+;ZpB?JsepCs*QtOkAzdYH(f=Mq`BzE7S#(*iu4;G3p%y@V` z_Osu2UBrl$gNW^%S(eo^|K^Rjb+ zY9&BwLo!NpldP;<@{>z*Q}ar!tO9^aix~`;|KF{Trp6Owij|c|YG!&y34@`fkwa`@ zC{T?!k~vT{;h8BV86YK>*C=uTl}I8f@y*OlEvYO>WdOTMzaTH&ep8qqnmN89KvfKe z=H^D`mc}L)rluwlIY1@+Nah4*R;4l+I5|yOWcLOr6^0}g8sy24mYI_Z^tyg-UP(@V zx_(+>S!Qy6Ua>wR$n}$xOf3@)jZ=*+Q<5!{lMIv043iQqEX+(T&63SbjV<(mI`n|< Vn_tieY(p?Gc)I$ztaD0e0suK-KoS4| diff --git a/public/favicon/android-icon-48x48.png b/public/favicon/android-icon-48x48.png index 9fe5826bd8b07f982769fa9cf7d25b84cf4dd782..855c2c14ca7a2561691e91ffe0f99e2fc6c9aa6c 100644 GIT binary patch delta 1477 zcmV;$1v>ir57!HjB!32COGiWi{{a60|De66lK=n(j7da6RA_1xmr13Wy3wySweo@nLt%7P@7-t-iRwr#W-aJ%9KA-+SlGWFb$UJbCiu z$&)8%WGIU4e4)nQF`Qz97MTKdE!X?A{gPDTz{~>ad47*leGb-wz^1-u2$tN*XPc!xMSnb16e4%x_Y{xs}Sm9@k7h1 z7B_SaT<*zaWuWQR=@YTcXTT;ia`Ym5&boLmi#4yT9_tq9$0*TQw>PV5@fU}4sgsU5 zRl*N%Ty-Hnvr&;Bc8nZ7KUeVpWsBFhcVX2ajPV!9=YKob)|{SetrYzl*tYW85teJ- zNAU{Pf7_fn>)gREc+vb%52|4<$VJhZyK=Dg`ZeG$h(85V2Kvy11s@$9>|!a(@7&NJ zunJ*rWcAgz4yIN{1J0W1=YcK(4#c|ts2j{8ec^h%2%yNL+g4T<n+DRx(_X{i~51Ax<MBsL$OC&LkuB-@ zrJ;$Js+!Ho@a@)!lhaW;Wfw~0G=%G2VM|Geb2vy&Pt2?lQz^xYok{$XddG&CG835BMJ zdVgDz)tuG|Ws_K!Xt(30Od0MwdSnkU2EZtj`#OGu!FTGEB(7VJ)w5x4ys$9wLX++o zo_Qs4ty@##0ov;8J4=K1E=?Lxkuy_c7nGNeb3OM108e;xZ{SBbJRM$yWIS>`3%c#4Ut@^&B;I?&qGlzR9x8!$#z1cJdMf*KVjplSmy zN}VqjU6N^DIQa<>>Sq8>McECmdz_mF(H`ZWMlgMTJ| zbM3j;j3FE?F79Gi|DX4zLHh|s=Ox2-@wj&Y;t}QkJx*jzGW<3Wv}Xfj6(*+VWi%kj z3KcyFpsHsHaw8BzdD?gM$aS`DU*R}TpC5LCU~svj%K#L9_Ze@-?(mM^24Vn_^n4F! z1;z?GHY)=d^J;52{8K8lZTqof!hbekJTSEbZU<^lTs9E2p98%w8ULkXX6_C$A^R=_BFM#Q zK~KB1ZM(4J_k(XL+?2famnbt^oXEDJ5}Jw32GpHX8nX8%u4S~M*8rCtPk)fj0OwRz zjyM*Jz7NbeK9_eeRFsD7iu97=@%?}HB2(q@wCIFU`D%n}9e_XHQKgs}y@$C=Pn-gH zh9`g_H87BmIe`5r&&2)ynoJ$&zoyp?h;pTC%t^aqJkRa+`3|-RYzK$_pkq1mM2f1 fJbCiu`QPvlZw?owc4$QA00000NkvXXu0mjf-Lu=y literal 2042 zcmZ{l2~bmM62~8x2%{kPHKJ$$g@FXZl?XvF907^kr+`UFNFXFY4gw;J0}eM%lu`sD zh#aE=0wbWD3kJo}5!@jt4o3tOIl_I5u#c&&T6e0pzUr^*b^reT`gMKvy$pA((?MBH zSpWbIVw};Qpoi_*{(a!?C%%~mI>~T5H#-2RyZYTWP6~WJN^tgc1AqiQ07y;+fGseT z{22gPpm6#E03h=LKrOnc*~1!4?8Cb{p@H4KRnk^@9gN6CI|ncT!1(x{iE+wp*SK{NnBDhGqM^Cpjo-UVd`6IG-aMp2VzPaXd34{1>0W(fkzbPnuS zRAMPYGt!$d>E;m!7MDsKJ{7l(Omy|m_cBJWDJDkntdjZT&;P+y-G}c zg)|vU`cgYEH;b@=^Kcaz@{`3y6SJ4rb_RAk+F4)ZY*zZt$lLrN(e3g>{pu&1=ff@Y z_kZ6l7QaTlY*&<#vw6vAKzKqS!hP> z+*JRkRZ`Ay{&|d!zOwuB#vn&Oq#%s;bYx|t=;wP^`XlOG{e%rCR~~G%sJ!P&NkO=% z^SPp_&R%>kUZ(&1XgO5o%LS>S%)2jDOdckiStqZ5NZD}FMEz@OvHR%Tpq#kz@pqTC zqAwthHOo2^zE0IeE^Ka}HG1w}^XFLwOQC9_Vp{QBb54A=*@9f6xa~8wo36JBEd$sw z%kj1ipkUZ#5f2NOj>u}2wB_Sk_t`bTF>Qk#W~?S^I&n$lc7ZRcts;K+<$8sODvksm=-l8$1Gx z^V;1@r#o)19f~}wI#)zg;IA%6$knF2D+Cdk{oU*NEU$dI!S~0K9 z*R*XVCC11_fkj@WVVfI*al>&LtK>A-NBzCOI4C>WaFOM~D)Fu`%q%^GiBn(CbYbeh zA1B;pElrNYIV{u-CG@Z)N~>vfiwpKPJ`dH)3oKVv&AT zcQ9@FNu)!*&pW-$u2r6RAcy-4HU|oXl~49&dxas4DW)ajhC zHUaLhZ@(n7t!`d~~ScgQ8N$_?E$>3OjyC1g)^C-VomBtY?17%BL%fDUKiSsvklh=t>&c({ zY-ghR7_~k{Hv)Ld%T6u{&&KGX?ye1mq93c^ffkwGm!op!`EB?f!-(8`Wf>b*y=0Y2 zK&S>e-L$!4?G?>L&e_9qphrnCqnXHGJhggs1kx4hAm#njecSS8oC{~?y|P{2&>ziJ zPm*q%%M~6zGtHiP>mb_6*lCJ*#LsSb)g!9CN>6z;TxuY=zS&XQ8D-X#!al=ooaSwq z4Cx?e+DfU~Zb9o=zr~dhcxet!bm3J&PhV5=2U9f~yzpm@w^#Px>fUh((Cc)e4zFdu z`*>{LClbrHs-#%Nl2j>8Y1#>&@BFoC?MOFXza{I{GV>9(5OlZYh55oa#AO)CMTAErS;AU3l=4Sp>5Rw0;ju$0?2*B*^^GZ>(V9NKK zl#eF{AW^79@YA7DG$xfE4kh8(6at;bfc|&nPy*f@fir;<;fOE-f`B){TbST+R#q0~ g2n&LRIo!$^R2YN(6-VcSKWPBKIAGB=_7{HqH$SO|8UO$Q diff --git a/public/favicon/android-icon-72x72.png b/public/favicon/android-icon-72x72.png index 94f262e27d5197ca5f632a836180acfe5da7ff83..2a321e286df71f6726195c5d3fac13c851050adf 100644 GIT binary patch delta 2193 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 diff --git a/public/favicon/android-icon-96x96.png b/public/favicon/android-icon-96x96.png index f3afd5d5b94660ba36c3f75f63ac805447f7a1d3..68676dd8faee5fe02d41989b824504fa953749de 100644 GIT binary patch delta 2844 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 diff --git a/public/favicon/apple-icon-114x114.png b/public/favicon/apple-icon-114x114.png index 0f5c644e1459fb488d650c2856216a21a72bd117..76bfc7aae3f17787fb917a358010b33e3d486c2c 100644 GIT binary patch literal 3373 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 G2>BmqtC8IR literal 4232 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 diff --git a/public/favicon/apple-icon-120x120.png b/public/favicon/apple-icon-120x120.png index e1e9b4d3699b88fd2b862f0b4d920b4cb0d0e40e..201c1b6b91f9a923888d231fe74757533ec81e1c 100644 GIT binary patch literal 3639 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 Gk^cu25p_8L literal 5670 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 literal 6843 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 diff --git a/public/favicon/apple-icon-57x57.png b/public/favicon/apple-icon-57x57.png index bd69e12b50c88ceeda7ad3a91e71cbd4b7b593ed..d0812f1f67d78d3e44a5ecc52ef645482a6e2c52 100644 GIT binary patch delta 1709 zcmV;e22%O_5wZ=C8Gix*000Ae6w&|y00v@9M??Vs0RI60puMM)000JONkl5F21+^6(vfWALbmrt%`7ID7166FRERo-Pi~7^%gA>SKtKDg>~S?gZ7edDfZq|d?QCa zaowcqtjy}JzQLFk%9^{yFiKn#?5+NmQeN>X3+7DwMSoEUfoM<(gypeWB@=bm+*GMl zHlAAzngn3{GfUdj%qu>L5~)*{95fVkP%NJv7A!Ym?XSI!e;GWvm#w$9dQp#<- zwxJ{|gA3q75Y%@5CkSdLc=)5NuhphoVdeZpG_YQ3IJk>^m@+k zq1$)1wzUtBH#Rrprl+^Jt6QiS=$Nc5CX?;xz;<+CF`2{T8Clo4&}rH<6xF*Oop`_$TbpBv@qg-{?HzpFwDNd@&Mw^V*s_^1v^1#{O2n?6 z>iqhK|I}WIVPrDJajJttiQ$m}k*K$?ueYyHCX)exSR#E?QB_b}($>ydP_Qu4Qak&7H7=IJR zc5q1gGPPScxQ;_s2Om#LFgMq9AUd)BlzAC9D2i?j3Bf&!$^0<%eXaQg#hNue+uco< z5-qK*C%#LUN@eOu&Yimq20bx4ast*{xpyn7YXLx^P;e_NA68TX0F6pbijDU1^ccTt zV{`NQix+V}&&$)*`5j$Yf4QE$)PK)+g}*;aKrdd-s(ac109n~LBlqm4QYhoG=H=fX z6`8@F7We7C6-)icFUjKz_Qu4CB~kz&k<5?A#p(hI0LvHqok>f@{Q@7KHDMoN7$%X* zs_W_(_;}-ST{mOX^X3DG62l`nUEO2$ySxtmE>7h0mR0~jQ8e{vlDo@H9e?Ma=Q&sH z*^Uk@CIk1KU7C|yJL{RW)SBXgn&N`0!uxsI*LH6Y$K&PP$8kqfv<_)*X$g-oE*)md(?xcR%NBr5R;zUu)X{=okAK`ZfrngV7-3VCuqYG`MTPk+|FfdF9nV!xSA zGXOx?)5AHGAeYP4m(ot3O*?&dRDN(^z^T;ZuMP_Oe$Vom>yeg{jC+|(J{70)V;sh`yUjqYcK18bbZP zXT4dyP2V(4tj3Xv)h0MHu^LAvR^!OTY8;tZjidho%o$iiolivd00000NkvXXu0mjf Dc}+=i literal 2300 zcmZ{mc{tSj9>;$j*=5PTWjEQ4!I+^O(@b%)9~>M@j4@*wV;N+cAU`+s6 zy#@ftYyc4U&wFZR01mLYU%i3`j!#-)YspAM-x%tsu5Qw-R{O)nHwvggNEYEcBlFLxc0v z!-L+4KVOc282A{Xf7Lw?lC$pga__+&Vx`q!MOBhKWW)-(_G6uz5D~<3W@`7;hxeVT z5*h0}Sonh;-t8S>?r)@Y(=IKE)U1;6pT0ocnYYo=B9w_6vx~0XjiriF6Y~5`eySZ| zdXoB8LVNSG6Y)`r*U~1Yv6?aCbMn6J`TO}3%Sv+kZg=SE2BK13YgODYwo0}n)Go|Y zgz3yk4QeZ2Tlc07Z$5AT(lt_`cWGa>#=KuO_EtS7-O@GT#c13S;3_OL{n}YF%OjA$ zUGePJW>6$cnnWqAe^<3ds-VZ!U*Y>3a~k%Jsri?AZ>P9V^S@5as6&21M4!r}cOO<6 z$2JTM-|@H~$x_h)2@qEAS=@M;tNojWW8WH@uNmNBU@I!1iW!PexzgtEmrD1=PQOX} zv~bH_m4-L(&)TJ`ie4}i$jOm49cScE7wz*@^crq*w}?+t&u(~cMHTe5-o@}Wrj`=l zC`_$wM#)I4Us^UM!XY_0{M~#^gGFZfYP0{G)o6H0%3M3THgBEVAtddIPjf{DEIjMM z#=YfS2oe6+#%B~GnkK8=0+9;q#BhF|yrR)TXu$dt_om^bK$}?@4RX7}p*7I7IK$hl z2LAi`{7KZ&`q_*yw)>M|lNpQ=SUG%Z+frewb!|Vg=ZV^qPc4;t z=L4N~HEHy)RK~NvhKkjz@UKeoTS$Qw4x=iGal5j5HCBX(eTv4S>F}`_G-jN$zD{6G zWz2E5-s3gz|u?86NNjLc7pdXI;LbbhLXmlCx4ZDl2*P@=Y&#+e*^= zu(Y8{+`8X>OD|txNq?yR4f0g(#n46Og*vMn&Nmr}%8gGw))rXeD72%uSqb?R24{{j z;dSW3W4dvS)cn{&T@5>Id9j&GMI=^}zvpU(f%W4l_gpUECfa%XrGA$}bPdiB~%*&~NdX9}dA zSx~dKL+sK0y_gAptC4~}f$Y?SRl#uBg9`B0M)qk18@xr)c?pHgvaiMy*+g7w!j7Q^H?;%!E>rg1RVuF{;L-xNvA0Hk%78Krs!&y}ABsb+ zxwzRa1v?0u2{%VICA^~lWxShQ6B=0xHhyjg45ebx88p zkDk`=wjHR1DhKX3M$+mYRT312n#Ek0!?)geEU6Y{_sC~Oe-bWRZB>X6-*hn9F+IDt zcrLiK$s*xq(U%DLJNQ&T1XDU&JcIg*CUDI)pGV{J^0o?80S%U~FDsL6k^E25^F55KH7hF8?#nd{==Pr|D=hY4G#{`*B zNtt##k+H&sp0&I2oyD|I&S@~TJHIWF@B7ftw|U>W@}XMUhKVT4x23NPOT?V{MQsA# zL5E{F2ZZQDprWYstSFf1fKk& zN^nrO-A=wFQCADLV}iP*E@T_*>9wvq4CBm86z@8+jNL%Vzs+6ue$*FMQyW^=2bViQ z1>`y#SDM<4^WRT#jc+U2>rIw0D0ds+3K-j`DhAg4p$=F!nAgXeG*PpfgIN1H~VzjSMz6O3xqn=>5x z1M{hn!i{|YAD1otowFtSqY}|zXB~X46v!BRvWFWPhr|ZrzyN4zYU!$J!qhZ%ZJ?S+ zm>yD7M@3T;sj2zmk-qr<2#6#PFVC?5FL=5`DFFr2Co=?*JjtPMfjEFbCi@2=H8i}4 zZg?DMURWP>QXsx%P%UlLx!(=EgcOY#fS`0tTxVBK{PZcrEwhVZ~5uU00v@9M??Vs0RI60puMM)000LGNklty%%^ zo2dUafIV_TJ4#MyN6888C^?}WB`36_%UPP#X=kKtZTX4vpE4O6Rlz zTGO%<+E81e7H8^YCC0Zpx?2Z?>5eem0LM^6Em|i-wK5uu$M){!)+LI{aBEv)0HD}d zPvh#cET!-wj(=h80!F*~3~Y+YpsuJDWz@d9!}Rd?>^X(W?bar^glvG;$%N8JCyaVE zKVmMsL#Q=Va3fmt?4rEr9J^BlKXf+2;Nsmntyu~0B;u@OJjN3ouHmveTOhTx*GK=SwXtpL7IfFd3giX%7H?0_lvPRdZTg= z7y|&Ba)G`^Y+r;XcMoksx4 z*|emDcmUAr_5DVU#V`y20{pt3Pd`bnc(q0|X38{WO$`9hXtYNeHxO!@y>M7nPg5wA zu_I$hX!Pw{!l0U$WQ-_O@)L42Z4 zZ+dL5-O4zB>8}%q4zO9~&C#k`mVcR(bNm<60oFY*Aa?Yq7N6E&HQ}J zo)iF(R7n*|CD+5FIcSy(ljmjHP2ZxZR9cN0jrXzz_p$})f1FL*o80i6BUGo=eYG|z z>p?EzM)mK%J~7@(VgP8*<9}JM-QWO!(pIWeEkF+*IPl=E?W8MLD7GZ;y?pID06cvr z{ASyZBYSo=oTXB$m#$p>@UdwrhxYEZf9F;P!-i9uLiv}=b}|0|3^S6pRS%*km%D4z zx8&)4`(Ebj%F23UYE-HPD^`-k5utt4_NBOT-pL0LYd3rvg7oYjLVwsejtgIiEPEx= z>Y0m{78Di{?tt*HV|(8fF<1|cVpxf=lyqr`dE)EJ$~jAyKNr0s+XGgh~wx2q5gzm!kRc2~|?l(K8@CEH!1%J0*sups#1#=@B`! zsX3!Y4EN^q06?$T&wpOJT&Yx&T~CUOV?Ju+6?lE(ijQN*x0==@o4@6S1O;wRT0__< zhFKB=fL5p1>huj~Syr>HmkrRqK0cFT$IqKNqs0^PUCUgW)@gP5PYN0xd-+d*6WUR7LOV)MXh+Ej?I<~+9VI8Uqx3f*fW+&M*{4we0000< KMNUMnLSTZnB$c25 literal 2388 zcmZ{mdo+~$8pmI|7?<2a8g`f|MICd&3^R(-Of@v_#8%2&m~kD9ao?3&GZU$(D5>nE z8$#q5CNV@vs2JCbc4W(OC)fSj=d5))d#$tH_57aoKEKcR`+MH^pXbMOusfMo2~GS#iK3giRt7 zA!D0l&s765*%r(Z1it9djJq$RK~&MA^e71bYmixdO4LAy&{^hiFVdxX8CrEa3njXZDGIzKYBMo>EBDHmU=pdHIM0SZVqaB zwROM7OviH2mf@G(7tan!?dM+!eA2eKu9wZ-X0Cx0T`UID?srYhM(nzhbAgzdB<|+* zvLF))YKPV;)_>pM$h;#}f$&wwrpwA- zQ=IZ{cu@(_(AhCJ-I7**rf-XH!qejk5ySlzu&|PX#-CQCPA0#kDozA+WnP26ZJZx+ zYPS>WzlnU~)=pbM2`?(TCnF_>-?WAq`qi?35EP&yGuG&4xun&_n+)e>VuPU9vFE7D z+Z3VBK2g;wY%LC+=_A!2f2(tDZ`Jdrm-8xik;Vgt(Zg0Dw&^B&;%8N`4t;qB^ZWSM z_&sc5pi{YEc?lw49I5fHbSY(t`iI%VXjaI9pbkdgDZ#p~^6XPjkJ&k8Q>=0jLmYW} z{TwX zjm@2Y6pqWONo#uMp6zuZiF(-41Fv{5-AoR{4$GM%WL!?sl!FyBvWo{(1e2~Od%LVq z`;!SN>qq!ArM@2@hbum~OO`DoOnnkE#gM!}7<>rAN4in`fp% zR;0gg?W@tP4+`LQ`wbX8aPySYRo6}&q}#P=h^yS6e$v0rOBEgdy84eT+`R^9t}?In z;3kt0m}UAEOSPh!dEuJWEr?l$Sm-!@>xRT@h13}v3>iu`zuleQ+6r-=jY<5x&%~8d zbDh^o*j^t+ud9U%pV}%4i_U&3GE#f{Wn?Sth|Rca?R}A373|{55ZnG*K@_=e|ILz& z;TA&0^Mx0LitF)?T7nY+`dztJF>6_p#jkY9W$(_&L;)cUF*3QO-FfhiG;_O^N}xF*G-x0?SE#BJx@dDK3b+({6)@*glc9uWL@D#J*@8 z|6q9Y^g+~V! zkWeW{IS9+FoNuJlJJfq?v@=;8x!=Prl!A5o9D1O3_nVpR3H7c}MA|Rq(0+0_k9tF@ zJvzFc!jfJ~@N8bgDT&1un{`e1dMV|FAYQ+tMf=0UA4+E8;KK)UeiAg@<=;1 zB_e9|<-|!g+I~V^!A(P4Z{7G5eN%joFkc!;yGpYie9TIu6_!!-aPL)Y*B5R^L7xai zOBCu=+moQ;A@%3s-Mum;uamAXvD7Bi^j&293mH-t#<@-^2sOw&Jx05>tKM;3s7B_% z6JzQfZM~p%lz|bN{p%Y9e}jJ=(CcX!Da%jkJyKCa%1oC_yJ^to`t=$$fA*F`Et8Ta zfG-DZ?vhvRPx`L0Z<*Vz`XS$VyDMl^wM^)Yn@N1$atHbfnL0l#E$QNEXmHxpBzb=4 zALZ2)VCpX-er8&=XGkw%hdjkRe+UU}~A zJ^U{SrK-ja{gmlstrZZIfEa&UNY??Qlj;Dsw!2}qijIl;26C)JX1&zX+nB!5HeJB(jg=&6iq5VICz+f8F zC+hzTD(4dNL4n@J31PuL>2DFSz&l2k{RgjO9z8V^+yDU`c}2=xDB$~H&_=& zcpwFjCj?W&1L;9*Jl+9B!vJ*tx&Zk%hP2^=#~-6JeHm;3jWa%YD#R6JG=K2<4|9S^ zV>338&ZjV05P|-HkePvWb`*;a{M8kb736DG;%4_ZAF>Nb0cbNbV>6tIsW}E?>K*_h z%0KuxGo$GM%Gx?3*K!=(a{FP+)rkc7Fazk|ry~P{*a5-5NFQ$wlNuZphWzg@M^Y&m zoHyEpZi1sxaa0PLf<;rj&CRhG9F~g3n3y9#1p@5v4(k$l{Q&?H(T-4PeJ1`-m*6=8 diff --git a/public/favicon/apple-icon-72x72.png b/public/favicon/apple-icon-72x72.png index 94f262e27d5197ca5f632a836180acfe5da7ff83..334084ed2f36eff6ab0702bbd4d99088ae2a2c4c 100644 GIT binary patch delta 2215 zcmV;Y2w3;a6{r!A8Gix*007#LBoF`q00v@9M??Vs0RI60puMM)000PGNkl?e2ToOV8f*rw)mn_ZBG@Uh&-$yYE{lg0*UWEb ze!uzT-kJNG0Z1Vefte`ym!81SB{!I>$qnXea)Y^=++eOIH<+u*4d!ZcgSnb!EEwWk zciM?@txBv@$+c=31S13@751PYWI9CfaBiS!pNPy!b~1ft_Xrxj%P)qq~FlXLG#dcIW(+9^Sa)Y(a7 zRy0iXHrrV(9Z>LFCB5HiBs|KTXMDq#ljva%OnZ9S2__%BFKn)wkPGNBX};kvOvN)< zD)A#x+htjQJ#}^xGj5{?HPDXe*2rcst!j+la7sS-gMW9(vwm@#31pfbQ5F2wk;c;# zvSE5m8hzf&5aj$l%r-E^NZU~TCpwkHFCo)6JjIc~I*n@hPMMt7KxWMgNZNsr8IE|H zEE~Y2egEO#DT4^az$N?1tQcoR*9)4e#2wcVFTbGVLmrd>XZSS8+IK+Ct>-tC0{{Y& z3Y|m+0Dpk|e)YOf=u*wNfcNb?6S5&Exdp&VFa^J5sJ>LM(=rn>DYF(hF+2beYe5d# zkF6OO4%~WAJ2CDozte;1RFa`PWqO^~lNn8maA;kb6$B%!#9WBrF(Dh~-~E%b+)fWR ze78cY5J513wO}g%kh22gMWoK6MXv$?$hq~Bo`0K8@i`5cg5M$^xCa2B1SXJZ!A=Qj zR`kf1(6no`rCO&^JMM5AFk#CDv_PGk?07Is^C0<9f)W7$`iXH#*H?}^w6xvpG)n2C zI<)K)x)g$)oH0)drvQKeUl$)27}2K~u->_zeM2x19R zr+?FZ|3lN4Uw_Sc*eeu?AP6w%jOd8)70J&pOo%7I=3kR*HQyaCEgO?aVq@4JA2~cL z@CiGa001UW?822V4jubo+A-c#YW^ErHgDX35D1f7AND@lfA~ntgEq5c*^v=P4wS^Q zqfP7@jb_oZ6s5|rx?X#E-J!jEtc5Tqdw-HNsZ91kY59(QB^s^Pr0GFN$A+xzsi*(| z?VPSnx%rLFKbqLbl}d~X03Z-L`sYadv(KA#x6hrwfVarx^6h&|#uZA;LV)1_e-@Kr zlm{wR>ViG{#v~HF(T7Tn410W#S(p%S_ry?HS}O1Ee=C;FM#}=Bu)VYEZ=ZcG7JrMe z4*$4#Df6{gvFfGk{~8+RW7XwLpF6mFmp{u70MOpa`Q3ZRTH8C&rZI`6`kz*-@CWJZ+*ra_-E4a%?)n~1uds%W@A$i z4Gz9qb;iTv@r{63EKXU!Q7V_C)qnW;vDJTZTAndkw(a0^=L9D$T3CCl4zoxk5)7=b zpNrXlvpgA31puJYXp5hI`bKRnTJ7fznm8AX3KdGjPsU_0yvUva0HH`EA6KA82AxLn z^3rHD4UPAE`?)HmGH6!d;>1PNpC({G7yy9m>4}v|BqEE+M9VszZqJSatbZvXZvN!4 z=v+||2&T*X;QPmJ*4;+SCy&0na@jHf!22gluh;w=HU7S2-;%}8VW+~j3lfGt^)htGWVbj!deYPHcR&JtK?NU%}18aF>RWqDcUr{$HO zqJ};$_v~lq3$nA!4u8FySc8WNYVkhuZ=EW8J!*14epEI;#LGf6Y{|2*7at|m8_tH}-KYI1|Q pn%rQnCLlMMtH}-KYMQZN{{s*)7z3+2lIQ>c002ovPDHLkV1jBzP~iXo literal 2763 zcmZ{mc|6oz7r=jI4~4Ofr5I}wGlRj9vW`h(H`y6uFa|RiW(pw)yYxPv&-=NbbI-Zwe9yV(-hb{*u(m|;ACWi$002MQ+{Bip z&3_6vCu??CeU4%&c3(q`AplgS@$TU`SZf))xh)0&E-L~+bSwbuvRu(i01yTRfMrhr zK;{B~7$v{PMxPbn^s+#i00%!uVSPy!%fmx4cM1gnHMyU1i2mSgILpaJMPp34mf1Lu zC~~1!<-q{J?T$7vw5N}+j*}<_reLm(sR?-uo3QGe?lvo}dn`KfnXc_UT%< z70dzpL28mO0gOom`@y7Z@aZR=41!4wsxw|`WrLE6swT$GSQz-wM>-66NXcyoAqt>#Euu|9RSbEGGH>Q0&%9^odzsdXP&Weq8)} zA37^fC7^$CXbNo%@#H?+k@kAw3j19nRCPuc%36Y|6zTL@S@LtBYMaKQytZedd;xl}^xxS8TW-TrFXVPSe) zq;z;RsAH?>{q_VJRvzuOy1dyolvaLGI0|xUG8)s9qbl*m^Zl9n*pdGBeaQJWVetMC z-O;2c3YxdFCYOezR2ZWc_5I_m`TR*9Poj3E5&V3oJ)Tt%*jLk3;xZ&9Mx4ur5!P+d7V(Dh;07(`q*w6olz=n180lAEat6lFMrNFy7jJ4btzUG1q>ME>W}t#7 zPQIe5F{%1kY`F7gQGM4JgACyhCsR=cz4aT|;JWUtJMr2$o9c-nN}>)z_l{6C)7j>? zRRNw2U3%!Fb)IjJ`e0V67DM7>^H_CJG}U6|81DY!H0^=uV+&AigMoGRl9Q23e|KjY z(>`r#M}|KY)K{G_j+l*ThqV>OFAvoEVj$I-0Tcgtn{Zf0=4I?-b> zuqK3hp}aX^Et*SgQ{!)UQOY*~tG7>@# zF9I9#*E=}B4u_yrNCUR615mw68@50&M=h^XIzDRyo3da}+NiIN+X8())OQ1~R}|K> zQRY)H9_Q<~zV@*^{%~9c48=RV+R0guDcu4oMyuxPJJ4ID%I?d*;%KM&3QiiNO)(8@ z)|Um37C%YQuxo7V<6aiBAwL<}OlsIAa}ELTW2?d70lPIKIN$lmbX4@h@WZt^KhGGQP8GU&WyjVeDeFuvA7e7sY{fcyC-TCk-S?HC!Y~uEp=Tj??$;Cdp zH}70kg7;U+memEvYeR8jLE0!6(2@~YhJm2?J8O<;X{E?31p0-TZ`K2xq1bgmyh z<3+x8I7GtBmHmcdz0|Snyb`7e7)%Ix$h>D1+ReFxh;*&7y$nlleJw|fnKZjY^4T$j z`2MDYMwLHUI?zF`9Mx}oQ90m$w@vPi{vbcY4TwYOBBnogzt&>38?MJ z2o~oAzw|bS_c^6^p3Fg!&|4qPUdF{KSGdIvXLa{0vxiMfGqYb{*(1{k16#sfxO?Nl zvZ)_u@aaF&=~?(e9*LJ?q?qB^PPe`aJha>tf8nbwuFU3LVM1N6Q{zglQ(bBZ8>hr5 z16$|sn#|m}*{;$)iY@dL<5`@C2p#XSYqYB zb2BOT_l62FzO%DEwh_{jT2J}(Pq~*p@-XA`GR=rc!Cqzz_L-@?QH}ro-%t5}-gK7H z;yrWq0VXJ;paGW8`g|x*O&zJ;I4S{&4M&Fu!M*wsgXl` z>jtC?SgiO@*4{5H&+dW2|-jO(wc>a03pw^n9XsM>0su8K$}TooVTG{2gdA+qfDbW%z&g5mU=THc?5pmB z3n${qL80pZy>fNDmzFLLra{oq^~USsyf49go diff --git a/public/favicon/apple-icon-76x76.png b/public/favicon/apple-icon-76x76.png index f79c946a8a246c4ea31e5a659518e4553f5890ca..b04b7055c22b4e75c2f2932e8766ddccedbf0b54 100644 GIT binary patch literal 2361 zcmV-93C8w`P)(6l4)n4I@MGW==_z)%cz;JtyIEI?_J(y8zHt8^9KaI&{`0!{<9)m5ULGBM{5AKPIV<@aB z*LPJTs>eocn-4#T!4g1BKApifqk7D!MUh^UR>2gE@D^qHW@Sx`p)XU#;ax%%pW;b5HXu2jBq8ooj5Pj)Zd}1 z_)^ze!VO9Ek6yr*#sNUHt0j)Zos~Vc|A3X1+!4v*ac?vEA0fVNIH*%UZ=|hOl zbR|57BFa05bZvK8!ibwS2^uJkq(j){bom5Q7DFccBREfU40+53Fj2FJS}ex<4T z24eUIPv69r#=D_UOB`4y5ml|?<{k{yi{mpyap~?+2mqkb#N#skV}6dINXLyoz{*PZ zbW6crkw|x4`}JKIY7j)s5{`Y-?c)eYSj-EXikXdyqCX<4TK9Htmq^Uerzp?} zBAM`>dq?mbnlvek!4YF-qvG}#n4!;&UE3oP?<_rv>eT=Mv3&V|ZVrSPz7qMn000zL zD@*bKz}?pKur;(zMg481003^t1a5Gmy8;giH#CVY84Cc=b(HnD+;Ug9!-&LjOjG?e zaV>~^&0SG#;1`ujTy$3!;uz|dK8HylwNI}bwe0`^I$OvIN^na^+i*jZ+0uAAOF*O1 zknYE9Nv!LA4zo^Tr~%+8007YF5X0BG7<$CetyZ&`Op!=PhlYPabTIs|rWOD&Zfq=v z&2}y*6^lFB-l15Lz0O8$p-?FD6UY-1X3v-|iyS7mzE@uU&BbpoT`%hC=^;E21Vu%J zr_P?0zF>ZEP~f1gl$~8~t$M$+O9cQ33X~S+AD0A(9S}4a7I(6_wRP^ox9x2C(>W>I zH>?j3iv||;>vX#hB)zl*fr$^PT=ka1>Q6oaElkdC}CvV;7qp_i}NuKa*>u{~Om{bS=cqcRCos31KIVNiKiJX0}rDy11nDCU` ze*o(d4%=eho|Kq4Dbbx-hr2(E(AdU09dale?A`{Cfk<<08nc*HIE)EI=lE> z&iMHFK&iw%A^`wGe?O{8?K(at`n_dKNpnQVAmb?DXIs@@eAMopi-;za}Pk4 zDTiaTtFlYAZp(J<^T!E-px=D_OURBShUCt@`wuD~l4g=Tk;mmaGzI`bo1){$$y0+C z-7dX%@rO%RPFr{KNmKJj+kZ=3qo}E~ySuu!&TKXlo&d4v)6E-SojKk9!D)56U+vtD z<1e1i4^}L*zd6a(qT=wdk!wF#HF11`!DKADUGjNOuE}H~O3(lO!q4Vf>?Lf8?CI(G z=anmi7G!~SICONYV`uqETdHk@yzdvCvPJi=h zQ&U0VUkS6Ks>+OE)Fj!-WZ>xOg1PA#$IcXxYl&?TgE4#a*3z;v(j$wE*g;u@9b$TN z5~+~j)tNKMYdvDp)g7Q;!G7m^o`9e&8@A3+0)y5;KYCi$J8i#~ zupY_YyzSQAyQC*j5^!|?UZ-~$oB{KvRARAs^uw@7C?ri=BBMt~=Ir{NmGgG#y-lBd zrs`G`=H+YG&z?I^UGc5x(`w(}u#q|;2Z%-a2fr9<7vdZ&rsbgwZm}#m{J6d{Y2yB! z7Rt{Sp2P9M&ttmP>g8+JS}8nrD0g)DC`aSEf-~=Al01=mA6nYlm7QG!t92-pOS7_T zAJ>zf;Gn?296J&f5$;4#S8#ITfoK*DyHqNx3a#xO%YU) zuHcNwy7~s{N&o;5iG)sz7ventd`2_)?kVrva3btm~%IcbhD^`)F(P(T}D9K$CN!o(>3_6{-u6S6ra@_{2 zIxHX7C!g;bD$1N$GZ&}3|9=N6wnXY+xT?0!Mg;)CsIaiC-9Ho z+4=`UAP|U!qCiQ2pFl8Zg(pqTj~nU-EgFhZBf?@RJ5t18d{9wNn(~D4zAPpHpsv0_ zt$CJaNhMONbi%4t;<|HP00000NkvXXu0mjf+L@1d literal 2882 zcmZ{m3pCW*8o>Wu#pIFWkwWr}5Hr$DW-t!TU_8d7Nt9&F3`R3~&Ey$!hP*Qv3USC| zkT7|akuqL&gcMRlNF1bbiB!1buCwm#+_mo7>)YSn-~N5y{`Ovb?e!%(Vyz@Z6+{65 zkib}@oCVr$M?k`YzB|WBSD<$LnA@8JK-~?oANW0jxeCGB*&YDGH31-o0RZ0wrkFVZ zphEy)-V*>2Hv!;4Kz_56iC{t4%hn17Z11$+AC+ecEPDg2-GTu?Uwub*g_fFK5g0{i z7<;tHypXV{rU>SfhCBd(hA=2|TH}(tkQaMs?Woy z(DBh$(?`KRORIe}WPWr|#>3f`g>94X5%JPTY_g6z6{8aW8o+T~L7Y8jP4oND=W%oO zCG%Ui(>@ZcQxx!t`7pcgf}1x?Yjv-*e;A~h4!_@Hl4w<{u;8fVuhE!Qi*k-o`zSHT zGr!5m;nUPedf~5r$QY>0zuez9%}5u11L4TA-xRQ z$i6s#v2C|qyN8juKW4hR)7~|OH8;WRpdP^ALMg=>2E;m67f!#ncoZHS8xPl1Wr@{- z%F7~NPuiGJL@;9spdJ`hMww^zQn;pL#&sx3f&?b+LNXH~q$fI|7WD2xw-bVmEo!>M zEH;Ij2Gd~~tp&8@H6eQmD@bt5VDLV?<8`=!?~W5?x68lZJAU@amOT@?JF znU?$3O%?TN<-`(homuPkX--3$LVQ*&WtY~Zh+0>(7PBeHDzuVfFSa~gU$*}%kZl;A zG3?0W#3>yc43IP_-12~bv^zp1{*cN^7+La+w71@7jKi>aP3lHm)hLd{+oIZQ6d1K`oi;@l>Yb#T-AB3@83Y{y)VzhNwIk?`U z@Zb5xcN}i+H6B0~6^FEMRu0{uYThOAs)fIq^2e_>MojhHTY6jgNiDFZBn(!hoDDv2 z^1<5r)TX09ug6%X?MMr7fc4NwOI^+ty z3VZt=XKO=W$0yOxO7gN}h5NO$@%J0OL3z43s=3VOw>tBKW25MfXyb52s-5+K>Q|$2 z&H0O87UyEv;bUpaUfSR0Q*U>@6FQlo;4T49at*|&^YYNtx*^T)4PtkiYd~_**BtPE zn&>Z25l&fA$fG5Gkn&fWm7MbTTE)%=564ILatR)j<1{A~U+s97f`rh0)c#5F`WeNZ zEu>`$L?q2~afOd8lKS#?wX`Zhf`A#(<++&V+=E&?j}Rf7p?9Z>42Cu4S-(skFHX|p zEBxe)Ik z)f~>ZKP}zm;^7~%+!!pL;BL6?x`3*y@%=nJERR%hn}}de$c!Eg8MC!Yy*&ah;>Lu7`+zXH82L$=!fq`n-v2 zbGXsBHHXL8t&G&&`zPtM3AG0#z%35!sasPsvzLrSgB7JKNM6LO!)Fx64x7nkR%Wh|M-xi%$w z1~C)5`a34(QPZhU5jMpAXpTqMh8kX(xw`L~#Jq9*E~m8qfiz4ii0f2x6wO1Rz6AL?XAUHEJDstX+_4kTJ5x)ICFp15h|G0Sv?Ayx12+uuhcW7D7J zsvx~LnyC)#*NK@6wzYVZjLx;03@&JTYaY>Cz?{jf=*RM$BHcbD!iPnr!3NKTSj*NU zIE?7=3_nuVhD9~D>XrW;+=HHPSZVr3FdCFW$TXUJplMnqF4bMlvgtRD9kFESap)!I z+xyg3Cfqh_qO+5674b>wcfn;yG_K>?@^buEF8gB1G25>E3j8lH-3z_%-K6&YXo7Sz ze@jP?Gzf`HZZ=k@r)Zy}`=Jia7w9F?&~)Q?<6gNk-{M|IhJ{}-Yb7PSG+>lvBx8-ycCMLo$h#wds5iV_kZrkCRYJLcE^U^7 z=RXC+-v{Dx+d^UBqB9e&Ym0)K=Lik$N+aTFBm^OdBv8O{$Z?n+#83|c!x=yjhDHbo zR2Kq4Kp;JAW5vHYQ2mKy@38;x(ER1Ma)E=&&JMx;-n0;W5DD<5(E@@IU@)1A_aO;{ zOt_@)ALP^0uXJ0$9^7GZzI3V=0)g@;(5a-$Gz7v?fCd8w<=b5F|1g-HC~R7LFgSVg_({0o2_q=ijg~a>+;jm8D|XOO{S0pM+Z|c z(k|CT(fD^n7ykG`icq1bi6b>W6poT{J0uOyb VeuV*Pf?^i{Fla35o`q-ZzW~vQD|i3^ diff --git a/public/favicon/apple-icon-precomposed.png b/public/favicon/apple-icon-precomposed.png index 3b0de1af9c53d962a2d03aa52e237d241420f714..87337674945146114fefc07f9fc801a218ca2819 100644 GIT binary patch literal 5612 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 Ca;bFy literal 6191 zcmb`LXHZk$w!o7>2!twxUZocy)BpkLy@LT!5Gg_e1PHxDkfu_ks)%$cqI49H7AXQs zRcX=!${(agkR}K(zIh++yEAX*eYkVZK5NcezqQUjGkdSS_quOoVMq_H#kPUd5f2*<=k3&ge!U03ajuw*kY-HABcsNRY9) zK4gP}3MxuHYomG(0AQUl*3(9Xecdhy&vEPzPVO$87{&m%K{RnpM!-8R&U7<8O?UA3 z`rm6&xz+!?o9d%;SB?XlHKUR-lg?8AO~hY7Lrho&0ZJJ5ni75>a;VQ{gw3+QLqmyi z7amDfR4CAlnXLM}gcywT1Dya<#S;-ijccaNgRi=;GUr)*!(Ywt45q{3PcN)7h!5k8 z9rryFPY9g^=uuP!9qaSUFak^01SUZfLNo8Qh5TJh!3LxquR29GPDfS|N|j9I-V5}r zb4jdS!i+3;Cj*aCyCE_3>Zu-=uO&dOrlG`e>>-r~IEqdMDs312HY3kplSD~Um-noe zLEV7*Gm$P4E%DzbQkT24HI7~}f?8T*kMacj3~x!|TZ#*)o-sr*90O$g+OdEl&Ky7o(KOOx5W}!9Q*~^Wj*Yj$jSMx9fLq+}QU z88=QSKxC>@Hf%GW24fvdBYSnTF~*sbWH~szS$!08J-<&9ugq)#mVs!*hoGY);@abi zE-QPim=_RYjDY-l3QLul`ID89V`&m2rpE0uhe(zY7zgiUm8R}a3&A!O9oQ1Z2(h4i zu0M(G8k`TNsFo-hhCYi;3$lW#__*8@KUMry9|OXu=Z6Quoj7iQKQT zAR;#bJv+JDPJc{Ky5&6Nyivr&Tn4yt?GGb9dsYcmLVL`v_@O5G-AO>_EK!H(fGNlr zVLobKaxEzvlH_M(+di}H7dtR#m&_dVU?p<~&stMD1)1c0xwm1I`RSaxIonCG#NK3`)u#gxO+wwXCAd5ATvuSNm&F&_II zBzEx_wAEAfe%zl{e$q8!GtXlzWCv8M)nGaGFuh{W?^05v=QsQ=#qG;2B)DF!Cd>Is z2bJRk%B%To#4F!r&H-DBk#t_w8Wdr?nwO3ZzfbdJefuPq;i?W1J?kg^4!%vK`mQ(F zA4N13pN|+n@~-i~|0FPGa>E~!;M#l)Ea%KWf3MRw7v6lb_KAVGCSK?@K1OM43z(jD z%a{#hXhRoI4%*$K6Fsvg{oYU_ZmN8igNT)w_jP*z8Gc>iMV{rc9DBcpJ=RjI=r$*0 z*5aLe`0q}mErGE#9l2|t9+oJ*>wBk8i_!}xf-dHB zz1V=eM2@Myh-_57q;@|mVRNPlS5UC_NiA-({?_8z#A+#y$cu>=?z4x zsz7195p;XUsUv|u0*JeD^rB}CP2lZX_~`zr3qh&%PyD+I%1PO{iemlUuJD*8`Y6V* zim8GLOj!Joyzuw@Jx3&8E0=8@2g<}s4vZ_9Nh)P~D1rMCP1tr$Su`OY{OA-nQRLq? zGM2RExsr*}19n{cu9(x3@7L=i9WW3)`BsRFvyyTS&o30Hz+a@b>plJoBIya*PIi1M zMC+&k>Hj^mew&w#;=-DE)SFqhV#UEzVYLM%u9BSMN@4pAbp3~Z%FA`?PW(#`Oml{M zVL7Rar88H#<4i^X10`I_iLJD`AjRsB^3Xc4)+t3(@lSM|Ju4x2Doimg9gh29f|`Dh z=%~IoJ>6}v%zQG#n`mQJeV}mt=?sj(En#7h`-IkCOp?X-OOlO8T$wc}Mt2P4pRdJY zU8U+pG=Z+v0-f0*foTbyJVV=hnFg8_cEt|!i4(7te2~G)alioHj}uoXsfa( zs=!vg6}PT1t6uedgxmit3p74Vsq zUQX;)g`T_X!)HxtyaO*744X=pTIQ^y3uW#^`hh>C{4-|SvtK!GZ38KV4J|C79cKOe zHlf9JQ)3P^Hcp0Sx`qcRDRcR>ibZL0abJ4obZPPU7yJUo1v@lRw8*U;Bba`;fGh>; zftP-T`{68j&hhjS1-z|jz`CGN8g=8cqeGG)d`zU4Ubl12La0BQ_83eWYsGB{cV-9t zWF=yARKM7a(hGeWNG~&1fSA|mCOfDnN^)Q64Nvo${8>nRNMWJn!k3pVmYh3r7&@N5 z^^M?&0=s#a&;9tSz+=1Em9XNkIcLqZ;7(w>hTo9I!&W$(TVt5go>ELk0LlK^Kjm&~ zC6f}N(Hfts1PHzB#VN^E8G>OxNZ!s}n{O8_#SuDz#r_^~9(dzxXnZ;kGG%^}%S#(d z^YvW3V+D4ntoE5=@cXx9WBoq|>{5pV1;vV&n@Bf_-c=Ys5vqGIHHHtTlo9NH7Eh6G zw)5LTyAk4&@K{Vj-J8-lB13UYR`hLiFFP(dL5XIAHc%dP4cOZ;am8*vI#k!4(+^}( zjtet}7GsP>|$#bL~8LM9*t6`S8*5!_5*G zOePXp8xoPwO1MU|o^AhPfKx!1yIS@rdY+n-qFre2xJh_TzvXR+6S(=k3T?vH4nuJ~ z4R=z69bo+KpD5THZmeJ!?PAKppR709GpVDdYWzn1#gq#$hQv`r_6KWT92>WQT0-Ba z$G;Zyr0YYiYWjUqA-d?8XzHHag@#LE^2A6}ocknqqJb5_3j83DhJ$zEKxkr_IWqTz z$Fuoc{_MCz%Gv3{V3hb{35>aH^YAIwaIxm#QrG7+wJbzZh;Wh$+q>viqaJ4C5{av7 zj>V3n+HlN`7q>|{tCkZQy5bAs{rkSn@tx_sZvt3u_F3q&<~`I+IU0Xcbic7}hx%l% z^kiRtJBBXz7h;t)~kTHKDSlD&$sx$|%L zmbl~CI!nqnq^g>~bz<}uL@EZZHRor(2mya+p}&E7sK@;%v?Vm?FqyjS+THEiI=eE( zDcy|ep@-lNu#=YW+HIRe*)%VfWY8JVo~hie@$LtY;!J;pl|^b0RD}oQwY#3mEaR^N z#n8H3t}fXZ{?5;-Q1mxoan3kx9DAl5B2b?^krNfQ9z7wm%3(r!9BC593=K&6V2YXOXhppv z!CY97Q;LZUbobwq79q#fq^L+kbiH%LQY3pnKRwc`i~7*1=QE+mTHU&x=~T#}9rgZF z1@0=Q3F}V?Rq)x-hd3_r<5FM`tWBy1s(q{4Km-dD5)`Qr=0>bBuxS;zj>x7_Xy?-s zn|kcch6SDH)~^sCrDAGCaLh zK1ti|LkF|492-XJCgZT+TeP^oVmY5>kmaz!ch37MGR=i5msgIG?~`d4N$w1RSk$_dK7vpKQWx0Z}oyC{))g$kfq0hAJF+GAg9k-4J{e;qw6IHz;6+!}0 z2$qp~Q)F*kx3_Gh-MI_eFWK>E$9^(W zf%ou!x}`0eQATZVJ`E@owa|)lXBUEN!4Lv-4ZhIHJFJyRK_VM1O{%U5hbK|s!^i%6 zJwq7H<-%b|gM=1&BD`pSlb7(s1@ki$%A6o{ziTg+{n*=?@5=%vj00&VyV1Oq;^Zt8 zhBqkQ;L8p?^Od@}*0FM4;NM^oI-UH)R4Aik;qg%UJzbzh`7gRkMe-?dN9~$bfZ08X zHyrK?3zodLG9hIbltiwcia+31Y<+}hAn@kQ0bQfgI#Yk!U=2BYoyybZqix zUuvi<6`yBi8l#i_{0EhiW(271El|7xze}{e(?#cAr|(W%{fS59af{Qsu0;8C>BxJ> z%{Cu$9>}*o?i0cs9wR4QOGSn19I)h!JbL4yYl1J}JXu{%!nl9`B$mduf!hCQA<5M7 zMdh2vT3qfGw-{c*zaZc*FhXAy=ODQ$61j+GhSr+SG6hbjV$iSBiE~%j?Eo1Z|AEw5 zk?!2D%kDHqx~p8=GH~|r=GxMGq|?^ThzwO0r6;)9=hXMF<6~g|Ai*ae(Zq^&6V~@> z+`F(x7CC#Wmx+j5m}c+3CX+~fQ8D!>laqniLjxDaXFMVclw9d*m25swI#T8fx`F>R zhX!>~3@Jg>mo*`2s7T8B3dZ9+??BhNn^bix3>I`)2RKq~B|E23QywZo`2BngpkZEx z^MR0bgRFWv`yAj32(l}M^p?&`v!$J{?KQwee&W%08kAJhG{02F%Vt#4x5NAmV_;NL zapJJ~AS)7KY(k{D$iw_vR3q8Z-a0jTleU>*p3@zFA&T^^MkTH2)NI-U8G#oOda*<`}2W`&#U=l6TX;fHEMSY3Qw zX|Rs@;NGF5;js&|)P&PJh4GA#*m=t2q=6DZpjBq2c+9pL(-&WHkzExOuWv-(>G88P z?2y!)8uI0i=t1cXIH1e4l~iZoyOjJcprqf61us*MA6q{&ehpQij?v5E=#&QuTH5y zuV)(JMIlkj)VsqAekGZjsN*F)k1=UsBJAXy&IqeO{58t)^tJv$3g#X&n6T|na6{-D zf-OOry6*En+XK%wR+jVXEDrGCiY-jCL!Q_!y)Jx|nH!}gcGh0znDCKCQ$13eWNvos zt+PU|Bj5+D%zra!=!FgKm#QrDC+l#_h|Z_HhUS_S#nZ%^8$J8GyvRaC^!3~oSxp)O zdo(YFcXgSCCH^y=IT8yA&KVoW2-^VFokThq*1ojzzo)r?1qqI_(}d2}Y6)F9np{~% zqmrIWX)#_JJ^SDaFIG)YtZ(V<;D7M(hj7QPU2zm1^3Ji~wdjwDVv2;Kbd5`GV!B?t z-483ZKI1oOUf#%ARze-F0%eyiLB>Tun}o=~4;qP|Sk4(i%B6Q}N;>YzKgNEyWHP>v zNA!dwDo{${#m)?iGcRW3cUoZE%ohy%hr$n@=W9ild39g@#bn<<%W__3{jMg%B$(4l z3tc2l$$gS-Ac)4lqIgwFwdg@VktN)Carm=O=xle_E1x9xux|uV2pH8v1Xg9$3YNAl zi!=`F^k~+kR&=BqoP(Wvicri-6k$D@ydoyaPc=OS`P{zu?-c>h?(QYTN=U}K_7vgB zr+O#RN&lQ(|8R&qO8;a|0`?%9qTNm^rN_0|*u%q;*NTN@ko!meOlDCyta|R)zlUW| zL0$X4+ThNOr`FNG`I+q6F84NJzTc)4Jv-3ifsQjc&MZ!F1|v8Vt0Q>V&)XT7FXd`< zR^7cBIsti1YAJqF=uNFwJ&0zN+>6W!y)emCy|cp*@T?J&V?f?<39jZz`R@ygJZE|T zq<=N=?dc0Psfk4$A>Le+Eprpqz56v)bjB}&Jr1>V*;kli${0Kq!B1%C=|tw1bg3E9 z2rj&V4L-3d#-nAn*WiWX1JD)yArgH0w|469(nVH*G`2W)f$7RNzBD6Y8JHl*A!Fo% z*Kx0dru$NE1PTvqo{Nx1ntDk+A#uBW$p!_L-OOt#{@_^`Pt#@1XKaVpKq;VEt1rij zky=l$$h>2$7V}i3l$f~zM3jQvrE>(+431@vc>KyRqv$y0`L#c+9NUob-!4)Im2~D9 z9JR@Bf1en-#8{YjB$Qsge@}{P+<7uJy+zVMVOgJ1=fW4d{mc(vkQfbIUZwshvduM7 z5fthY;10k91>pjbaJZ+B3)-FB zJl(uy`~uJ&W4r}qmg6sr!UX%cB9VH2Zoxk8zClQ&6&Vc#$W>mn!~cyj{u>2}G;;Su zV}bw(Re618^f;Me|Cc!b!(8{g6NLGTOnp;MBO{#uf|z^yxCe#f+yVdHD>%*rcmtg4`>qNJo~k0m3F{}Sh#XM{UIR!1kNRAY;5()t&Zt&K6j!xQUH z{&jee4-W3(65{FR=Nkxjb5&AxkyCJ2P`%@(>gFovijZ@4QBgrCsUqAEN(w4%Ff5WB P3t+5op;xQpeD}Wqu1W&L diff --git a/public/favicon/apple-icon.png b/public/favicon/apple-icon.png index 3b0de1af9c53d962a2d03aa52e237d241420f714..87337674945146114fefc07f9fc801a218ca2819 100644 GIT binary patch literal 5612 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 Ca;bFy literal 6191 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 P3t+5op;xQpeD}Wqu1W&L diff --git a/public/favicon/favicon-16x16.png b/public/favicon/favicon-16x16.png index 6f20373daf63c6b105ccd688bb03ecd85aa3f588..d12ce017a97a881e885bdcdc948cc8984fb30d18 100644 GIT binary patch delta 463 zcmV;=0Wkjl3El&c8Gi-<001BJ|6u?C00v@9M??Vs0RI60puMM)0004#NklZBkPDnwd}gNuWcyAFb@bbFAJDRpsZ zhb)RhTtXY47nocqB!z<>X%S|uO<8z23;H0*1$ zF%I$|It&R%AS4hX$&7=`n^pIZr2W#BdB-k1WFChCfU*m>-r37nC;f@h5JqkW)ZZck z4{vAkKVn!L)#qQjdU0xml(c*RO#r6}e1Aq5wLph^KOJt%QETU*1XBGvT1CK$;s@w#C|-}HmvIx(LjqQ*zpEgM5pV45WmFM;^p z2S?Qb)YH(98MLF6>ZGJx2?m2U5sDDv2D5$zpgigzHW(BI^c`mL2mqy}e9BDL$(XtM zTk6A>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>NDw~)YMFlk1JbqMJ$-CoHSUw5@D@P0_c zL@!$_6&)w3#YgqIEYD^1OkcZtMcJ`H<9%60(-ve~)o2`QF~2xPlQYe9-R{O~JM5yW zo3#Z*_(a7xc-UDcl_~rN+Q^vX?e0>zo;~Ifki%Kv5n0T@pr;JNj1^1m%YcIHC7!;n z?5~*FxYRgq23d9hg|>UTIEF}EPEJr@GAJr2Dl9H6GC1_ZW>3u@rav`JP6C2ziGp^4 zZftIWc7}y%6B=5UOflhJ-Lq!So+c$}?EnYQNY_x`Sm$8xX!q%|Dhrn9CuF4LB&|wM z%S%YiOg+0GeQ|2`^0fC4R=j)i=FzKXrxrYa_weP>S8pGme)U{lKw`=91>!P7Qetv~ zlA^pK9i3N`JGguMH+y^Z_^sy z`cv3qvVmSuEpd$~Nl7e8wMs5Z1yT$~21aJO2FAJuW+8?KR>l@q2Bz8u237_Jr&m}@ zqiD#@PsvQH#I0f1*XHFw4GJI|iu2P-$`gxH88S*r3W}}t^)qu5(^G*sGdWu?zbJjr zdD*!@wGtq;AsMB)Nmf=a`N^fZsd*(&2&rB)F04ce=Mv()kL=s7fZ)R?4No7GQ1K3si1$pWAo5K9i%<&BY zs$wuSH#ai3G&Zp?H8qLI0V?4~GAB5*DwV;&$!W?WyEj0oFeItaAWw$0%$!u9*Y$Jr zN^Dl5ClrWSC@Tn3QN?VPFVdQ&MBb@02l|IKL7v# diff --git a/public/favicon/favicon-32x32.png b/public/favicon/favicon-32x32.png index 7bc484a1f6146af456bf63a44d63cc6260fa6630..126c2ab30b246488c445f37a18a9cd6138268c2f 100644 GIT binary patch delta 1012 zcmV{8Gi-<0047(dh`GQ00v@9M??Vs0RI60puMM)000BDNkl9(E7>1wk+_|L_YiXt-EVMGU)c|)oAq+7gVA6$DjE!!jlIVt#`m;d8g2bqajbVX_ zf0(cU6%t8I1SJup;=hSRqb;E@b2|lr4iYWURv>5@?#w-(i+}!P(jQv{!=~@*-gDmX z{oeb2=UkY@EM{?&A=g6g+@5mhn5tMY;zpykY;fWF{g?lD1OB$giZJRvW?(L2E?DgE zs0jqE2IebL<)B}9tzZ6p!wsZ&Ha!Y7JEAWyUia0nlX3R!S>r7F>(UdbF2~wU4Q=0? zyCDWLJ6CN{q<=D7F?T~t%ieH0q4e9UlNh@jYu7fkeVx571L=30HVJaScV>B$w71)t ziluk0Zba?w0?yK6MswPWx=Utiy(2IeP|x6F^l;?*@Z&VQe0&kmLDJ-G6Yo`cydl{H@7 zp{}l6aXJHIBUq5|E(=tQ+wW23#nZn35de*ikp%+-uM64+lmnpr;6Uq1-#-BmPbAtw zUqacK^ZhrcGcaKU0-u8H1&#m>t%q=s-A( zF^8vX4u24t=t!PEnaP|1Og!Or0SyM00a=u_0HUOFe& zSj3o)f@)h>DCF);rRElcpk9NZ&xu5=5m_dxJ)>z&n!qUP>+36kDxhGY6Tr+VUv9<3 zdVRkGAfL|*BV%;)`9T1yVT)1Q={inx7!0j2YJWQ&H}V=nk3~Nz3fWrEdt}N4is<|C zgjXy=1CU2~=(L~70-QQ@=u#>7Z`cCF6m}m!etclcoRy^pnyt}lQQ3#^9Pr^(30wr} z7w7?Q1Gd&A5_RKAwFz%C!baeTig|X*=EK-`%J&cE(%l~eIfXI32?lJT_+&1VY3a@Q zD}PbmK)Bmr+e;`CPb}W5@B+{sam!ZymQG*zx9(~vy^evFBtKyUr4W%n6h)BR0a&xf zsm*q8S6C19XlU;{kvTl0Ki*WBcne(TmAK~(iBPR*^RN-V1&C+;9g4ILe-_8YnD)5m z4cEatr$!Fvbr}%kaRhYubx4G5v9j_ly={PE?vc?Q;o;Ict9%FicLNd$8*J!~oryA$ zU``mG_cMObJF?~)^FW|lHkr_^YR>~WSFXMnM5CWY3qk+oii$821a;Qhi=#XTX$m7n iXEKdh%wiTd1^)oy+-;yahLJS@0000w literal 1950 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 SD{B`CVHRIciTqCeo%sXns@a(U diff --git a/public/favicon/ms-icon-144x144.png b/public/favicon/ms-icon-144x144.png index f81b3bf38a328b8aa33fe4f51064d6a30744a804..52126729cd0ba93486fd61166d7537d58a1c4b7f 100644 GIT binary patch literal 4170 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 WyISb&N}oIj0DbLSTIDw#WBw0Ftnowu literal 5347 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 literal 5612 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 bSuwnY7(Tyz&t&|zEC8Sb)7Pk0vyS`^BmX>p diff --git a/public/favicon/ms-icon-310x310.png b/public/favicon/ms-icon-310x310.png index 4ba0182563d4db848d1c5162f83bd05265770714..dd42c76d6d7b895601c95010172afc67e7ca4a05 100644 GIT binary patch literal 8848 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 DxP{u+ diff --git a/public/favicon/ms-icon-70x70.png b/public/favicon/ms-icon-70x70.png index a242a18148da7d9868714c80322d0ab5806a7d23..13d3fbe020a4e4c183991cece6b284d030a255b6 100644 GIT binary patch delta 2054 zcmV+h2>JKA6_gN=B!32COGiWi{{a60|De66lK=n*$w@>(RCt{2nr(1Y)fvZs&$&qm zFVl*&P*lu?_%9c7N5*+}}(-oc}&=d2;SK z=bjA&1Ox;G1Ox;G1Ox;G1Ox;G1bhgPQU>3-u70B9Ge@mlsiGGOoR4z;K<4*=cTqW@ z!YhtA|8SQ+^`BDKGaQQEnCRO2DTv;L(gact@;6alw2pd?v4{FGhXKm46MSnvj;|3h zG8bhYa7tjkv43U1uUYm~XR&J=4n=EB^wI08#W4>m)T6pd99D;ywElfKF?KdLTy0dp z4m1L-*7Dt1%btxDtH$9l;>NVEUpU_Mp8AQxtpcrL<(uxZmN!Nc^Yte__esYu`!(o% z5n1P${=2Jh*>-rOwGM|7HO5=h@M$&rM}$BYnfZ>b-;VP!L?Rj0zQi9U6G}&zba)uC}74!n;UK#Xi7g~zW9DDj_#5c&lgq<9 z9q;MI6&MB^{EjhJFSpA!V#oGoT~@5xmHS7h-y z47{5~pX8uhnKv(^iKfi|CvYlB>QUA9LW|BtK8;Z$c7F1YiY``R6QF6fGpiys4avf^ z>gpK+O=)(oIL1a2G4ErEm^VSK&Q^Fe&F0do!-sB6FJ|A)U3)<4f!~Sn8?0WN@PE9b zUvTBMEA5NMpUWbzuL`?A6ZlSws^&7_>A|6OoF>rZKfp1^IM?rO_YMvUogE!*7tWly zpuEg^12}I`7t2B*8$CLF#$B~%a8a&`MCy$C zS6GpW2L5X-&+PTQocBf}YK%f(x@LsbWX7%*@;D;jaFA`Dj9x|7Nk$*MDH{2$v zA-kNiiY>{){`QXiE|(e`9qH(po7xxq`bg>n2*u++QZ#*y18`7QhFtgUgy;P-{lmN( zb8#e+I;E|hY=kD1+mqBjRc?Kwt?kgTDjy)UtK)8jP>N`DLm{yS5tsscCvX&K8<6J! zqmzt&5DJA>B@&5~$-enCMt_Xjz3CZ~H~~C^^25%7XMMO#bKSXCxj#+boM?}~Tu8hm zCV{Tvc+XvfzxcFBBx2R>0LBj3OptNot_E6@9gA^}IU-1ph)gWRd7A5f$_iV7QG=So zfr`FUx1Yl;U)~$5@~!0AurC^oqHIhyQdKwIu^5e+tZ0*>Eg{!!rhl=~$=5MdQ!~d3 zEx<>TL zm;*a@oJh3CUrx-d`F{dw2Q5Xv?Yi!`?4GBo3Wpbpur;kIJx1)JPS1P3keZ6k$R4GQ z8+{S|ZL%aVu1DmmTrQz-_^X0$A$ezjV`6kcjuZ9=!pPScE4}HGs!q;kIyD@=Nzo^P z@+7$%WKrJdo%e|mH%1L#&eUwiS*FT$mn-^s+ODCp!nskV0PXy2cq zhHs$UlKh!MzwJvsv4+Am_mZ|CD;!5meP=YfqmUX(O+Jko6$-nltGo3KD-^jeOWaCPyEPQfI6|bx^X+B(<7@+ncfL0oxQY00PGcMe+R;DspDa7uBraIH;Nfz!^J5_GYsS2nYxW2nYxW k2nYxW2nYxW2>8JH9~^D&`?Af(f&c&j07*qoM6N<$f{POYp#T5? literal 2746 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 diff --git a/public/img/favicons/b2in-favicon.ico b/public/img/favicons/b2in-favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..11bdea25c827a402bf632b3af79754679f35263c GIT binary patch literal 3050 zcmaJ>XHb)i7W_gWNN7QjDiW$l3B7|9DN+O}QUrxWkR~8CQlu*+bb^9hgwPcPR01eX zRHQ3KiWEUaNhpRE4K3#3y?@@!yYuG!*xA`L=ls~&1pp8L24FDY2;smy2msUp0D!~) z;dC$n@Gt;?qT)Y%iU|O?Apn56Xl=$06@(tGvYVebwmZV33jplckp_tD(2+*~L0Os^ z1N1+G@2JKd9l)6z8#-uae9l(#u}AXU8KxcNw!?}D&o0(tAXYK@nmkY!ld;tbIFF3+ zWo%Mf60VISu{JC^JNHa@uuqB{*2v9Bx|8}!(-&2Zu<&P#?2o30k1&d3UaUSKcN87G z*6O0yUX~Q03yIKLRoDF+l{mKH+H5Rla0!@Le|pm3Uzey^6|}K?k-Z3A&r>N3@y}UX z=BEdpPSY@>Fw;QD_<|S%XOQ={KFV2Wg6Q5F73`OsM~DF~0M#rpai;uD1}V|{!hwUf z{=|x=_k|@f+q!C89+boB5!DUlM#ljd388cut*HS^N!ZY0u&H6_xGpzc9m#={_% z#7ikL1E&eUtK24rJ(Zuu>UQd=3VSy8-Y3?{e55EuXe)pWjNe;+#M28p!N!?IFmBrR zAJYMI6KmsoBag&?aTk6h!~b?SG%AX6ME=KJFyW88&Ub#~UAWMYFgfW9f`6^MEXnP!jd4Fh^v+yh4_GK_6NM=2I0e{ND7z}5&sh%6 z-_$Op%+})g+l2h5)CspAb|Anj=)criLSCV-N8$)Avk$P9=(<4TA7q9PW0iF!)ZvPr zba&0xT3^vO*SU6vnpBy6oY7yRM?|i$FBJM_sO-bspI6j`%(s)U``Z=RFukU0n+ERg z3l)&%)3}zQtao20)YLwdcn@>jBkR4`&MZ!vmc6HT^>b-`y<4z0_?ozL_9lYWA$@kk z_WQe!opdfBBO`|i3~peZf#iYlhhGfV%op@QFdK;(LwBR;f*qPhwTdE=k)b4UohcJw zHQDtr6nl0Ie)bc+9WN9gitU6RCf^K_UKg3LBN=F>E2UKXbHE;u&KIA3&|d_y(p?M( zu|w{IT=JTLGQzh*vb){mJe^x=3(Rsg7o;{;^`a=w-36J6ey+~a-^f;#%e+bWt4a7_ zjPVmL7pWS(a^DMuUDB&-YqIe&c#l%1Qa?4kOu}p$2_o z=;nzK(T|Ps7$~||2`Q`_^|PH$**v+q=)mH}xWY#Q1%jI=C60$LnK!Wnsk|}$l8TLt z7+8M$2|YmNTps%@0@k{t)WHI|QM&7i!1=Dc-<7qUH+V7YF>5J(+(vG`W|Lt=IC#*J zcHi24w}tE{-I1AaUqTEE$f#p8_OlQU`My3D>%aT9Ol43{AkuLctxSey&MYu(LJJ4*Ebi~mvm z1B!pg--%%_<=^7Zl>R6FJ_$bxuH4|c#M2u`{LsvLtSp1QtUEA+i?n{f$B`|27n5f( zz6(O396BX@y7|-uQO4z_A|sDDvAhmO;}(aRwim^A4b3ZjT69d9EM6BvQ=#YE+I|de zA<=`ptzK<)oiAQhYlRN$QRxfO#34^nn_}I_?Qi|K)83xa*!7swo&}{MR1)t4hH&|* zgGO3@J=jTZVO)>r=YhC4*gD{+=hT?1$r&Rpw&zY;90ISa&nxxqL8~#V!=_$!9XDz9 zr98!`F36kO>*J|NtpUdqS7l0C7JIE;)|~(L^Fe;;yj=qFk?u*ir=7t!bE9!hpz7w< z^BMJy-{q!=9~xddkn!I)e zX=(oGiPUX;cXLB`-xTyCiB^70@kCgtxuT}*?aUN`DQ;=vGG3T89KU_?%{iGmxmJyE3UmPhJT<2>46*RNDrem4(3vog4VvdUaHNL$3 ztWZ5F7_hk&8id=q(bY`E-i#~bvDD467-3EbjpyaM9cE*{(>llIJlWo@!UErDnwUZ} ztg~-?;*cZz5A1F&nZ3j73i#!F{ap7M+BxKPU`XwC!aP?t9UVw^S(co=g~iltN5FZs zM`p(JqIOk;6ipo&6JLub3Z9U{`+*S_4;6T?G&GZB>X@DUwCk_FlRL*2 z(!#G$c1j~jj)|>?njO=;uLd|INyUc#csZ3WdQu)iMmf<-sFj8XEG9(Bw-H+}(7;!& z@4xk|JufI9s>2B0;AGLj zW!WIW6H65c>LG7tEj){%O9*Ocm<-h9tLut@wRWMFYv z0(lwbZf}3CzOYgB0Kq8M_s-YQri~EL_H>Dw6eKg3*ZwnKTE(@fuetPiA!Z0N{?K0V zIrVhC7oltl$QQQBeh&~G95Xd}(>ghaG|%Rv6&>>Ku45^=U$I|>Q*>)&?q%Rg2ENE$Ucm_e z{sX@?cVex(*FF2}{OrBYL~5uh;^REU0RRC1wUV3`0D$;VzmKpnQJ=O2+5@OBO!GI2 za=_z%ubh^`L;zp_Udz4G@yXbq_s%fZy_Px}^05BkJu^7yh{FPkJ|l&LNbe#+?O{34 z93%y9K8#JZM29hlR35~x3}YTe(*kQo+7WFlvoSKCB@fFaWKL&(u<_mu3JTt1bxz3a z{ktcjJ#>5Cw_8)?G31fu=zEc@4OUP!`rw~#YK;G-Or=p|3|$DQ&*w|C`&wQ6JB89? zF3@CsaD*3Awl5PFFGXB=GNkC37@q|x!&4-h3elLA6;41Zfoida@sLKbmYGwD5mdz~#m4 z@WH+SE%7**hsM4t0V=fEhGx0TY^^8Zn%XG_Rs;P%jS3=kVcpg$u7uOStJ)$0*`Tu-*EmQ{}Lb8G9I?A-_l+@QLcM(5UQ~|J<#RE&6EjC6LPNFDZi9&~5b-5ctKk zD$)hVl?^uW>QfZRhaTw<=p`CpnAPB3+*18kw6%xxj?LFxM&c41;Z}QYT!nQZYeN)@ z`_sv5N&zwKdJ-6|-~&lC8e*Q|1OqlHcSPhQ$?JUc=f}rrD@y7#Xu-(XCEXT2>$hj4 z8wetir_wnQytEAOLY91U#d)~JrEXf#O_Qhu91BkethWC~a=jDknpW;=@AAR!La)RE zbmi)G0XnVfLuv`95p8Hr`}R|>4pP4G7T@_bR?avPoFzAyio&7xpSvfLF^)Eh8(_aNb4IWI*O+Gw2W8UU6R%Cdrio=Wi3>;XZ)AemG=+-bYaypCc zG0dFM0^K0WgkT3ltYw;{`1I}!@kcHbk*77kNfFRy!QGw>=lnLpWkS$ihKrcYJFrjq zn>p{;w40u1Pqj(d|_=7)BfQymo-f9E|V-kybJ=4I4-lp6oHzS|z1#NQf ziIhyuFDj7!_R87WJC63mS0WV1T3^9i(vIx8gTLqgS=Bx*gLl6mHh(oZKlt4gGY_Ki zB47pTQA>RYZHhY+eP;zPKKbY2R&{mPx%Cf+s6V>b1Sh0@)W9IUfYXC% z@%grS16P~XO4f>&KGBszs}uN&I%&6XwcxM6k&Uy$I={T50MC%!tZc+CK$C2fcuv~T zN3A{iO@POyBz6A6*XYQI2y1gXpBkC{bgN;wq*60j1+rV^xzRzc{xL(bCl>T#V}zM~ z>0D2!eCqI@JZ7z0cR8V4$r%1Aj8Mk;k0bvNNNWUftmE@((4YI@m{1#8=LgRIstHvmPSz!HD zbDj(#beKU?-RM__VQHVGD#^Hp<*%ClC{!9rd**3;;p`I-?DOz5*x)>{D6ZF3tVH&*EJ1SEU~MgDYlJu_|GABKpY z@}CtoKx+d&%o-BSh29kqfR-}64!!TQ(=H9fF1`r{6Zl^W^*GS|04$8DCbfCyFOue8 z6k6MAXs0Ch+tl4ZMPm30F>q4}1^&i!dO~G2Ue_@szSbtO@YHHHu{)!AOFq+=YVcPi zbVBU$xMCMuBoAi28Jk|agyZy@iY&K0j!Whtoy2>%E8ah|dCBcR;-VYq#Z>f@gIqDe zK{Qu$l;7M9OxfWMji)ASzIxYMvu~!EiiJ$EN&Jc(BUIe27ygUeyal6VnFmIrEnSsn zQOJFjYxwI&Ycs$93bTwvbn{`-_cvzrA|GbHU!(SmS#IyLml%h7`kb)_h(!FzK4;xi z8@V$yWf!%f?J9l}Y(K5^vyD4lVEfJgCm-ra9+KSihTT=eSYz{>Ch4sTAmeqd+cpBY zw!~z8pAci4JY&gU`Pg&~QT8sdO~Y9J_tGb~`Te;i0WW98Q=kGRUV6}71&q~!UD&6* z2>0DsQle(_uci!R$=ixU9K#;%&iZ=SXm+zM%uRGo8LP#L z6pLTf5^Z7Ak50cSZ`E%jUB9Hwa)$|%TlfO@FQS`!rMKyn`c{`r-toU|)|cGI z_{b6oG8-u#_#NfBZmHA8r%llc?i<2!{BU+M?X+q8x`$1_C27G*)D&FAiGox(mF&~qlq25zHCeD{ z;xqIJ(qWZXZU-kutOrG$JWRo4CLMl?hN}rOGuXT?<#wl=TYbGhCHz%PuOMYN{of-BL>4kGedJ|h z;m^%m)PvW^0a+Y-wyWNS!oRoD>Us*L+AEUyzGbf_hSE5#>u7&5(KAVr8FuL1`HuDi z&&d8M9W5fX$y584@@y>%Bu}0&Kc+DRc3?UOUze4K)i7H*>UNSLQk=y+!M%&*Gir_^ zlPY_Hn4GYKVo1C4elhYTD02t->}k zuYzG;eix@gYuz{U_ZhANbN7}0(g`>%DAS5ioxcW?cFHK8pd$tGKaBCvs`vC1nZpeV z;@i-MwaltKnS^C!MHMos#jKXKiAb9VB|qCdPxrby5OwFr)Pu#<5jKOZ+%I(?ptgTF#hu5wf}eB2&k(>e^F{2 z&CJYWOLLNMxD%uz{hTv(HVb_x-;@Yt*CJNVPpsBM)^q4Cl zlKY^PB$jPIHa#u!Z+|f0HUAXW9|>TZ1nCTXgJY*)9wigGNMD7io(B+)=lwQwZK*O$ zp?Lken@P&@P$iM})S1nPy2ENgddkrDRb^Rzu-X~$csb!BS}up49JlM?g_9Hc){ zGuDX-$E49amm?O)>lCp8cSiPJ%WfZe8uTLvpiAa3t)2@R1yG>dYbLf?MMmiCe{nk@ z2^L-Oe1@S&MlZkNcgHohbG@k%KErNqB##@nDeWus^n(}`6Vv8krJw{8RiE29Ir?!Amw6Dr-h(yi97Tw zk=t?tX2r;Lj*`16X0+w}Xrc_e|L)zqlLci>Zq+WI zNszfbsx^%Dri_muqLLycxsc-wXzPQ8($3hyOUYR&r9RaWR(RY`J+(^8ms*a}9W-g5bv_xI7P&p@>ahhQ0eeTAb`ZFUnr%`o=Y2MUTRFbXK_l(yDkum)s z6;2xhmKQS^mk9>X^;+NX*r%V`ZfJ>ikRtxPh~pQUZ*Y!v_smk3D*%bt(FCT%?j0m& zH8A5YFfKeHEgK`f(MIhuhTZ(LL$3S0Y9-=p=7&xu|Bv;#Ujy~xBK4YA6Wl$Ye=4GFF zX2ji7=@yq4jOG^BMcw2Q5$7MgFd z+dZ|?h_hr_NZdbeQn&w<3J=o@KbVrJ7n75&1v|6~0OQ&=h9O;A9)@eIO9MBPenkXs z;eS%Jk7$DQhI#V43l{|$d^gSiLMl>L)NoGr%%Z?z-@*x!$(dt~Ei$?5(lFC&T4MS9 zh6}QQlhaw0iq5!3(JHOfPj#es`>stg^`fWl^*KwNDa?!+79{Iz3)+!@4FLiFRtXpN z9ip7|627sU-?Jp{5|SDXfO*SaNSp+?s^0x7Yp`zSMUaFWgC|9ml75wqHR{<>P zohmsWKtyHbd&jki;hKKXsub z!C#816nr_C$3BGAt>FvzY&Du3Rf!hAdwz>|4MCDOQ*PY5cM0c#-?M(-$3_Iq@?L#|~{8cZ}rOmW|DcNo>KCLekGD zC?>FAdCAoh+j?H{L~-NHP|s75R1lM0DpX{B2KqO#_Aorl-=eI{=adcK?F)yNki1G5 zVJ!L%pVM)YfQ@;AW|J7i#zXKQljzEZ>{}x-V5CyBjLX@kPFvuY+B_*rRx^+PC>PR- znE!533Jx!yVq{Me2?eidNxXNeT2{bdWWPHbOBl>3DsM={ITY5hua&0GjOhq*T$Rfh zXnuFF&HbtQ`P0^`?;V>y8ccTO2*N4QKvw4@~N~pk$x$Gd#K?ef65kUYK zbRVN03b0QzAJMzzwY!l<4s)uXFO{{)wEG4fM$abDdtHZ*X-vIE&2quU#Vln5th8>o zO#1$%a!Uq%vz)ZFw59mmYWho0su4VK-Hwk7 z4Szv^7?3I*zYR8H`R-8Svvv@@^r21a&K&U=j=%FOg1z&+XDgDcBRmESrIjM1kbVPV z|MZ4v{P;&>U^yQJvaB^vqmpMG`6eQtSNDLj=<^xxDI{F9L8-?acP@smOeJshnJ z5p==YIJi7vP4mGd_B963R^Z$URnAiB%=3tv=WQq(>~K^z7=!B{Mnt=>MN8*6e->^k z^H;daNIZu3h1iZ9*XWzWQwj8*yR&|t{BHS7R6O_9ba=jbJW2DwGRx=cl42+;ceK~T z2ND2@I3JY=(NJ|}c;)IpqS@)_J9M3M&P5fQB|E&$(r}7&Voc43*QsA(zCHX~r)y%O zmM~Z*IKtyR-DReW8?rUE#XRM_LAi`S_>>T-=Vu||bjky~f2x2Ef?fHQ)4-*jMe3Dx8%@>xppMp93gnDKM_o>pV{N>IoC2NRs;ZtCK~7!rH%zHHz}JHwSqdW2k@bvZ!eU zRytblZf1;;gBGHPkvV39=v#tY8dOlJckLz~Xwy9qKVd}nPAi;E>Oh#-|6`DI1VIxT zmAi~54Wsy`HE&I^S<0|@F6~Nkwukc&@r=^b_M86vP4raRB3h5{SaayrQ=K7p^cKzS z!gybVsOX0p6Y(w-6oB^}sB!Jrh=8){{MLAfj+WiHX#Wv$Qnfx^a(){+d-o-|{(OB2 zEm(aNSirPQ!nOdU&Dmh@fm(Epf6d*0dUOCIybdm1$SJFZreZQbBv-!&0E@k{v?0!Z zwin+Ld~mK3y;s$<6Td2xt08CetcC%F)dYL!?VqTL@8j2g%O$&+2C}fMKuC-%>8-Sd zdt%Jw1LL~z(tjhc475OXQSUd*&|Bx$0QDlcK{58B7YF5!a)YFe(3l+K4)$QRo76jhcN)4_+3H6&3A0%U7P*hF-#(x(X+5(*b1e+~lD^k(52swy z1(hM>X_xRnb^CrZdffVl7Jd%RjCi1nTYdQfQNd31kl1x~zUNlXlke2g+D+g3)YW$T zLQ+t;>~Ytx^;z=wO7GL_umFt%xnG7HkZYDFPGjZZh$#+%@#y|BC>NDi<(Q4xeWa3T zQp8_yrWg~6vtR%BtSEzzQ#;iPDjw)>xa8hh#8t^N5e7$j7KcDEDG6@=>@iR<cyYc z{W1BmQ}ARQ_}!@oZDb>l!sqek|6$!ZGsLhSJ8Xn>G&(YAld9ISpvMHT-!$dAckTBu z%;4wGu1_B!P{3TQgG*xQEiG+RvRJ&<>#n>_jWs{ptoJ-f^}B~7SqkG0f>rsUe(Kjfx_MkQT1Oh1_jwg*kPQ-Gn=n{U|PhY)qTWsqF{Y8UW zR;~hw{V@;?VGg_hr{7E!!~tDqq}>P%eh!m3LH2$ks9Ry}(E-oyHIj z?4_^zUlfim7b233>|4M<(hj!;tdMfHKDZ79+M?{Uj(8+kBc~0fnRU+G6w9Bu|K<0u zUTAH|kkA^s3q!znVj5NH-3%p}fw_RpJbU6V3hjDxRYWZ*tBqW$Hm-79CZW{p+GFyL zA6bL1TsZPBu#U32oIg|t90u`wTNSsgt_vqdj>V63liB?m*is3Vq3MOQHIWGGyJ@PZ6 zL`Cqzum5GNo+B!3Nu$sMa{qwsc2$so=g%e-sC*aP|B_*01d@)t(&6~!uqdI(OgwV$ z*pmm;vcK|vJiA&oqx`?(ky&k@;7kGF1v$1Lcot#5G;4lxKAh z0sDO*)%h>(C`!O{B#`IDJT+6ks^Z-5N>s-GY(@t&d(zl6zv^fh-*hR$xoGs{~$@mydVop>N1G^*v{h~+<$0iAOW@{d-tTcoO1#_Z#j z=Xqxg?Avl{b>LvV1Of~S-}`0Lq>M~=TX{5h zDdk=8)g;SyKQE@nq`5EQTINsrSVh(0EGI#vj9Xi zD5gGB_}rJKr2NMeyphYicdZdpaV&3g%+A*9XBe-9nz9|MV-s-52LnTwH%8@bs-|HG zFO*c7S0(XfoGc3E&axvr%@ND^qXOAT$;R8A&eP@)z5UrbDh0-!%7`CY`(n^``t3bg z{)<`B)n~*Gb=rG|N@mf6K{pyOdVjQ1Yg47Xm4EYQ`U&_wJv2bjm-&vT>EX?}oIV_6 zv_F=D(0*{3bxd1Z80Be=>q3}{O60noP}Ta}cvRzsrb_q3ek5KtfT)VOO5f%(8(7{| z9!_~r`okG+a2QrGVg$;{Y2jItr*%UmULPalSaix6tN=tY`NNnk-91cM7^k2!_MV95e)lKHAw z@m{&^VcZ5&M$=oAjFT)@1;Ynd*_-?cwq$y=;t;!GFo8z3Mb^fIRI(Uhp187ZN0{u| z?O^zR8=AZ?e4?NpdFbM1S!2LC5%e@N~NIi^w@2ER4N5Uz@NOyAc_F+}&xmhKN8(tn=YTKC_QOEmY)30Lq?LQR@ zB1A%j2gXKEtQ*F7qx~%5Q%eKKn18&#ialxnslSmm#ejWeo+uS)-EfM!Z9Uilzf=&K z507$8XY+=JX%4ACIN{C8Ng~w^4cBAtHs+M)gQSR1x1hSx*0odo`--_V%CPrv14e!Z z?&GU=MexU0PGaHIVVaa47E)5hW~WUHX1gToY8|}Ms%ZjZsDX$Q6(hOsourB8FN zq8ziyK?YuXkEsMXf>5cM;g5~os+)_)l_8|}s~CGbFTCnC#AEh@sBE)#nI)Wcl*KGm z8qX{x!ZS_@62Y-Vi@gX*KYW3ia2T-{$Kl=Rdqp{Z70515ygTq8^prZnS6jNYDq=Cj(&EPrYk7OGfIQx~OF`u}7V`P}+; z*0QXh{|xXP;6CW9KP1Hbxa+w-mOj=* z$GLD4{(Y8noJnvJr=B%$%`ltiEFpqdKV21Wz(LnQi@b!ZA`^F>^i{k^n9n{-+*OF! zzhT&X^#`~4VWR)^OB!5J65ut5NtgSg=StuXxP7#Qx_=}pq?nbI5?`dYZTUVmfnv@9 zws&Bu05EjOq5{gu$H;iNq8ivWU6vivApqrXC&A|OWMc&w$YR&-F#0+p%g3aZ1oMeU z#xSl#VEeeX-!OgCOZf%v9^TW7Wl{jH`!m-4y9b`UYvE|d<7=o6RXbJ}tyh!pG~ zzmtsLLJf%OpYFS`hzT~h93DK%%<;F^u7}~5CuNEx$7NeRxsXf}bxs_@qy6T}F;>cW zB*ICRiDvep=w?rS+9xwq(Sx2P4`l5xdL;>~^Qd7xdZ*dDZiA1s<->PkX`pY#TPS3p z@4G4cnFDJgnG#ZrW~DH(0SSBaMrstPUSt!^W}%y%!Mfph5GXaho|4cE*4QPc9{-7e zbnOMvP9W&8H$t3~s!W#~{Jy`8lm_2SCguY^_l&^ngJ;lMl56Kq69%j@5-2_(iE9=N zw3a|@A8C*!_&h@F=5*>?w7{XGk5lIi;ndmnI&1v%?DF+CU)C}#H;ma?`nZXS7%lI8 zI|5U}r5oe!wV)YJZ-4aM@AQj=$#HELFX|R5&YAjGBwRdpi;TqBQ27h(bNDMTreAhk z`TIC|$J6X%9r1*7!kXa+^J{No6Q02o@G+^CbJ!gFsl(jH`?wUy!OQ&$; z49H?S66~eJy#q*)frFNrOu9)Ts50{AeVIiSRv@-3*hG9-S_+3Ul>#uLm%;Mb+Q z`^V*N1!IE)=IE0n!Ekz}^+^!|D%z;du%zdV_@nsl-+|l`ETR;jbXf{Z>L38flD5r7 zBLv0ueTZhudRecMxq6C!E$w*ux*;aF|KTJowzwrCB(ADtP_4ULhD!I(pm_YMi6)2k zc)J^RuPA9Kl3$(SYjK3jKT=y0f}>Fy+CaWpqA>R(@W*oWo>s2(FPVY?2Ium4(oDLn zn^u{cO~z(}w`$yd!&>VrFHT6LKHXaRn}R1JmDF30OPm{?Nb?&BTVAa{KTL{TyIPo` zZYv+x>Bs_xGuK<%OXQj+*rgR}c6xoqiV_Tu3(za319u4jo>SA-q9zN&BiY57L!IpROs%kmQqsB8&P5N=5E&8ArGx3npaP;0aQiM0>l7 zhqav0RXb+0i^I~NUu^6Qivw7QXT4Z-H{|ei0wPUNV3i68GCk?|6`%02)Zjf6z^^Q^ zdKsQI`BgJMAHPSmC4NC?sQAaV@MC#PlcECf>@d7(~z*DN)Pc1^{H59ZK+|h#(5HTDNGT zB@8P5j^5rL78bdPX`Zmv&W?PB$;rIyG27)&z)Tmrm)A4vK_gRtbQMOStJ?uE zpf|{bpre}S1MmY=^wf8K8F=0MsAyMNuE2O?5V>`*W%7ZQlR9JRO8w&(qC6qr7Q7i373Z0D-#2g z(Zzkx4g6ZkS1ZdUSlDX(4l(0gMsh(*$93c{?sAABY}bk7bXNL%W5$ehXJ8ql=W=ho zQWB|uVqWw4?+Hqaqc_hpP>E0@)s-{#$?UM=F8LP$2Dy>qi{u_^2DM|bOsvcOaNn~~ z>?+fD4RE~ls>~r9U2{kjq`rd$+eBcP`TQ5xe<31MN8FDK33_%#Ec}u@$^^6~k<(D7 zv22;mb7$6Y>WYIQ;Ij*oYsPhS!S9V(w*2hVwvK7 zmNATS7)L4Sh`EWoDgghP`I41ipz~RV=1vCQvm>vNnH7J%+G;DxJ!#0BYKaPQ6a~j zuF_GMF;u|t&aO^VaCG^}CvvBUX`SYKW$A;SQEP8bhzJOo`7M!?_D5D&=J~<{FXz+w zX%d`u<3wiNMgS=XlO`dYN1 zW<#D>V0D5sx)5GJ`bp}SNYrczpW$|xDn9D9-Z}jSYDlw$+avj&+Hid`tD; zY*??KThfRHIuB&^xph!Ex(o&P?$Bk#?&-5qDQ_%(UfX1|dL)ppm2l`(HO{Ch%8FJl zc9AqKv%^vNVtZ0^M?>fbEZ|x;scdE}{l#rF)l|04&PWNjift z+ocD~>|*gfPHVgq59}M8IS}`%y#Y{eRjJW@3r%2k^_oDB$Sjqs-onq}{L)R|NFkyy zoOqRtDrC&PJn@7LGmQ6DS)gsC%M#KTof{Y&x0BU!`LD{PFP6d3T8Sl&!E_zhet6JC z?JXD7#s+nmtn<;_FQGRE{U*3;7oVGJ#2VcQ8;s_VaJ;pS_E11`uTPB-5lV_6efc04 zk(MPbyxZY0-~4c1q8FF9Mp?U$*QhfY{=%}zFTtIuEw1QDHS^iW={14f35<{v{D`v~qp}*} zk?o&3Eb<&FJ|`I;>oJUYhk?}u$h2U*vRoNfyi>z^=1uK+pI?>mVXNRH)sWY7-={re zfl~W4 zrr@RB^lEl_^B+*C3G~hmRo=_Nlx6K74j@z?9|K==%fnpj0r$qi17l~W= z@IP@&mdIdBe^XewQ_u%vZFxLE{9z&(;4h!^rSyC4;1DkD+~?M#rdP?d86z^zOoUwm zsiO&9AdATyMmK9L7dfK{UlHm4;m&mgAR2lT`@V6S1E~0dD?Pzg5kzk6!-(>PsqjrJptr5wJnuPL%Qg`#dcu)*l5 zX|G!cLkh>{b!Tlg7N@>9ciQd<*h*b*(W`Pz$Eq&@h9B$ zfMt0#am0Y#*6<4wT0?J>XH9yWBwe#KelN&kGno08I9>)K7S1E0Ic!bbMKaM7qaM@) z0I?lxbJEyWqvVF9CDy#F+SgZ48n`uP(Yq8Dw*aMJ?371p-|BzBD4|0!MkQgS!BAj7 zpeA&K#+!&24O=X<6l|%sZ2$kJe{X!ZuogpNgg66lqs>So|& z!`2F|2ihdw0WhNnP!IG5>kB#%*fV1*Mk~@&$Q}{NKkxI(KNdbZ<(SseKUvqKQz_Z- zSuLXz;#AP7h(Z2xgC-eIA)b>ZpKUWWH=jOieV9HPrZxAfuc;l9RNIHlY&6&rNTW#~ z5!VCr4BeUR(Yl~%eB<^a9<57L@k-V(t+`iiqUIY3^esW7uXqb^FW8@I63GV^pWg6# z6fz8*wS4bd)gFiRDd1$FkFUx)%%<0>_1B9g4O<`-XT zS8HN&(^-R7#Ux(r#IIzMjhwaWYm$Bp^!1hA)ke*w%O@Su5{GDE88P+6eW`1`0&y;o zNGaMTbYo4;)~l9GICOJd^2J50N_Ob175&M{jII-|A0}xqIG7BUpjHf!Z_qA7m55;O2hD3Eu(8%YoAV2FtMCu;^?lbU;s@M z4tb^9_L@&1J>o0cS7Jfq%oP)25v)v47tfuZM z;E=RJ*|(ORG5D9|mns?}S(A;L-8|6T2s07z%Dihqe?DU~a zO4V0aW97LGZ%X=prZR)CjhxYPYPn@9C8bd^$&#%$EzOt8vA&MFAC{z_F3j+rLuLRO z{}F|L**N2+v^8#Lp(IK+a#qXPm>rX;OxRVsn!&XYem~yYB>P^L;=PUSKPsz0C8TI2 zYnayDOX7dB6#sLN9^G##wvSzfrZWaVVB)#VrFL55v=tvOuSBJxXeFyn*k!=J84Ja) zA0L0$Y@68;NqLggZ)RqGb`;RQeJ9a49>EDdXP5riwb3qx; zG6;@roVDt6<(8>fic+$+S|*deFWJt6E6yCcrkM73MV>kL!#lu!m#y5gyoFXW1uNO% zx4h8X&{^5ajf@7yDgh9>-TQR|@GQmx-~r$XU_j&a=3`?Mt^jHay>WYe@&q9BDIzmb zS3j@Nws&=!CN(@gd}hmt=T{F}&J;`f%LmMODckH(rOK{Jr+ZT=HIlmH!b}atMfB;7 zJ6yaScpEomwE!#4tZZi{CG8G;1sDSyfLq$U0XzoWZf0+lOO|4JU&$mrO*Bd;+#hQT z@RIkl2zbiOVli(>It=(C@M++1f~`%Hz+zwlFwe{)i*+Gs7;rBzFiVy7z?aPI(WqpI z1W8Gimu-?BmNZdPw%B5&d_I$Oilo1lNdBdg&XH8`x;BfP^^#Tw=>IKA`;@Zp$Wi%~ z%>RXbPttA?J=TQZ_7U0&X2M zrj+fbFci37(oK@;^VZJK;Str1jY?6nb_N2ENGgeIi=>|bvw%oO$P^5?0GOxZM`Qn~ zu3TjDdZ{=nP07H$+5JY+7m8^_($zq@&oX`*_@kt{yfw3vW*5srTM_+~jY?E9aPe7Z zNJ>A+697*^FDtD`fjI#;^%qK*kffa=jz*;_88~~@O<`}6v_Eib>BR}fWJ$;8ua=Sd z1Ru@*SYRJzCDl%rq%w`OA2qWlgI1PwD{yAWKH7lCadxnEz(!zyU;u6kEaWi9V&Fq& z>Dxm2kaRup-8|LqGP6?(kgMzzs$^$@i-n(u-arHJap0q&rE^R*vvYz}lr#irBHW(r z9l#IF?4>MicE=fRuO~ecWIjG`W}yT5$@z?309=Yoc#+CR;1|Gun_1@y>#lHivd~6A zNuyMlA@rXL=%^>@nh@LoRY=u4756QJDzA=-OQ zZW=5^{!xHiD$K$(-FSGp~fGn~9f0)ZHU&#Tu@H3^nAw)dBq@xB5Ophl ze^G8^zlZP&mP$Y1K}l)eyk%E1Im7BDA#SOtu$Gc)fS^$jH$t|s0~N&&al10bvM&1J zq15~U7!t7V8sPU4%2EoBBi#m>1eW5=G;iR{Ov7<*=0WL)^Io|Z3RkkHCFS$V>_a%) zRXa<7@n*K7fO{iD(h0b!J}B3iS*2%zOSPk|1Fpu|z0yL9N*W3L3^yGHVIrQAr8W}h zX(h>dTYN_q=w%>jsH8VTJj>!@o|wyN75WgC#%2> z>!^{`PtxiT&-9+$V!D_<%c*2fD8%6xNe6k)7=!~Le)sEFfo7nN;9E>(L(Yo*AaGEK z+a{aY;)q0wg2`b{@|)Sq!2JQMkB0b_Y&dWgFc)}D(jyAs)>97Tw$2t1ZsYw!zf5BiI69WQg0A5&mpJ+^j0_zNUcn z_Jqn(vQ&--o|ANBxjUBB7v~D(&$63~*MO7EY-2Q1MMjWw8kq=sY_B&IZo+sL=MR>T zdfbrtLBgMe`T(#%(pWPqOIBY=18^f)nDd_Nf#c1r%O{3SA*e4|cPL!Rjt*l3l6!L; zgR|g&ncxc76Szmx$f)CS$%Siri1h5jx!3}XGqdJsq^ej#osufcbZKT=&FmpF`zmlO zE=E~U_6M?s9WM!T{%U_Eyn>xjSK zj2pooibAHYMl1_|GkX&l2L!dxB!F+0S`JCa0{0QlMS3G}f|(V2PGFZIwzo?&TMkSO zamyD}!fYIp#^LtX!h~Pi0DP)CMTR486Gqmg2pQ-{_86+6ko0xnPO>Mu$iy4KF=66z zRB^E53^LsOsq;K=V=-y{AIyWvL#Ky`Lc&$9dN9f1>Huel7YB=w+Eul!GdC-EHG zLhz>`;VUKe#yQo6Rj}89F;xXCJ%x^B7fEUjP;YnKmd!!Hp+KOBiCMTUUj<1Yz$w^= z3TXdf;8<^~snpCjvrZ8cBMJ&tva3oeMShxqyK`0WMzDpzumbxy-TR4xW9TG-SE3+p zi+>OVToNEu`F<3xU{xZdGbq_l&FtR%)v8n~m9Av-fQ#c6qDpa8vXb3_3s+FlQE{r| zrxKOyUEn-3`+BF#xKSk|m84`lfN8)GGrJ{jVXBmlxc4qwfoFg}0JAeild01ANma6E zh$c&166Y8H9?o~{b>Kx{CGdoq1qq)Xgsr$|s6@g(<6p?{43O_1az6Q!Y!tdb+lo7% znvX(Hs8^{{rAn15RjO2}Ql+zDjlXE>X}fg`lIpKYl~8Q0*Tz++4SuJV9<`^V<4 zs7lvkw;fy#Tv=O_Ogx?>d0E^7Rq1*p6IvLz3{|RBsZym%l`2)LRH;&>t6%_<`T!^9 zsJGh8{+_ELFYZ^5luOgi?4KFxeFGP47+{f^WzB9OX)G?jY+%eRYd%Uzd*kwD2W57y z)YM+Y>@hj+7w#zBU(GB~%zQ6~ZT}oq?lrT(F+sd=5TC-GdF_UC5qb=`-^@0LXs0Le zwLI0{2A=d%43KYaK6I!nFBQ|jbQ{VeJFJaT0stGBPDLqoQ;f3~)~ z_Rb5~&L&A0=KBu4Ht)>SR-oiyk_O0Sf6K;Nxrmd2kkmimvnD0ou9U2EQMzBBDd~s^ z+wV;D1a6Qtxg4EIIv6)v9halpzQAn}$Yi(??@oC!e%n1`Uk9e(zKn}fZg>orC2eT| zoh5+(mGp5l3zEGg6EEW8>$g(_9G&v{RbaL6o-lo_0n(=Q6vCdAdV-GGI{MHtWWp3l z)ACH6zr`h%JrPJv`*R)6yLfFb0lYu#Y@lz-rek8%A4ytRK-QO4bo}n? zJ$c(R0Uz%@L&qHQlKT3Fz8?qeQR&lVJ74wH3p`zB=wnY`+t-A=-#=Yml>e@r?fIw6 zw5d$eb-p^|0=9jV@4i5J1|rHnb!z7|{!(VrkcA9xz4%r(IGBJM9N zci>{zW@2jz`*{=>JSLa9q-e}+hopDenJ=n$j_UrhQsonU6PJJL+4c*ODw&x*D`_S! znJT!D>N)K^W#&0EyQ75dorJTMb;H@Z_VKPCj5|eN4w~4xh|iUQc#!XN*wf@U0#|y! z-wJ%u`#sInQVtWwf3ount|#}tTxVyKnQbt$wZKg&*ZZ^cA1!MBlJa{WNyqyuNU8F>dY=COqZE00{)b8X`H0@9UBr}$Acuz^EyxEWJ&WR zeYa2nJbp^}jBw@PO59dUwx7P)Z_SOjb(FfJaUgJJzWXFy;{7c?>nob${VfLM>35~C z-~EBVNqSk*Qs5szs@Y~e&Js{8SNc9*-u_GbNVXR)ldeDZ{UGo9hl}am`!6}am^L~o zH_*}e`UC$KPX<1M`_BF0=uh;n=UU9Sb1~pgUELp-$}x2`-2{BO6ye{^>~T8oGk-?X zkx<4UcwWBl`|?)oLU^ebr=?u#OMua=1pRKojf9utMk+r^+*|dLB~Ekg9}%yBolcA0 z$-SrcPCjjybPziYm~UlrtdsLG+9&1GJ6=BWKzM7U)G2IJnD}PinkbBAdzG1GwLN+J zeIH1 + + viewBox="152.5 94.5 289 228" xml:space="preserve"> - - - - + + - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + diff --git a/public/img/logos/b2in-interior-logo-positive.png b/public/img/logos/b2in-interior-logo-positive.png index 83c52822ea6f2b46b7f08732b48f305d074fea14..cb6eadb9b6ecb1565d65254aa460cfc1af03cc00 100644 GIT binary patch literal 12817 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 literal 6864 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 KMNUMnLSTY!`0057 diff --git a/public/img/logos/b2in-interior-logo-positive.svg b/public/img/logos/b2in-interior-logo-positive.svg index ad309a61..23719451 100644 --- a/public/img/logos/b2in-interior-logo-positive.svg +++ b/public/img/logos/b2in-interior-logo-positive.svg @@ -1,54 +1,53 @@ + + viewBox="152.5 94.5 289 228" xml:space="preserve"> - - - - + + - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + diff --git a/public/img/logos/b2in-logo-negative.png b/public/img/logos/b2in-logo-negative.png index 7646afc34b04fdedc4612a11c82b9ea44d27ea8a..1b846baa762c5bed1af076e1e99acc34e8d4dfe6 100644 GIT binary patch literal 10958 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 z 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
UCxr`NnD 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 IUBZt14+Tw9r2qf` diff --git a/public/img/logos/b2in-logo-negative.svg b/public/img/logos/b2in-logo-negative.svg index 6ef5d925..36ffe00b 100644 --- a/public/img/logos/b2in-logo-negative.svg +++ b/public/img/logos/b2in-logo-negative.svg @@ -1,25 +1,36 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/public/img/logos/b2in-logo-positive.png b/public/img/logos/b2in-logo-positive.png index 20ce0578356f894115ac0d859d2812a18d2c2e68..731fc145c708922937447e0d0bf8088cca0853c9 100644 GIT binary patch literal 13032 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 literal 23497 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 - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/resources/css/web/shared-styles.css b/resources/css/web/shared-styles.css index 2cf6bccd..62ebd923 100644 --- a/resources/css/web/shared-styles.css +++ b/resources/css/web/shared-styles.css @@ -232,6 +232,61 @@ h1, h2, h3, h4, h5, h6 { box-shadow: var(--shadow-accent-glow); } +/* Formularfelder (Terminanfrage-Widget, Kontaktseite). Tokenbasiert, damit sie in jeder + Welt zum Grund passen; Fokus im Akzent der Welt. `.form-select` ergaenzt einen eigenen + Chevron, weil der Browser-Pfeil neben den uebrigen Feldern fremd wirkt. */ +.form-field { + display: block; + width: 100%; + padding: 0.65rem 0.9rem; + font-size: 0.95rem; + line-height: 1.5; + color: hsl(var(--foreground)); + background-color: hsl(var(--card)); + border: 1px solid hsl(var(--border)); + border-radius: 0.6rem; + box-shadow: inset 0 1px 2px hsl(var(--foreground) / 0.04); + transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; +} + +.form-field::placeholder { + color: hsl(var(--muted-foreground) / 0.7); +} + +.form-field:hover { + border-color: hsl(var(--primary) / 0.45); +} + +.form-field:focus, +.form-field:focus-visible { + outline: none; + border-color: hsl(var(--secondary)); + box-shadow: 0 0 0 3px hsl(var(--secondary) / 0.22); + background-color: hsl(var(--background)); +} + +.form-select { + appearance: none; + -webkit-appearance: none; + padding-right: 2.6rem; + cursor: pointer; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: right 0.9rem center; + background-size: 1.1rem 1.1rem; +} + +.form-select optgroup { + font-weight: 600; + font-style: normal; + color: hsl(var(--primary)); +} + +.form-select option { + font-weight: 400; + color: hsl(var(--foreground)); +} + /* Card styles */ .card-elevated { background-color: hsl(var(--card)); @@ -258,17 +313,18 @@ h1, h2, h3, h4, h5, h6 { color: hsl(var(--dark-text)); } -/* Abschlussband der Markenseiten. - Ein durchgehender Verlauf ueber die volle Breite: von Anthrazit in das - Dynamic Blue. Bewusst ohne weiche Kreise – die setzten sichtbare Flecken in - die Ecken. Die Tiefe kommt aus dem Verlauf selbst, die Kontur aus zwei - Haarlinien. */ +/* Abschlussband der Marken- und Startseite. + Ein durchgehender Verlauf ueber die volle Breite: vom dunklen Hauptton in den + Akzent. Bewusst ohne weiche Kreise – die setzten sichtbare Flecken in die + Ecken. Die Tiefe kommt aus dem Verlauf selbst, die Kontur aus zwei Haarlinien. + Wo das Band ausläuft, sagt `--cta-band-end` (Interior: tiefes Ocker, + Immobilien: Dynamic Blue); Themes ohne den Token nutzen `--secondary-dark`. */ .cta-band { --cta-band-gradient: linear-gradient( 100deg, hsl(var(--primary-dark)) 0%, hsl(var(--primary)) 42%, - hsl(var(--secondary-dark)) 100% + hsl(var(--cta-band-end, var(--secondary-dark))) 100% ); position: relative; @@ -276,7 +332,7 @@ h1, h2, h3, h4, h5, h6 { background: var(--cta-band-gradient); } -/* Lichtkante oben, die zu beiden Seiten auslaeuft. */ +/* Lichtkante oben, die zu beiden Seiten auslaeuft (Interior: in Ocker, sonst weiss). */ .cta-band::before { content: ''; position: absolute; @@ -287,11 +343,23 @@ h1, h2, h3, h4, h5, h6 { background: linear-gradient( 90deg, transparent 0%, - hsl(0 0% 100% / 0.35) 50%, + hsl(var(--cta-band-line, 0 0% 100%) / 0.6) 50%, transparent 100% ); } +/* Hervorgehobene Woerter im Titel des Bands. Die Inhalte tragen `text-primary` + (dunkler Hauptton) – auf dem dunklen Band unlesbar, deshalb hier der Akzent. */ +.cta-band .text-primary { + color: hsl(var(--secondary)); +} + +/* Umgekehrt auf Flaechen im Akzentton (z. B. „Lernen Sie unsere Marken kennen" auf /marken): + ein `text-secondary`-Wort waere Ocker auf Ocker. Dort traegt es den Hauptton. */ +section.bg-secondary .text-secondary { + color: hsl(var(--primary)); +} + /* Sehr flacher Schimmer von oben links, damit die Flaeche nicht flach wirkt. */ .cta-band::after { content: ''; @@ -309,6 +377,30 @@ h1, h2, h3, h4, h5, h6 { color: hsl(var(--dark-muted)); } +/* Footer. Eigene Tokens, weil der Footer nicht in jeder Welt dunkel ist: + Interior legt ihn auf Sand mit Tanne, Immobilien auf Anthrazit mit Weiss. + Themes ohne Footer-Tokens fallen auf die dunkle Sektion zurueck. */ +.section-footer { + background-color: hsl(var(--footer-bg, var(--dark-bg))); + color: hsl(var(--footer-fg, var(--dark-text))); +} + +.text-footer-muted { + color: hsl(var(--footer-muted, var(--dark-muted))); +} + +.border-footer-line\/30 { + border-color: hsl(var(--footer-line, var(--dark-muted)) / 0.3); +} + +.text-clay { + color: hsl(var(--clay, var(--muted-foreground))); +} + +.hover-bg-primary-light:hover { + background-color: hsl(var(--primary-light)); +} + /* Container styles */ .container-padding { max-width: 80rem; @@ -726,9 +818,9 @@ h1, h2, h3, h4, h5, h6 { } } -/* Shadow Effects - Updated for new primary color */ +/* Schatten und Glow leiten sich aus dem Akzent der jeweiligen Welt ab. */ .shadow-elegant { - box-shadow: 0 10px 30px -10px rgba(0, 136, 204, 0.2); + box-shadow: 0 10px 30px -10px hsl(var(--secondary) / 0.2); } .shadow-elegant-white { @@ -742,34 +834,34 @@ h1, h2, h3, h4, h5, h6 { .elegant-shadow-card { box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.08), - 0 4px 10px 0px rgba(0, 136, 204,1); + 0 4px 10px 0px hsl(var(--secondary)); } .shadow-premium { - box-shadow: 0 20px 60px -15px rgba(0, 136, 204, 0.3); + box-shadow: 0 20px 60px -15px hsl(var(--secondary) / 0.3); } /* Glow Effects - Inspired by Möbius band's luminous edge */ .glow-soft { box-shadow: - 0 0 10px rgba(0, 155, 221, 0.15), - 0 0 20px rgba(0, 155, 221, 0.1), - 0 4px 10px -4px rgba(0, 136, 204, 0.2); + 0 0 10px hsl(var(--secondary) / 0.15), + 0 0 20px hsl(var(--secondary) / 0.1), + 0 4px 10px -4px hsl(var(--secondary) / 0.2); } .glow-medium { box-shadow: - 0 0 15px rgba(0, 155, 221, 0.25), - 0 0 30px rgba(0, 155, 221, 0.15), - 0 5px 10px -5px rgba(0, 136, 204, 0.3); + 0 0 15px hsl(var(--secondary) / 0.25), + 0 0 30px hsl(var(--secondary) / 0.15), + 0 5px 10px -5px hsl(var(--secondary) / 0.3); } .glow-strong { box-shadow: - 0 0 30px rgba(0, 155, 221, 0.35), - 0 0 60px rgba(0, 155, 221, 0.2), - 0 0 90px rgba(0, 113, 168, 0.1), - 0 10px 10px -10px rgba(0, 136, 204, 0.4); + 0 0 30px hsl(var(--secondary) / 0.35), + 0 0 60px hsl(var(--secondary) / 0.2), + 0 0 90px hsl(var(--secondary-dark) / 0.1), + 0 10px 10px -10px hsl(var(--secondary) / 0.4); } .icon-secondary-linear { background-color: hsl(var(--secondary) / 0.1); @@ -836,9 +928,9 @@ h1, h2, h3, h4, h5, h6 { background: linear-gradient( 145deg, - hsl(0 0% 100%) 0%, - hsl(0 0% 99.5%) 40%, - hsl(0 0% 99%) 100% + hsl(var(--card)) 0%, + hsl(var(--card)) 40%, + hsl(var(--card) / 0.92) 100% ); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), @@ -904,7 +996,7 @@ h1, h2, h3, h4, h5, h6 { 0 4px 8px rgba(0, 0, 0, 0.08), 0 8px 16px rgba(0, 0, 0, 0.1), 0 16px 32px rgba(0, 0, 0, 0.08), - 0 0 40px hsla(199, 74%, 49%, 0.3); + 0 0 40px hsl(var(--secondary) / 0.3); transform: translateY(-2px); filter: brightness(1.08); } @@ -925,3 +1017,67 @@ h1, h2, h3, h4, h5, h6 { transition: none; } } + +/* Herkunfts-Sektion: schematische Standortkarte (Bielefeld als Drehscheibe) */ +.origin-map { + width: 100%; + height: auto; + font-family: inherit; + overflow: visible; +} + +.origin-map-region { + fill: hsl(var(--secondary) / 0.06); + stroke: hsl(var(--secondary) / 0.45); + stroke-width: 1.5; + stroke-dasharray: 4 6; +} + +.origin-map-region-label { + fill: hsl(var(--secondary-deep, var(--secondary))); + font-size: 11px; + font-weight: 600; + letter-spacing: 0.12em; + text-transform: uppercase; +} + +.origin-map-spoke { + stroke: hsl(var(--secondary)); + stroke-width: 2; + stroke-dasharray: 6 6; + opacity: 0.7; +} + +.origin-map-hub { + fill: hsl(var(--secondary)); +} + +.origin-map-hub-ring { + fill: hsl(var(--secondary) / 0.18); +} + +.origin-map-dot { + fill: hsl(var(--primary)); + stroke: hsl(var(--card)); + stroke-width: 3; +} + +.origin-map-label { + fill: hsl(var(--foreground)); + font-size: 15px; + font-weight: 500; +} + +.origin-map-sublabel { + fill: hsl(var(--muted-foreground)); + font-size: 12px; +} + +.origin-map-distance { + fill: hsl(var(--muted-foreground)); + font-size: 11px; + text-anchor: middle; + stroke: hsl(var(--card)); + stroke-width: 5px; + paint-order: stroke; +} diff --git a/resources/css/web/theme-b2in.css b/resources/css/web/theme-b2in.css index 7cd27735..891f02f7 100644 --- a/resources/css/web/theme-b2in.css +++ b/resources/css/web/theme-b2in.css @@ -1,76 +1,176 @@ @import "tailwindcss"; -/* B2IN Domain Theme - Anthracite & Dynamic Blue */ +/* B2in – zwei Farbwelten auf einem Themensystem (Arbeitsplan September 2026, Punkt 1.1). + + Standard ist die Interior-Welt: Tanne, Creme, Sand, Ocker, Clay, Anthrazit. + Die Immobilien-Welt behält das bestehende Blau; sie greift, sobald das Layout + `world-immobilien` an den Body setzt (siehe b2in_world() in app/helpers.php). + Welche Logo-Variante dazu erscheint, entscheidet ThemeHelper::getLogoPath(). + + Alle Werte sind HSL-Tripel ohne Funktionsaufruf, damit `hsl(var(--x) / 0.5)` + in shared-styles.css und in den Tailwind-Utilities funktioniert. */ @layer base { :root { - /* Base colors */ - --background: 32 20% 97%; /* #f5f4f2 - Light Beige */ - --foreground: 20 14% 16%; /* #2a2a2a - Dark Gray */ + /* ── Interior-Welt ─────────────────────────────────────────────── */ - /* Card colors */ - --card: 0 25% 96%; /* #hsl(0 25% 96%) - Off White */ - --card-foreground: 20 14% 16%; /* #2a2a2a - Dark Gray */ + /* Grundflächen */ + --background: 38 33% 95%; /* #f7f4ef Creme – Hintergrund */ + --foreground: 26 8% 16%; /* #2d2926 Anthrazit – Text */ - --popover: 0 25% 96%; /* #hsl(0 25% 96%)- Off White */ - --popover-foreground: 20 14% 16%; /* #2a2a2a - Dark Gray */ + /* Karten eine Stufe heller als Creme, damit sie sich vom Grund abheben */ + --card: 40 43% 98%; /* #fbf9f5 */ + --card-foreground: 26 8% 16%; + --popover: 40 43% 98%; + --popover-foreground: 26 8% 16%; - /* B2IN Theme Colors */ - --primary: 209 32% 25%; /* #2b3f51 - Anthracite */ - --primary-light: 209 32% 35%; /* #2b3f51 - Anthracite */ - --primary-lighter: 209 32% 85%; /* #2b3f51 - Anthracite */ - --primary-dark: 209 32% 20%; /* #2b3f51 - Anthracite */ - --primary-foreground: 0 25% 96%; /* #hsl(0 25% 96%) - Off White */ + /* Hauptton dunkel: Wortmarke, Buttons, dunkle Sektionen */ + --primary: 175 16% 15%; /* #202c2b Tanne */ + --primary-light: 175 13% 22%; + --primary-lighter: 175 8% 82%; + --primary-dark: 175 18% 11%; + --primary-foreground: 38 33% 95%; /* Creme auf Tanne */ - --secondary: 199 74% 49%; /* #20a0da - Dynamic Blue */ - --secondary-light: 199 74% 56%; /* #20a0da - Dynamic Blue */ - --secondary-lighter: 199 74% 75%; /* #20a0da - Dynamic Blue */ - --secondary-dark: 199 74% 42%; /* #20a0da - Dynamic Blue */ - --secondary-foreground: 0 25% 96%; /* hsl(0 25% 96%) - Off White */ + /* Akzent: Logo-Bogen, Hervorhebungen, Icons, aktive Navigation */ + --secondary: 37 62% 55%; /* #d39e46 Ocker */ + --secondary-light: 37 66% 63%; + --secondary-lighter: 37 60% 80%; + --secondary-dark: 37 55% 45%; + --secondary-deep: 37 50% 36%; /* Ocker als Textfarbe auf hellem Grund */ + --cta-band-line: 37 62% 55%; /* Haarlinie am Abschlussband in Ocker */ + --secondary-foreground: 38 33% 95%; - /* Neutral colors */ - --muted: 0 0% 92%; /* hsl(0 0% 92%) - Light Muted */ - --muted-foreground: 199 50% 35%; /* #4a8bb5 - Muted Blue */ + /* Sekundärton für Produkte und ruhige Beschriftungen */ + --clay: 24 15% 57%; /* #a38f82 Clay */ - --accent: 210 0% 90%; /* hsl(210 5.26% 92.55%) - Light Accent */ - --accent-dark: 210 0% 85%; /* hsl(210 5.26% 92.55%) - Light Accent */ - --accent-foreground: 20 14% 16%; /* #2a2a2a - Dark Gray */ + /* Ruhige Flächen und Fließtext in gedämpfter Farbe */ + --muted: 30 24% 90%; /* helles Sand */ + --muted-foreground: 24 12% 40%; /* abgedunkelter Clay – lesbar auf Creme */ - /* Dark section colors */ - --dark-bg: 209 32% 25%; /* Matching primary */ - --dark-text: 0 0% 100%; /* hsl(0 0% 100%) - Off White */ - --dark-muted: 0 0% 80%; /* hsl(0 0% 80%) - Dark Muted */ + /* Sektionswechsel: Sand als Fläche */ + --accent: 28 25% 80%; /* #d9cbbf Sand */ + --accent-dark: 28 25% 74%; + --accent-foreground: 26 8% 16%; - /* Interactive elements */ - --destructive: 0 84.2% 60.2%; /* #ef4444 - Red */ - --destructive-foreground: 210 40% 98%; /* #f8fafc - Light */ + /* Dunkle Sektionen */ + --dark-bg: 175 16% 15%; /* Tanne */ + --dark-text: 38 33% 95%; + --dark-muted: 38 20% 76%; - --border: 0 0% 80%; /* hsl(0 0% 80%) - Light Border */ - --input: 0 0% 92%; /* hsl(0 0% 92%) - Input Background */ - --ring: 20 14% 16%; /* #2a2a2a - Focus Ring */ + /* Footer: Sand mit Tanne (laut Farbwelt „Sand – Flächen, Footer“) */ + --footer-bg: 28 25% 80%; + --footer-fg: 175 16% 15%; + --footer-muted: 24 12% 40%; + --footer-line: 175 16% 15%; + + /* Abschlussband: Ton in Ton von dunklem Tannengrün in ein helleres, kein Ocker im + Verlauf – Grün zu Ocker wirkte unharmonisch. Ocker bleibt Akzent für Wörter und Linien. */ + --cta-band-end: 175 12% 26%; + + /* Interaktion */ + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 210 40% 98%; + + --border: 28 20% 84%; + --input: 40 40% 98%; + --ring: 175 16% 15%; --radius: 0.75rem; - /* Hero container background */ - --hero-container: 0 0% 93%; /* #e8e8e8 - Light Gray */ - --hero-container-dark: 0 0% 85%; /* #e8e8e8 - Light Gray */ - --hero-container-light: 0 0% 95%; /* #e8e8e8 - Light Gray */ + /* Bühne des Hero-Bereichs */ + --hero-container: 30 28% 89%; + --hero-container-dark: 28 25% 83%; + --hero-container-light: 36 32% 93%; - /* Consistent shadows */ + /* Schatten */ --shadow-warm: 0 10px 30px -15px hsl(var(--foreground) / 0.1); --shadow-card: 0 4px 20px -8px hsl(var(--foreground) / 0.08); --shadow-elevated: 0 20px 40px -20px hsl(var(--foreground) / 0.15); --shadow-accent-glow: 0 0 30px hsl(var(--secondary) / 0.3); - /* Transitions */ + /* Übergänge */ --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-bounce: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); - /* Font families */ + /* Schriften: Inter für Fließtext, eine Serife für Überschriften – der Ton der + Shop-Entwürfe. EB Garamond liegt bereits lokal vor (public/fonts/eb-garamond). */ --font-primary: 'Inter', system-ui, -apple-system, sans-serif; + --font-secondary: 'EB Garamond', 'Georgia', 'Times New Roman', serif; + } + + /* ── Immobilien-Welt: das bisherige Blau ───────────────────────── */ + .world-immobilien { + --background: 32 20% 97%; /* #f5f4f2 helles Beige */ + --foreground: 20 14% 16%; /* #2a2a2a */ + + --card: 0 25% 96%; + --card-foreground: 20 14% 16%; + --popover: 0 25% 96%; + --popover-foreground: 20 14% 16%; + + --primary: 209 32% 25%; /* #2b3f51 Anthracite */ + --primary-light: 209 32% 35%; + --primary-lighter: 209 32% 85%; + --primary-dark: 209 32% 20%; + --primary-foreground: 0 25% 96%; + + --secondary: 199 74% 49%; /* #20a0da Dynamic Blue */ + --secondary-light: 199 74% 56%; + --secondary-lighter: 199 74% 75%; + --secondary-dark: 199 74% 42%; + --secondary-deep: 199 74% 36%; + --secondary-foreground: 0 25% 96%; + + --clay: 199 50% 35%; + + --muted: 0 0% 92%; + --muted-foreground: 199 50% 35%; /* #4a8bb5 */ + + --accent: 210 0% 90%; + --accent-dark: 210 0% 85%; + --accent-foreground: 20 14% 16%; + + --dark-bg: 209 32% 25%; + --dark-text: 0 0% 100%; + --dark-muted: 0 0% 80%; + + --footer-bg: 209 32% 25%; + --footer-fg: 0 0% 100%; + --footer-muted: 0 0% 80%; + --footer-line: 0 0% 80%; + + --cta-band-end: 199 74% 42%; + + --border: 0 0% 80%; + --input: 0 0% 92%; + --ring: 20 14% 16%; + + --hero-container: 0 0% 93%; + --hero-container-dark: 0 0% 85%; + --hero-container-light: 0 0% 95%; + --font-secondary: 'IBM Plex Sans', 'Inter', system-ui, -apple-system, sans-serif; } } +/* Interior: Ocker ist Akzent, kein Flächenton unter Text – Creme auf Ocker erreicht + keinen ausreichenden Kontrast. Der zweite Hero-Button wird deshalb zur Kontur in + Tanne, und Ocker-Text auf Sand (Footer) nutzt die tiefe Stufe. */ +.world-interior .btn-secondary-accent { + background: transparent !important; + color: hsl(var(--primary)); + border: 1px solid hsl(var(--primary) / 0.55); + box-shadow: none; +} + +.world-interior .btn-secondary-accent:hover { + background: hsl(var(--primary)) !important; + color: hsl(var(--primary-foreground)); + border-color: hsl(var(--primary)); +} + +.world-interior .section-footer .text-secondary { + color: hsl(var(--secondary-deep)); +} @import "./shared-styles.css"; diff --git a/resources/js/app.js b/resources/js/app.js index 88d489ef..bfb3b50a 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -75,6 +75,22 @@ globalObserver.observe(el); }); + // Terminanfrage: Links auf die Kontaktseite mit data-open-appointment oeffnen das + // schwebende Widget statt die Seite zu wechseln. Das Anliegen kommt aus + // data-appointment-topic (z. B. der Marken-Slug). Nur einmal registrieren. + if (!window.appointmentLinksInitialized) { + document.addEventListener('click', function(e) { + const trigger = e.target.closest('a[data-open-appointment]'); + if (!trigger) return; + + e.preventDefault(); + window.dispatchEvent(new CustomEvent('open-appointment', { + detail: { topic: trigger.dataset.appointmentTopic || null } + })); + }); + window.appointmentLinksInitialized = true; + } + // Smooth Scroll für Anchor-Links (nur einmal registrieren) if (!window.smoothScrollInitialized) { document.addEventListener('click', function(e) { diff --git a/resources/lang/de/b2in.php b/resources/lang/de/b2in.php index 85c4fadf..cf65503f 100644 --- a/resources/lang/de/b2in.php +++ b/resources/lang/de/b2in.php @@ -11,6 +11,15 @@ return [ 'link_text' => 'Termin anfragen', 'link_url' => '/contact', ], + // Ankündigungsleiste der Immobilien-Welt – eigenes Thema, eigener Dismiss-Schlüssel. + 'announcement_bar_immobilien' => [ + 'enabled' => true, + 'id' => 'azizi-creek-views-4-2026', + 'badge' => 'NEU', + 'text' => 'Azizi Creek Views 4 – Off-Market-Projekt in Dubai ab 1.125.000 AED', + 'link_text' => 'Exposé ansehen', + 'link_url' => '/immobilien/azizi-creek-views-4', + ], 'appointment_widget' => [ 'button_label' => 'Termin anfragen', 'title' => 'Termin anfragen', @@ -56,10 +65,20 @@ return [ ['label' => 'Marken', 'url' => '/marken'], ['label' => 'Referenzen', 'url' => '/referenzen'], ['label' => 'Magazin', 'url' => '/magazin'], - ['label' => 'Immobilien', 'url' => '/immobilien'], ['label' => 'Über B2in', 'url' => '/about'], ], ], + // Navigation der Immobilien-Welt. „Immobilien“ steht nicht in der Interior-Navigation + // und umgekehrt – der Welten-Wechsler in Kopf- und Fußzeile ist die einzige Brücke. + 'header_immobilien' => [ + 'portal_login' => 'Partner-Login', + 'navigation' => [ + ['label' => 'Immobilien', 'url' => '/immobilien'], + ['label' => 'Projekte', 'url' => '/immobilien#projekte'], + ['label' => 'Magazin', 'url' => '/immobilien/magazin'], + ['label' => 'Über B2in', 'url' => '/immobilien/ueber-b2in'], + ], + ], 'hero' => [ 'title' => 'B2in Interior – Premium-Einrichtung von starken Marken. Für Ihr Zuhause. Für Ihr Projekt.', 'subtitle' => 'Von der einzelnen Maßanfertigung bis zur vollständigen Ausstattung – mit CABINET, Rotpunkt Küchen, Febrü und einem Netzwerk regionaler Fachexperten.', @@ -218,6 +237,92 @@ return [ 'logo' => '', 'link_text' => 'Mehr zu Febrü', ], + [ + 'name' => 'Tischlerei', + 'tagline' => 'Maßarbeit, die den Raum vollendet.', + 'teaser' => 'Aufbau, Sonderlösungen und Veredelung aus einer Tischlerei in Ostwestfalen – dort, wo Serienmöbel aufhören und Ihr Raum anfängt.', + 'image' => '', + 'logo' => '', + 'link_text' => 'Mehr zur Tischlerei', + ], + ], + ], + // Herkunfts-Sektion (Arbeitsplan 14.09., Punkt 1.3). Koordinaten sind Positionen in der + // schematischen Karte (viewBox 640×400), keine Geografie. Entfernungen gerundet, Straße ab + // Bielefeld Mitte. ⚠️ Ablauf CABINET (steps) nach Kevins Verständnis – von Marcel bestätigen lassen. + 'origin_section' => [ + 'title' => 'Aus der Region gefertigt', + 'subtitle' => 'Vier deutsche Manufakturen, drei davon in Ostwestfalen. Kurze Wege, Menschen, die wir kennen, und Qualität, die man besuchen kann.', + 'map_alt' => 'Schematische Karte: Bielefeld als Ausgangspunkt, Fertigung in Bünde, Herford, Rheda-Wiedenbrück und Köln', + 'region_label' => 'Ostwestfalen', + 'distance_suffix' => 'von Bielefeld', + 'hub' => [ + 'city' => 'Bielefeld', + 'role' => 'B2in Interior · Beratung, Planung, Showrooms', + 'x' => 400, + 'y' => 175, + ], + 'locations' => [ + [ + 'city' => 'Bünde', + 'brand' => 'Rotpunkt Küchen', + 'role' => 'Küchen aus eigener Fertigung in Bünde – geplant bei uns im Küchenstudio.', + 'distance' => 'rund 30 km', + 'brand_slug' => 'rotpunkt', + 'link_text' => 'Zur Marke', + 'x' => 330, + 'y' => 55, + 'label' => 'left', + ], + [ + 'city' => 'Herford', + 'brand' => 'Febrü', + 'role' => 'Büro- und Objektmöbel aus eigener Fertigung in Herford.', + 'distance' => 'rund 20 km', + 'brand_slug' => 'februe', + 'link_text' => 'Zur Marke', + 'x' => 480, + 'y' => 90, + 'label' => 'right', + ], + [ + 'city' => 'Rheda-Wiedenbrück', + 'brand' => 'Tischlerei', + 'role' => 'Unsere Werkstatt für Aufbau, Sonderlösungen und Veredelung.', + 'distance' => 'rund 35 km', + 'brand_slug' => 'tischlerei', + 'link_text' => 'Zur Marke', + 'x' => 295, + 'y' => 285, + 'label' => 'left', + ], + [ + 'city' => 'Köln', + 'brand' => 'CABINET', + 'role' => 'Gefertigt in der Kölner Manufaktur, beraten und geplant im CABINET Store Bielefeld.', + 'distance' => 'rund 200 km', + 'brand_slug' => 'cabinet', + 'link_text' => 'Zur Marke', + 'x' => 80, + 'y' => 345, + 'label' => 'right', + ], + ], + 'steps_title' => 'Gefertigt in Köln, geplant in Bielefeld', + 'steps_text' => 'Am Beispiel CABINET: Die Möbel entstehen in der Kölner Fertigung. Beraten, aufgemessen und geplant wird bei uns im CABINET Store Bielefeld. Aufgebaut wird vor Ort – mit unserer Tischlerei, die auf Wunsch auch das umsetzt, was im Katalog nicht steht.', + 'steps' => [ + [ + 'title' => 'Beratung und Planung in Bielefeld', + 'description' => 'Im CABINET Store nehmen wir Maß, planen bis ins Detail und stimmen jede Front und jede Innenaufteilung mit Ihnen ab.', + ], + [ + 'title' => 'Fertigung in Köln', + 'description' => 'CABINET fertigt Ihren Schrank in der eigenen Manufaktur – nach den Maßen aus der Planung.', + ], + [ + 'title' => 'Aufbau vor Ort, Sonderwünsche inklusive', + 'description' => 'Unsere Tischlerei baut auf und ergänzt, was der Raum zusätzlich braucht: Blenden, Anschlüsse, Sonderlösungen.', + ], ], ], 'sponsoring' => [ @@ -297,6 +402,13 @@ return [ 'button_text' => 'Termin anfragen', 'button_link' => '/contact', ], + // Abschluss der Immobilien-Welt – fuehrt zur Kontaktseite dieser Welt. + 'cta_section_immobilien' => [ + 'title' => 'Ihr nächster Schritt', + 'subtitle' => 'Ob Exposé, Kaufprozess oder Einrichtung nach dem Kauf – sprechen Sie mit uns. Persönlich, unkompliziert, verbindlich.', + 'button_text' => 'Gespräch anfragen', + 'button_link' => '/immobilien/kontakt', + ], 'immobilien_hero' => [ 'title' => 'Investieren Sie in die Zukunft – Dubai, Lissabon & mehr.', 'subtitle' => 'Exklusive Off-Market-Projekte und High-Yield-Investments. Persönlich kuratiert und begleitet von Marcel Scheibe.', @@ -730,6 +842,135 @@ return [ ], ], ], + // ── Immobilien-Welt: Magazin, Über uns und FAQ ────────────────────────────── + // Inhalte aus der Zeit vor dem Interior-Relaunch (Stand Februar 2026), leicht + // angepasst und als Immobilien-Bereich gekennzeichnet. + 'magazin_list_immobilien' => [ + 'title' => 'B2in Immobilien-Magazin', + 'subtitle' => 'Marktanalysen und Praxiswissen rund um Immobilien-Investments in Dubai – Kaufprozess, Stadtteile und die Rolle der Einrichtung für die Rendite.', + 'read_more' => 'Weiterlesen', + 'load_more' => 'Weitere Artikel laden', + ], + 'immobilien_about_hero' => [ + 'title' => 'B2in Immobilien: Unsere Mission', + 'quote' => '"Meine Mission ist es, zwei Welten zu verbinden, die zusammengehören: internationale Immobilien und hochwertige Einrichtung. B2in begleitet Investoren persönlich beim Kauf – und richtet die Immobilie anschließend aus einer Hand ein.

Wir bauen Brücken – zwischen europäischem Design, internationalen Märkten und dem Zuhause der Menschen."', + 'founder_name' => 'Marcel Scheibe', + 'founder_title' => 'Gründer & CEO, B2in', + 'image' => 'b2in/about-hero.jpg', + 'image_alt' => 'Marcel Scheibe, Gründer und CEO von B2in', + 'card_title' => 'B2in Immobilien', + 'card_text' => 'Connecting Design and Property', + ], + 'immobilien_our_story' => [ + 'title' => 'Unsere Geschichte', + 'timeline' => [ + [ + 'title' => 'Die Idee', + 'description' => '2024 erkannten wir eine entscheidende Lücke: Immobilienkäufer suchen nach nahtlosen Einrichtungslösungen, und der Fachhandel vor Ort braucht Sichtbarkeit. Diese beiden Welten gehören zusammen.', + 'icon' => 'light-bulb', + ], + [ + 'title' => 'Das Fundament', + 'description' => 'Wir bauen B2in als Netzwerk auf: Einrichtungsexperten aus der Region, europäische Hersteller und Immobilienprofis – fair, transparent und mit einem persönlichen Ansprechpartner.', + 'icon' => 'rocket-launch', + ], + [ + 'title' => 'Die Erweiterung', + 'description' => '2025/2026 kommen internationale Immobilien dazu: ausgewählte Projekte in Dubai, aus eigener Investorensicht geprüft und persönlich begleitet. Die Einrichtung bleibt der Kern – beide Bereiche ergänzen sich.', + 'icon' => 'globe-alt', + ], + [ + 'title' => 'Die Vision', + 'description' => 'B2in verbindet Design und Immobilien – regional verwurzelt, international vernetzt. In jeder Region der verlässliche Partner für Immobilien-Investments und exklusive Einrichtungskonzepte.', + 'icon' => 'star', + ], + ], + 'summary' => 'Was als Vision begann, den regionalen Handel zu stärken, ist heute ein Netzwerk, das Immobilien und Einrichtung verbindet. B2in schließt die Lücke zwischen internationalen Investments und lokaler Expertise – mit Marcel Scheibe als Gesicht und Ansprechpartner.', + ], + 'immobilien_about_image_break' => [ + 'image' => 'b2in/best-of-two-worlds.jpg', + 'image_alt' => 'B2in – Immobilien und Einrichtung verbinden', + 'quote' => 'Regional verwurzelt, international vernetzt – das ist B2in.', + 'author' => 'Marcel Scheibe', + ], + 'immobilien_our_values' => [ + 'title' => 'Unsere Werte', + 'subtitle' => 'Diese sechs Grundpfeiler leiten unser tägliches Handeln und definieren, wer wir als Unternehmen sind und wofür wir stehen.', + 'values' => [ + [ + 'title' => 'Persönliche Begleitung', + 'description' => 'Vom ersten Gespräch über den Kaufprozess bis zur eingerichteten Immobilie: ein Ansprechpartner, der die Märkte aus eigener Investorensicht kennt.', + 'icon' => 'light-bulb', + ], + [ + 'title' => 'Konnektivität', + 'description' => 'Wir verbinden internationale Immobilienmärkte mit lokaler Expertise und europäische Manufakturen mit den Menschen, die ihre Produkte schätzen.', + 'icon' => 'globe-alt', + ], + [ + 'title' => 'Qualität', + 'description' => 'Kompromisslose Standards – bei der Auswahl der Projekte, der Prüfung der Entwickler und der Kuration der Einrichtung.', + 'icon' => 'check-badge', + ], + [ + 'title' => 'Vertrauen', + 'description' => 'Transparente Modelle und verlässliche Partnerschaften sind unser Fundament. Hinter B2in steht ein Gesicht – und das Versprechen, dass wir liefern, was wir zusagen.', + 'icon' => 'user-group', + ], + [ + 'title' => 'Verlässlichkeit', + 'description' => 'Deutsche Vertragssicherheit trifft auf die Dynamik internationaler Märkte: klare Abläufe, geprüfte Partner, abgesicherte Zahlungswege.', + 'icon' => 'arrow-path', + ], + [ + 'title' => 'Design-Exzellenz', + 'description' => 'Design ist der Kern unserer Wertschöpfung – von internationaler Architektur bis zur kuratierten Einrichtung, die aus einer Immobilie ein Zuhause macht.', + 'icon' => 'cube-transparent', + ], + ], + ], + // Kontaktseite der Immobilien-Welt (/immobilien/kontakt). Overlay über `contact_form`: + // nur Einstieg und Betreffe weichen ab, Adresse und Beschriftungen werden geerbt. + 'contact_form_immobilien' => [ + 'hero' => [ + 'title' => 'Fragen zu einem
Projekt?', + 'subtitle' => 'Ob Exposé, Kaufprozess oder Einrichtung nach dem Kauf – schreiben Sie uns. Marcel Scheibe meldet sich persönlich bei Ihnen.', + ], + ], + 'faq_immobilien' => [ + 'title' => 'Häufige Fragen zu Immobilien', + 'subtitle' => 'Antworten zu Investments in Dubai, zum Kaufprozess und dazu, wie B2in Sie dabei begleitet.', + 'questions' => [ + [ + 'question' => 'Wie funktioniert das Immobilien-Investment über B2in?', + 'answer' => 'Wir vermitteln nicht nur, wir begleiten Sie. Marcel Scheibe ist Ihr persönlicher Berater, der den Markt in Dubai aus eigener Investorensicht kennt. Nach einer Bedarfsanalyse stellen wir Ihnen ausgewählte Projekte vor, etwa von Azizi Developments. Der Kaufprozess selbst ist durch das staatliche Escrow-System in Dubai abgesichert. Ihr Vorteil als B2in-Kunde: Im Anschluss richten wir Ihre Immobilie schlüsselfertig und renditeorientiert ein.', + ], + [ + 'question' => 'Was macht B2in zu einem vertrauenswürdigen Partner?', + 'answer' => 'Vertrauen entsteht durch Transparenz und eigene Markterfahrung. B2in-Gründer Marcel Scheibe investiert selbst in die Märkte, die wir anbieten, und ist regelmäßig vor Ort, um Baufortschritte zu prüfen. Wir verbinden die Dynamik internationaler Märkte mit deutscher Verlässlichkeit und einem persönlichen Ansprechpartner, der Ihre Interessen vertritt.', + ], + ], + 'sections' => [ + [ + 'title' => 'Für Immobilien-Investoren', + 'icon' => 'home-modern', + 'questions' => [ + [ + 'question' => 'Muss ich für den Immobilienkauf persönlich nach Dubai reisen?', + 'answer' => 'Nein, der gesamte Kaufprozess kann vollständig digital und rechtsverbindlich aus der Ferne abgewickelt werden. Das Dubai Land Department bietet hierfür sichere Prozesse. Wir empfehlen unseren Investoren zwar, sich vor Ort ein Bild von der Stadt zu machen – für den rechtssicheren Erwerb ist Ihre Anwesenheit jedoch nicht erforderlich.', + ], + [ + 'question' => 'Was passiert nach dem Immobilienkauf? Helfen Sie bei der Einrichtung?', + 'answer' => 'Genau hier liegt der Vorteil von B2in. Unser Service endet nicht mit dem Kaufvertrag. Wir unterstützen Sie dabei, Ihre Immobilie schlüsselfertig („Turnkey“) und renditeorientiert mit Qualitätsmöbeln auszustatten – die Grundlage für eine erfolgreiche Vermietung.', + ], + [ + 'question' => 'Welche steuerlichen Vorteile bietet ein Investment in Dubai?', + 'answer' => 'Dubai bietet ein besonderes wirtschaftliches Umfeld: Es fallen weder Einkommensteuer auf Mieteinnahmen noch Kapitalertragsteuer beim Verkauf der Immobilie an. In Kombination mit den Mietrenditen macht das den Standort für internationale Anleger interessant. Bitte lassen Sie Ihre persönliche steuerliche Situation von einem Steuerberater prüfen.', + ], + ], + ], + ], + ], 'faq' => [ 'title' => 'Häufig gestellte Fragen', 'subtitle' => 'Antworten auf die Fragen, die uns am häufigsten gestellt werden – zur Beratung, zur Maßanfertigung und zur Ausstattung von Projekten.', @@ -817,17 +1058,37 @@ return [ 'subject' => 'Betreff *', 'message' => 'Ihre Nachricht *', ], - 'subjects' => [ - '' => 'Wählen Sie einen Betreff', - 'beratung' => 'Beratungstermin', - 'massanfertigung' => 'Maßanfertigung für mein Zuhause', - 'kueche' => 'Küchenplanung', - 'supply_chain' => 'Ausstattung für Projekte', - 'partnership' => 'Zusammenarbeit im Netzwerk', - 'immobilien' => 'Internationale Immobilien', - 'general' => 'Allgemeine Anfrage', - 'press' => 'Presse', - 'career' => 'Karriere', + 'subject_placeholder' => 'Wählen Sie einen Betreff', + // Betreffe in Gruppen. Die Kernmarken aus dem CMS stehen automatisch am + // Anfang der Gruppe „Interior“; die Welt der Seite bestimmt die Reihenfolge. + 'subject_groups' => [ + 'interior' => [ + 'label' => 'Interior', + 'subjects' => [ + 'beratung' => 'Beratungstermin', + 'massanfertigung' => 'Maßanfertigung für mein Zuhause', + 'kueche' => 'Küchenplanung', + 'supply_chain' => 'Ausstattung für Projekte', + ], + ], + 'immobilien' => [ + 'label' => 'Immobilien', + 'subjects' => [ + 'immobilien' => 'Beratung zum Investment', + 'expose' => 'Exposé und Verfügbarkeit', + 'kaufprozess' => 'Fragen zum Kaufprozess', + 'einrichtung' => 'Einrichtung nach dem Kauf', + ], + ], + 'b2in' => [ + 'label' => 'B2in', + 'subjects' => [ + 'partnership' => 'Zusammenarbeit im Netzwerk', + 'general' => 'Allgemeine Anfrage', + 'press' => 'Presse', + 'career' => 'Karriere', + ], + ], ], 'placeholders' => [ 'message' => 'Ihre Nachricht...', @@ -1158,7 +1419,7 @@ return [ ], 'magazin_list' => [ 'title' => 'B2in Magazin', - 'subtitle' => 'Insights, Marktanalysen und Praxiswissen rund um Immobilien-Investments in Dubai, Einrichtungskonzepte und das B2in-Ökosystem.', + 'subtitle' => 'Praxiswissen rund ums Einrichten: Maßanfertigung, Küchenplanung, Marken und der Möbelhandel aus der Region.', 'read_more' => 'Weiterlesen', 'load_more' => 'Weitere Artikel laden', ], @@ -1721,6 +1982,7 @@ return [ 'subtitle' => 'Wie das staatlich regulierte Treuhandsystem in Dubai Investorengelder konsequent schützt – und warum es internationalen Standards weit voraus ist.', 'image' => 'b2in/magazin-1.jpg', 'category' => 'Dubai Investment', + 'world' => 'immobilien', 'date' => 'März 10, 2026', 'readTime' => '6 min read', 'author' => [ @@ -1752,6 +2014,7 @@ return [ 'subtitle' => 'Strategische Waterfront-Location, hohe Mietnachfrage und enormes Potenzial für Wertsteigerung – Al Jaddaf ist der Hidden Champion unter Dubais Vierteln.', 'image' => 'b2in/magazin-2.jpg', 'category' => 'Dubai Investment', + 'world' => 'immobilien', 'date' => 'März 5, 2026', 'readTime' => '7 min read', 'author' => [ @@ -1783,6 +2046,7 @@ return [ 'subtitle' => 'Warum schlüsselfertige Einrichtungskonzepte den Unterschied zwischen durchschnittlicher und Premium-Rendite ausmachen.', 'image' => 'b2in/magazin-3.jpg', 'category' => 'Rendite & Einrichtung', + 'world' => 'immobilien', 'date' => 'Februar 25, 2026', 'readTime' => '6 min read', 'author' => [ diff --git a/resources/lang/de/ui.php b/resources/lang/de/ui.php index 48133a3e..f76fff97 100644 --- a/resources/lang/de/ui.php +++ b/resources/lang/de/ui.php @@ -16,6 +16,11 @@ return [ 'menu_close' => 'Menü schließen', 'menu_open' => 'Menü öffnen', + // Welten-Wechsler (Interior / Immobilien) + 'worlds_label' => 'Bereich wechseln', + 'world_interior' => 'Interior', + 'world_immobilien' => 'Immobilien', + 'display_feed_title' => 'Live-Ansicht des Showroom-Displays', 'references_empty' => 'Die ersten Projekte erscheinen hier, sobald wir sie zeigen dürfen.', @@ -85,6 +90,7 @@ return [ // Contact Form 'contact_form' => [ + 'subject_placeholder' => 'Wählen Sie einen Betreff', 'success_title' => 'Vielen Dank!', 'success_message' => 'Ihre Nachricht ist bei uns eingegangen. Wir melden uns schnellstmöglich bei Ihnen.', 'first_name' => 'Vorname *', diff --git a/resources/lang/en/b2in.php b/resources/lang/en/b2in.php index 4b96dfe9..84f17d9d 100644 --- a/resources/lang/en/b2in.php +++ b/resources/lang/en/b2in.php @@ -11,6 +11,14 @@ return [ 'link_text' => 'Request an appointment', 'link_url' => '/contact', ], + 'announcement_bar_immobilien' => [ + 'enabled' => true, + 'id' => 'azizi-creek-views-4-2026', + 'badge' => 'NEW', + 'text' => 'Azizi Creek Views 4 – Off-Market Project in Dubai from AED 1,125,000', + 'link_text' => 'View Exposé', + 'link_url' => '/immobilien/azizi-creek-views-4', + ], 'appointment_widget' => [ 'button_label' => 'Request an appointment', 'title' => 'Request an appointment', @@ -56,10 +64,18 @@ return [ ['label' => 'Brands', 'url' => '/marken'], ['label' => 'References', 'url' => '/referenzen'], ['label' => 'Magazine', 'url' => '/magazin'], - ['label' => 'Real Estate', 'url' => '/immobilien'], ['label' => 'About B2in', 'url' => '/about'], ], ], + 'header_immobilien' => [ + 'portal_login' => 'Partner Login', + 'navigation' => [ + ['label' => 'Real Estate', 'url' => '/immobilien'], + ['label' => 'Projects', 'url' => '/immobilien#projekte'], + ['label' => 'Magazine', 'url' => '/immobilien/magazin'], + ['label' => 'About B2in', 'url' => '/immobilien/ueber-b2in'], + ], + ], 'hero' => [ 'title' => 'B2in Interior – Premium furnishing from strong brands. For your home. For your project.', 'subtitle' => 'From a single bespoke piece to a complete fit-out – with CABINET, Rotpunkt Küchen, Febrü and a network of regional specialists.', @@ -218,6 +234,89 @@ return [ 'logo' => '', 'link_text' => 'More about Febrü', ], + [ + 'name' => 'Joinery', + 'tagline' => 'Craftsmanship that completes the room.', + 'teaser' => 'Assembly, bespoke solutions and finishing from a joinery in East Westphalia – where series furniture ends and your room begins.', + 'image' => '', + 'logo' => '', + 'link_text' => 'More about the joinery', + ], + ], + ], + 'origin_section' => [ + 'title' => 'Made in the region', + 'subtitle' => 'Four German manufactories, three of them in East Westphalia. Short distances, people we know, and quality you can go and see.', + 'map_alt' => 'Schematic map: Bielefeld as the starting point, production in Bünde, Herford, Rheda-Wiedenbrück and Cologne', + 'region_label' => 'East Westphalia', + 'distance_suffix' => 'from Bielefeld', + 'hub' => [ + 'city' => 'Bielefeld', + 'role' => 'B2in Interior · consulting, planning, showrooms', + 'x' => 400, + 'y' => 175, + ], + 'locations' => [ + [ + 'city' => 'Bünde', + 'brand' => 'Rotpunkt Küchen', + 'role' => 'Kitchens from their own production in Bünde – planned with us in the kitchen studio.', + 'distance' => 'about 30 km', + 'brand_slug' => 'rotpunkt', + 'link_text' => 'To the brand', + 'x' => 330, + 'y' => 55, + 'label' => 'left', + ], + [ + 'city' => 'Herford', + 'brand' => 'Febrü', + 'role' => 'Office and contract furniture from their own production in Herford.', + 'distance' => 'about 20 km', + 'brand_slug' => 'februe', + 'link_text' => 'To the brand', + 'x' => 480, + 'y' => 90, + 'label' => 'right', + ], + [ + 'city' => 'Rheda-Wiedenbrück', + 'brand' => 'Joinery', + 'role' => 'Our workshop for assembly, custom solutions and finishing.', + 'distance' => 'about 35 km', + 'brand_slug' => 'tischlerei', + 'link_text' => 'To the brand', + 'x' => 295, + 'y' => 285, + 'label' => 'left', + ], + [ + 'city' => 'Cologne', + 'brand' => 'CABINET', + 'role' => 'Made in the Cologne manufactory, advised and planned at the CABINET Store Bielefeld.', + 'distance' => 'about 200 km', + 'brand_slug' => 'cabinet', + 'link_text' => 'To the brand', + 'x' => 80, + 'y' => 345, + 'label' => 'right', + ], + ], + 'steps_title' => 'Made in Cologne, planned in Bielefeld', + 'steps_text' => 'Take CABINET: the furniture is made in Cologne. Consulting, measuring and planning happen with us at the CABINET Store Bielefeld. Assembly takes place on site – with our joinery, which on request also builds what the catalogue does not offer.', + 'steps' => [ + [ + 'title' => 'Consulting and planning in Bielefeld', + 'description' => 'At the CABINET Store we take measurements, plan down to the last detail and agree every front and interior layout with you.', + ], + [ + 'title' => 'Production in Cologne', + 'description' => 'CABINET builds your wardrobe in its own manufactory – to the measurements from the planning.', + ], + [ + 'title' => 'Assembly on site, special requests included', + 'description' => 'Our joinery assembles and adds what the room needs beyond that: panels, connections, custom solutions.', + ], ], ], 'sponsoring' => [ @@ -295,6 +394,12 @@ return [ 'button_text' => 'Request an appointment', 'button_link' => '/contact', ], + 'cta_section_immobilien' => [ + 'title' => 'Your next step', + 'subtitle' => 'Exposé, purchase process or furnishing after the purchase – talk to us. Personal, straightforward, reliable.', + 'button_text' => 'Request a conversation', + 'button_link' => '/immobilien/kontakt', + ], 'immobilien_hero' => [ 'title' => 'Invest in the Future – Dubai, Lisbon & More.', 'subtitle' => 'Exclusive off-market projects and high-yield investments. Personally curated and guided by Marcel Scheibe.', @@ -728,6 +833,130 @@ return [ ], ], ], + 'magazin_list_immobilien' => [ + 'title' => 'B2in Real Estate Magazine', + 'subtitle' => 'Market analyses and practical knowledge about real estate investments in Dubai – purchase process, districts and the role of interiors for the return.', + 'read_more' => 'Read More', + 'load_more' => 'Load More Articles', + ], + 'immobilien_about_hero' => [ + 'title' => 'B2in Real Estate: Our Mission', + 'quote' => '"My mission is to connect two worlds that belong together: international real estate and high-quality interiors. B2in accompanies investors personally through the purchase – and then furnishes the property from a single source.

We build bridges – between European design, international markets, and people\'s homes."', + 'founder_name' => 'Marcel Scheibe', + 'founder_title' => 'Founder & CEO, B2in', + 'image' => 'b2in/about-hero.jpg', + 'image_alt' => 'Marcel Scheibe, Founder and CEO of B2in', + 'card_title' => 'B2in Real Estate', + 'card_text' => 'Connecting Design and Property', + ], + 'immobilien_our_story' => [ + 'title' => 'Our Story', + 'timeline' => [ + [ + 'title' => 'The Idea', + 'description' => 'In 2024, we identified a crucial gap: property buyers are looking for seamless furnishing solutions, and local retailers need visibility. These two worlds belong together.', + 'icon' => 'light-bulb', + ], + [ + 'title' => 'The Foundation', + 'description' => 'We build B2in as a network: regional interior specialists, European manufacturers and real estate professionals – fair, transparent and with a personal point of contact.', + 'icon' => 'rocket-launch', + ], + [ + 'title' => 'The Expansion', + 'description' => '2025/2026 adds international real estate: selected projects in Dubai, reviewed from an investor\'s perspective and accompanied personally. Interiors remain the core – both areas complement each other.', + 'icon' => 'globe-alt', + ], + [ + 'title' => 'The Vision', + 'description' => 'B2in connects design and property – locally rooted, internationally connected. In every region, the reliable partner for real estate investments and exclusive interior concepts.', + 'icon' => 'star', + ], + ], + 'summary' => 'What began as a vision to strengthen regional trade is today a network that connects real estate and interiors. B2in bridges the gap between international investments and local expertise – with Marcel Scheibe as the face and point of contact.', + ], + 'immobilien_about_image_break' => [ + 'image' => 'b2in/best-of-two-worlds.jpg', + 'image_alt' => 'B2in – Connecting Real Estate and Interior', + 'quote' => 'Locally rooted, internationally connected – that is B2in.', + 'author' => 'Marcel Scheibe', + ], + 'immobilien_our_values' => [ + 'title' => 'Our Values', + 'subtitle' => 'These six pillars guide our daily actions and define who we are as a company and what we stand for.', + 'values' => [ + [ + 'title' => 'Personal Guidance', + 'description' => 'From the first conversation through the purchase process to the furnished property: one point of contact who knows the markets from an investor\'s perspective.', + 'icon' => 'light-bulb', + ], + [ + 'title' => 'Connectivity', + 'description' => 'We connect international real estate markets with local expertise and European manufacturers with the people who value their products.', + 'icon' => 'globe-alt', + ], + [ + 'title' => 'Quality', + 'description' => 'Uncompromising standards – in the selection of projects, the review of developers and the curation of interiors.', + 'icon' => 'check-badge', + ], + [ + 'title' => 'Trust', + 'description' => 'Transparent models and reliable partnerships are our foundation. Behind B2in stands a face – and the promise that we deliver what we commit to.', + 'icon' => 'user-group', + ], + [ + 'title' => 'Reliability', + 'description' => 'German contractual certainty meets the dynamics of international markets: clear processes, vetted partners, secured payment routes.', + 'icon' => 'arrow-path', + ], + [ + 'title' => 'Design Excellence', + 'description' => 'Design is the core of our value creation – from international architecture to curated interiors that turn a property into a home.', + 'icon' => 'cube-transparent', + ], + ], + ], + 'contact_form_immobilien' => [ + 'hero' => [ + 'title' => 'Questions about a
project?', + 'subtitle' => 'Exposé, purchase process or furnishing after the purchase – write to us. Marcel Scheibe will get back to you personally.', + ], + ], + 'faq_immobilien' => [ + 'title' => 'Frequently Asked Questions about Real Estate', + 'subtitle' => 'Answers about investments in Dubai, the purchase process and how B2in accompanies you.', + 'questions' => [ + [ + 'question' => 'How does real estate investment through B2in work?', + 'answer' => 'We do not just broker, we accompany you. Marcel Scheibe is your personal advisor who knows the Dubai market from his own investor perspective. After a needs analysis, we present selected projects, for example by Azizi Developments. The purchase process itself is secured by the government escrow system in Dubai. Your advantage as a B2in client: afterwards we furnish your property turnkey and with the return in mind.', + ], + [ + 'question' => 'What makes B2in a trustworthy partner?', + 'answer' => 'Trust comes from transparency and first-hand market experience. B2in founder Marcel Scheibe invests in the markets we offer himself and is regularly on site to check construction progress. We combine the dynamics of international markets with German reliability and a personal contact who represents your interests.', + ], + ], + 'sections' => [ + [ + 'title' => 'For Real Estate Investors', + 'icon' => 'home-modern', + 'questions' => [ + [ + 'question' => 'Do I need to travel to Dubai personally for the property purchase?', + 'answer' => 'No, the entire purchase process can be completed digitally and legally binding from a distance. The Dubai Land Department provides secure processes for this. We do recommend that investors get a picture of the city on site – but your presence is not required for a legally secure purchase.', + ], + [ + 'question' => 'What happens after the property purchase? Do you help with furnishing?', + 'answer' => 'This is exactly where the B2in advantage lies. Our service does not end with the purchase contract. We help you furnish your property turnkey and with the return in mind using quality furniture – the basis for a successful rental.', + ], + [ + 'question' => 'What tax advantages does an investment in Dubai offer?', + 'answer' => 'Dubai offers a special economic environment: there is neither income tax on rental income nor capital gains tax on the sale of the property. Combined with the rental yields, this makes the location attractive for international investors. Please have your personal tax situation checked by a tax advisor.', + ], + ], + ], + ], + ], 'faq' => [ 'title' => 'Frequently Asked Questions', 'subtitle' => 'Answers to the questions we are asked most often – about advice, bespoke furniture and fitting out projects.', @@ -815,17 +1044,35 @@ return [ 'subject' => 'Subject *', 'message' => 'Your Message *', ], - 'subjects' => [ - '' => 'Select a subject', - 'beratung' => 'Consultation appointment', - 'massanfertigung' => 'Bespoke furniture for my home', - 'kueche' => 'Kitchen planning', - 'supply_chain' => 'Fitting out a project', - 'partnership' => 'Working together in the network', - 'immobilien' => 'International Real Estate', - 'general' => 'General Inquiry', - 'press' => 'Press', - 'career' => 'Career', + 'subject_placeholder' => 'Select a subject', + 'subject_groups' => [ + 'interior' => [ + 'label' => 'Interior', + 'subjects' => [ + 'beratung' => 'Consultation appointment', + 'massanfertigung' => 'Bespoke furniture for my home', + 'kueche' => 'Kitchen planning', + 'supply_chain' => 'Fitting out a project', + ], + ], + 'immobilien' => [ + 'label' => 'Real Estate', + 'subjects' => [ + 'immobilien' => 'Investment consultation', + 'expose' => 'Exposé and availability', + 'kaufprozess' => 'Questions about the purchase process', + 'einrichtung' => 'Furnishing after the purchase', + ], + ], + 'b2in' => [ + 'label' => 'B2in', + 'subjects' => [ + 'partnership' => 'Working together in the network', + 'general' => 'General Inquiry', + 'press' => 'Press', + 'career' => 'Career', + ], + ], ], 'placeholders' => [ 'message' => 'Your message...', @@ -1156,7 +1403,7 @@ return [ ], 'magazin_list' => [ 'title' => 'B2in Magazine', - 'subtitle' => 'Insights, market analyses, and practical knowledge about real estate investments in Dubai, interior concepts, and the B2in ecosystem.', + 'subtitle' => 'Practical knowledge about interiors: custom-made furniture, kitchen planning, brands and the regional furniture trade.', 'read_more' => 'Read More', 'load_more' => 'Load More Articles', ], @@ -1712,6 +1959,7 @@ return [ 'subtitle' => 'How the government-regulated trust system in Dubai consistently protects investor funds – and why it is far ahead of international standards.', 'image' => 'b2in/magazin-1.jpg', 'category' => 'Dubai Investment', + 'world' => 'immobilien', 'date' => 'March 10, 2026', 'readTime' => '6 min read', 'author' => [ @@ -1743,6 +1991,7 @@ return [ 'subtitle' => 'Strategic waterfront location, high rental demand, and enormous potential for capital appreciation – Al Jaddaf is the hidden champion among Dubai\'s districts.', 'image' => 'b2in/magazin-2.jpg', 'category' => 'Dubai Investment', + 'world' => 'immobilien', 'date' => 'March 5, 2026', 'readTime' => '7 min read', 'author' => [ @@ -1774,6 +2023,7 @@ return [ 'subtitle' => 'Why turnkey interior concepts make the difference between average and premium returns.', 'image' => 'b2in/magazin-3.jpg', 'category' => 'Returns & Interior', + 'world' => 'immobilien', 'date' => 'February 25, 2026', 'readTime' => '6 min read', 'author' => [ diff --git a/resources/lang/en/ui.php b/resources/lang/en/ui.php index 3b6e04cc..4de6b892 100644 --- a/resources/lang/en/ui.php +++ b/resources/lang/en/ui.php @@ -16,6 +16,11 @@ return [ 'menu_close' => 'Close menu', 'menu_open' => 'Open menu', + // World switcher (Interior / Real estate) + 'worlds_label' => 'Switch area', + 'world_interior' => 'Interior', + 'world_immobilien' => 'Real estate', + 'display_feed_title' => 'Live view of the showroom display', 'references_empty' => 'The first projects will appear here as soon as we are allowed to show them.', @@ -85,6 +90,7 @@ return [ // Contact Form 'contact_form' => [ + 'subject_placeholder' => 'Select a subject', 'success_title' => 'Thank you!', 'success_message' => 'Your message has been received. We will get back to you as soon as possible.', 'first_name' => 'First Name *', diff --git a/resources/views/components/appointment-link.blade.php b/resources/views/components/appointment-link.blade.php new file mode 100644 index 00000000..6e5f1f06 --- /dev/null +++ b/resources/views/components/appointment-link.blade.php @@ -0,0 +1,17 @@ +{{-- Link zu einer Terminanfrage. + + Zeigt der Link auf eine Kontaktseite (/contact oder /immobilien/kontakt), oeffnet ein Klick + das schwebende Terminanfrage-Widget statt die Seite zu wechseln – `topic` belegt dabei das + Anliegen vor (z. B. der Marken-Slug auf einer Markenseite). Ohne JavaScript bleibt es ein + normaler Link. Zeigt der Link woandershin (vom CMS geaendert), ist es ein gewoehnlicher Link. + Das Abfangen steckt in resources/js/app.js, das Oeffnen im Widget selbst. --}} +@props(['href', 'topic' => null]) + +@php + $path = (string) (parse_url((string) $href, PHP_URL_PATH) ?? ''); + $opensWidget = in_array(rtrim($path, '/'), ['/contact', '/immobilien/kontakt'], true); +@endphp + +
{{ $slot }} diff --git a/resources/views/livewire/admin/cms/articles-index.blade.php b/resources/views/livewire/admin/cms/articles-index.blade.php index ab2e74c9..9b908b22 100644 --- a/resources/views/livewire/admin/cms/articles-index.blade.php +++ b/resources/views/livewire/admin/cms/articles-index.blade.php @@ -17,6 +17,7 @@ state([ 'subtitle' => '', 'image' => '', 'category' => '', + 'world' => 'interior', 'date_label' => '', 'read_time' => '', 'authorName' => '', @@ -48,9 +49,10 @@ $articles = computed( $openCreate = function () { $this->editingId = null; - $this->reset(['slug', 'articleTitle', 'subtitle', 'image', 'category', 'date_label', 'read_time', 'authorName', 'authorBio', 'authorAvatar', 'intro', 'sections']); + $this->reset(['slug', 'articleTitle', 'subtitle', 'image', 'category', 'world', 'date_label', 'read_time', 'authorName', 'authorBio', 'authorAvatar', 'intro', 'sections']); $this->is_published = true; $this->order = 0; + $this->world = 'interior'; $this->sections = [['title' => '', 'content' => '']]; $this->showForm = true; }; @@ -65,6 +67,7 @@ $openEdit = function (int $id) { $this->slug = $article->slug; $this->image = $article->image ?? ''; $this->category = $article->category ?? ''; + $this->world = $article->world ?? 'interior'; $this->date_label = $article->date_label ?? ''; $this->read_time = $article->read_time ?? ''; $this->is_published = $article->is_published; @@ -114,6 +117,7 @@ $save = function () { 'subtitle' => $this->subtitle, 'image' => $this->image, 'category' => $this->category, + 'world' => $this->world, 'date_label' => $this->date_label, 'read_time' => $this->read_time, 'authorName' => $this->authorName, @@ -126,6 +130,7 @@ $save = function () { 'subtitle' => 'nullable|string|max:1000', 'image' => 'nullable|string|max:500', 'category' => 'nullable|string|max:255', + 'world' => 'required|in:interior,immobilien', 'date_label' => 'nullable|string|max:100', 'read_time' => 'nullable|string|max:50', 'authorName' => 'nullable|string|max:255', @@ -153,6 +158,7 @@ $save = function () { $article->image = $validated['image'] ?? null; $article->category = $validated['category'] ?? null; + $article->world = $validated['world']; $article->date_label = $validated['date_label'] ?? null; $article->read_time = $validated['read_time'] ?? null; $article->author = [ @@ -225,6 +231,12 @@ $cancelForm = function () {
+ {{-- Welt: entscheidet, in welcher Magazinliste der Beitrag steht (/magazin oder + /immobilien/magazin) und in welcher Farbwelt die Detailseite rendert. --}} + + Interior + Immobilien + @@ -337,6 +349,9 @@ $cancelForm = function () { @if ($article->category) {{ $article->category }} @endif + @if ($article->world === 'immobilien') + Immobilien + @endif @unless ($article->is_published) Entwurf @endunless diff --git a/resources/views/livewire/web/components/sections/audience-switch.blade.php b/resources/views/livewire/web/components/sections/audience-switch.blade.php index 8df6ab13..d89f5dfb 100644 --- a/resources/views/livewire/web/components/sections/audience-switch.blade.php +++ b/resources/views/livewire/web/components/sections/audience-switch.blade.php @@ -39,9 +39,9 @@ @if (!empty($card['button_text'])) @endif
diff --git a/resources/views/livewire/web/components/sections/brand-detail.blade.php b/resources/views/livewire/web/components/sections/brand-detail.blade.php index 25a86324..afe2504f 100644 --- a/resources/views/livewire/web/components/sections/brand-detail.blade.php +++ b/resources/views/livewire/web/components/sections/brand-detail.blade.php @@ -306,14 +306,15 @@

- {{ __('ui.request_appointment') }} - + @if (!empty($brand['website_url']))

{{ __('ui.other_brands') }}

-
diff --git a/resources/views/livewire/web/components/sections/core-brands.blade.php b/resources/views/livewire/web/components/sections/core-brands.blade.php index 3cd698fe..675261ee 100644 --- a/resources/views/livewire/web/components/sections/core-brands.blade.php +++ b/resources/views/livewire/web/components/sections/core-brands.blade.php @@ -7,7 +7,8 @@ @endif
-
+ {{-- Vier Kernmarken als 2×2-Raster; vier nebeneinander wäre zu schmal (Abstimmung 15.09.). --}} +
@foreach ($brands as $brand)
diff --git a/resources/views/livewire/web/components/sections/hero.blade.php b/resources/views/livewire/web/components/sections/hero.blade.php index 4262e446..0cdd7703 100644 --- a/resources/views/livewire/web/components/sections/hero.blade.php +++ b/resources/views/livewire/web/components/sections/hero.blade.php @@ -16,9 +16,9 @@ {{ $content['cta1_text'] }} - + {{ $content['cta2_text'] }} - +
@if(isset($content['stats'])) diff --git a/resources/views/livewire/web/components/sections/magazin-detail.blade.php b/resources/views/livewire/web/components/sections/magazin-detail.blade.php index 747f4c09..8f82c2bc 100644 --- a/resources/views/livewire/web/components/sections/magazin-detail.blade.php +++ b/resources/views/livewire/web/components/sections/magazin-detail.blade.php @@ -2,7 +2,7 @@

- + {{ $content['cta_button'] }}

diff --git a/resources/views/livewire/web/components/sections/marken-cta.blade.php b/resources/views/livewire/web/components/sections/marken-cta.blade.php index f8fdfffb..4626b4ba 100644 --- a/resources/views/livewire/web/components/sections/marken-cta.blade.php +++ b/resources/views/livewire/web/components/sections/marken-cta.blade.php @@ -4,9 +4,9 @@

{{ $content['text'] ?? '' }}

- + {{ $content['button_text'] ?? __('ui.request_appointment') }} - + {{-- WhatsApp erscheint erst, wenn die Nummer im CMS hinterlegt ist (global.contact.whatsapp). Das Widget selbst kommt mit AP3. --}} diff --git a/resources/views/livewire/web/components/sections/origin-section.blade.php b/resources/views/livewire/web/components/sections/origin-section.blade.php new file mode 100644 index 00000000..a0598d4c --- /dev/null +++ b/resources/views/livewire/web/components/sections/origin-section.blade.php @@ -0,0 +1,126 @@ +@php + $hub = $content['hub'] ?? []; + $hubX = (int) ($hub['x'] ?? 400); + $hubY = (int) ($hub['y'] ?? 175); + $steps = array_values(array_filter($content['steps'] ?? [], fn ($step) => is_array($step) && ! empty($step['title']))); +@endphp + +
+
+
+

{!! $content['title'] ?? '' !!}

+ @if (!empty($content['subtitle'])) +

{{ $content['subtitle'] }}

+ @endif +
+ +
+ {{-- Schematische Karte: Bielefeld als Drehscheibe, die vier Standorte als Speichen. + Keine Geografie, nur Richtung und Entfernung. Unter md tragen die Kacheln alles. --}} + + + {{-- Die vier Standorte --}} +
+ @foreach ($this->locations as $index => $location) +
+ + + {{ $location['city'] }} + +

{{ $location['brand'] }}

+ @if (!empty($location['role'])) +

{{ $location['role'] }}

+ @endif +
+ @if (!empty($location['distance'])) + {{ $location['distance'] }} {{ $content['distance_suffix'] ?? '' }} + @endif + @if (!empty($location['link']) && !empty($location['link_text'])) + + {{ $location['link_text'] }} + + @endif +
+
+ @endforeach +
+
+ + {{-- Gefertigt oder vertrieben? Der Weg eines Maßmöbels am Beispiel CABINET. --}} + @if ($steps !== []) +
+
+

{!! $content['steps_title'] ?? '' !!}

+ @if (!empty($content['steps_text'])) +

{{ $content['steps_text'] }}

+ @endif +
+ +
    + @foreach ($steps as $index => $step) +
  1. + + {{ $index + 1 }} + +
    +

    {{ $step['title'] }}

    + @if (!empty($step['description'])) +

    {{ $step['description'] }}

    + @endif +
    +
  2. + @endforeach +
+
+ @endif +
+
diff --git a/resources/views/livewire/web/components/sections/reference-projects.blade.php b/resources/views/livewire/web/components/sections/reference-projects.blade.php index afe2a00c..1342bd1c 100644 --- a/resources/views/livewire/web/components/sections/reference-projects.blade.php +++ b/resources/views/livewire/web/components/sections/reference-projects.blade.php @@ -39,9 +39,9 @@ {{-- Ehrlicher Leerzustand statt einer erfundenen Referenz. --}}

{{ $content['empty'] ?? __('ui.references_empty') }}

- + {{ __('ui.request_appointment') }} - +
@endif
diff --git a/resources/views/livewire/web/components/ui/appointment-widget.blade.php b/resources/views/livewire/web/components/ui/appointment-widget.blade.php index 9d5c965f..76ff891f 100644 --- a/resources/views/livewire/web/components/ui/appointment-widget.blade.php +++ b/resources/views/livewire/web/components/ui/appointment-widget.blade.php @@ -17,7 +17,18 @@ if ($wire.name) { lines.push('Mein Name: ' + $wire.name) } return this.whatsappBase + '?text=' + encodeURIComponent(lines.join('\n')); }, - }" x-on:keydown.escape.window="open = false"> + /* Von einem „Termin anfragen“-Button irgendwo auf der Seite geoeffnet (Blade-Komponente + appointment-link, Klick-Delegat in app.js). Ein mitgegebenes Anliegen wird nur + uebernommen, wenn es in der Auswahl existiert – sonst bleibt die bisherige Wahl stehen. */ + openWith(topic) { + this.open = true; + if (topic && Object.prototype.hasOwnProperty.call(this.topicLabels, topic)) { + $wire.set('topic', topic); + } + this.$nextTick(() => { this.$refs.name?.focus(); }); + }, + }" x-on:keydown.escape.window="open = false" + x-on:open-appointment.window="openWith($event.detail?.topic)"> {{-- Panel --}}
{{ __('ui.appointment.name') }} - + @error('name') {{ $message }} @enderror
@@ -67,7 +78,7 @@ {{ __('ui.appointment.email') }} + class="form-field" /> @error('email') {{ $message }} @enderror
@@ -76,7 +87,7 @@ {{ __('ui.appointment.phone') }} + class="form-field" /> @error('phone') {{ $message }} @enderror
@@ -85,7 +96,7 @@ {{ __('ui.appointment.topic') }} + class="form-field" /> @error('preferredDate') {{ $message }} @enderror
@@ -110,7 +121,7 @@ + class="form-field resize-none"> @error('message') {{ $message }} @enderror diff --git a/resources/views/livewire/web/components/ui/contact-form.blade.php b/resources/views/livewire/web/components/ui/contact-form.blade.php index 66aa4340..cfbda0ab 100644 --- a/resources/views/livewire/web/components/ui/contact-form.blade.php +++ b/resources/views/livewire/web/components/ui/contact-form.blade.php @@ -40,7 +40,7 @@ wire:model="firstName" id="firstName" type="text" - class="w-full px-3 py-2 bg-gray-50 border border-border rounded-lg outline-1 -outline-offset-1 outline-gray-300 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-gray-600 sm:text-sm/6" + class="form-field" required /> @error('firstName') {{ $message }} @enderror @@ -53,7 +53,7 @@ wire:model="lastName" id="lastName" type="text" - class="w-full px-3 py-2 bg-gray-50 border border-border rounded-lg outline-1 -outline-offset-1 outline-gray-300 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-gray-600 sm:text-sm/6" + class="form-field" required /> @error('lastName') {{ $message }} @enderror @@ -68,7 +68,7 @@ wire:model="company" id="company" type="text" - class="w-full px-3 py-2 bg-gray-50 border border-border rounded-lg outline-1 -outline-offset-1 outline-gray-300 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-gray-600 sm:text-sm/6" + class="form-field" /> @error('company') {{ $message }} @enderror @@ -82,7 +82,7 @@ wire:model="email" id="email" type="email" - class="w-full px-3 py-2 bg-gray-50 border border-border rounded-lg outline-1 -outline-offset-1 outline-gray-300 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-gray-600 sm:text-sm/6" + class="form-field" required /> @error('email') {{ $message }} @enderror @@ -95,7 +95,7 @@ wire:model="phone" id="phone" type="tel" - class="w-full px-3 py-2 bg-gray-50 border border-border rounded-lg outline-1 -outline-offset-1 outline-gray-300 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-gray-600 sm:text-sm/6" + class="form-field" /> @error('phone') {{ $message }} @enderror @@ -105,18 +105,24 @@ -
+
-
@error('subject') {{ $message }} @enderror
@@ -131,7 +137,7 @@ wire:model="message" id="message" rows="5" - class="w-full px-3 py-2 bg-gray-50 border border-border rounded-lg outline-1 -outline-offset-1 outline-gray-300 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-gray-600 sm:text-sm/6 resize-none" + class="form-field resize-none" placeholder="{{ $content['form']['placeholders']['message'] ?? __('ui.contact_form.message_placeholder') }}" required > diff --git a/resources/views/livewire/web/components/ui/footer.blade.php b/resources/views/livewire/web/components/ui/footer.blade.php index 2fefaff1..6941af67 100644 --- a/resources/views/livewire/web/components/ui/footer.blade.php +++ b/resources/views/livewire/web/components/ui/footer.blade.php @@ -1,25 +1,40 @@ -{{-- pb-28 auf kleinen Schirmen: darunter schwebt das Terminanfrage-Widget, das sonst die +{{-- Der Footer folgt der Farbwelt der Seite: Interior auf Sand mit Tanne und positivem Logo, + Immobilien dunkel mit negativem Logo (Tokens `--footer-*` in theme-b2in.css, Logo in mount()). + pb-28 auf kleinen Schirmen: darunter schwebt das Terminanfrage-Widget, das sonst die letzten Zeilen des Footers verdecken wuerde. --}} -