refactor(outlet): kasih kondisi ketika opening hours empty dan kasih return type untuk traitnya

This commit is contained in:
Yoga Pangestu 2025-12-09 21:11:10 +07:00
parent 0d5d47849a
commit 565505aa64
4 changed files with 8 additions and 8 deletions

View File

@ -18,7 +18,7 @@ class Create extends Component
public OutletForm $form; public OutletForm $form;
/** @var array<int, Day> */ /** @var array<Day> */
public array $days = []; public array $days = [];
public function mount(): void public function mount(): void

View File

@ -19,7 +19,7 @@ class Edit extends Component
public OutletForm $form; public OutletForm $form;
/** @var array<int, Day> */ /** @var array<Day> */
public array $days = []; public array $days = [];
public function mount(Outlet $outlet): void public function mount(Outlet $outlet): void

View File

@ -43,6 +43,10 @@ protected function loadOutlets(): void
protected function formatOpeningHours(Outlet $outlet): array protected function formatOpeningHours(Outlet $outlet): array
{ {
if (! $outlet->openingHours || $outlet->openingHours->isEmpty()) {
return [];
}
return $outlet->openingHours->mapWithKeys(fn ($hour) => [ return $outlet->openingHours->mapWithKeys(fn ($hour) => [
Str::ucfirst(Str::lower(Day::from($hour->day->value)->label())) => [ Str::ucfirst(Str::lower(Day::from($hour->day->value)->label())) => [
'open' => formatTime($hour->open_time), 'open' => formatTime($hour->open_time),

View File

@ -2,18 +2,14 @@
namespace App\Traits\Outlet; namespace App\Traits\Outlet;
use App\Livewire\Forms\Studio\Master\OutletForm;
trait WithFacilityHandler trait WithFacilityHandler
{ {
public OutletForm $form; public function addFacility(): void
public function addFacility()
{ {
$this->form->facilities[] = ''; $this->form->facilities[] = '';
} }
public function removeFacility(int $index) public function removeFacility(int $index): void
{ {
unset($this->form->facilities[$index]); unset($this->form->facilities[$index]);
$this->form->facilities = array_values($this->form->facilities); $this->form->facilities = array_values($this->form->facilities);