Startseite und Heroes - Hero-Slideshow (11 Motive inkl. Febrü) mit Infokarte, Laufzeit-Linie, größeren Klickflächen, Goldrahmen und mobiler Karte unter dem Bild; Zeile über der Überschrift, neue Vertrauenspunkte - Hero-Stil auf Marken, Über uns und Kontakt übertragen, Breadcrumb entfernt - Gründer-Leiste, Vision-Box auf Ocker, Showroom-Display in Box mit „Größer ansehen“/Vollbild - Akzentfarbe #a8741f, größere Serif-Überschriften in der Interior-Welt - Marken: Bildpause mit Zitat; Vereine aktualisiert und verlinkt Inhalte - Lektorat aller angezeigten Texte, /about-Korrekturen, Rechtstexte (DDG, TDDDG, Hosting Hetzner) - Ablauf Maßanfertigung überall einheitlich, Magazin-Beitrag neu, alte Beiträge offline, deutsches Datum/Lesezeit, FAQ Projektausstattung, Otterpohl - Referenzen-Seite per CMS-Schalter ausblendbar CMS und Technik - Tote Sektionen, Felder, Seiten und Komponenten entfernt und archiviert (dev/2026-08-28/archiv-*) - Entwurf /entwurf, Farb-Schalter und /welcome entfernt; Test-Routen nur noch lokal - Seitenbaum-Beschreibungen geprüft, fehlende CMS-Felder ergänzt, Markenliste aus „Kernmarken“ - Admin-Bildvorschauen repariert, verwendete Bilder in die Mediathek übernommen - Seeder für das Deployment siehe dev/2026-08-28/entwicklungsplan.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Web\Components\Sections;
|
|
|
|
use Livewire\Component;
|
|
|
|
/**
|
|
* Hero der Themes b2a, Stileigentum und Style2own (Stand vor dem B2in-Entwurf vom 24.09.2026).
|
|
* Ohne gepflegte Sektion `hero_slider` bleibt der Bereich leer.
|
|
*/
|
|
class HeroSlider extends Component
|
|
{
|
|
public $content = [];
|
|
|
|
public $currentSlide = 0;
|
|
|
|
public function mount()
|
|
{
|
|
$section = cms_theme_section('hero_slider');
|
|
$this->content = is_array($section) ? $section : [];
|
|
}
|
|
|
|
public function nextSlide()
|
|
{
|
|
if (! empty($this->content['slides'])) {
|
|
$this->currentSlide = ($this->currentSlide + 1) % count($this->content['slides']);
|
|
}
|
|
}
|
|
|
|
public function previousSlide()
|
|
{
|
|
if (! empty($this->content['slides'])) {
|
|
$totalSlides = count($this->content['slides']);
|
|
$this->currentSlide = ($this->currentSlide - 1 + $totalSlides) % $totalSlides;
|
|
}
|
|
}
|
|
|
|
public function setSlide($index)
|
|
{
|
|
if (! empty($this->content['slides']) && $index >= 0 && $index < count($this->content['slides'])) {
|
|
$this->currentSlide = $index;
|
|
}
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.web.components.sections.hero-slider');
|
|
}
|
|
}
|