b2in/app/Livewire/Web/Components/Sections/HeroSlider.php
2025-10-20 17:50:35 +02:00

44 lines
1.1 KiB
PHP

<?php
namespace App\Livewire\Web\Components\Sections;
use Livewire\Component;
class HeroSlider extends Component
{
public $content = [];
public $currentSlide = 0;
public function mount()
{
$theme = config('app.theme', 'b2in');
$this->content = config("content.themes.{$theme}.hero_slider", []);
}
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');
}
}