diff --git a/resources/views/clients/index.blade.php b/resources/views/clients/index.blade.php index 6d87d13..6292d9e 100644 --- a/resources/views/clients/index.blade.php +++ b/resources/views/clients/index.blade.php @@ -4,5 +4,6 @@ + diff --git a/resources/views/components/⚡client-list.blade.php b/resources/views/components/⚡client-list.blade.php index 981dece..c29ee17 100644 --- a/resources/views/components/⚡client-list.blade.php +++ b/resources/views/components/⚡client-list.blade.php @@ -24,6 +24,7 @@ new class extends Component { } #[On('client-created')] + #[On('client-updated')] public function refresh(): void {} #[Computed] @@ -80,8 +81,8 @@ new class extends Component { - - Edit + + Edit diff --git a/resources/views/components/⚡edit-client.blade.php b/resources/views/components/⚡edit-client.blade.php new file mode 100644 index 0000000..7539c5d --- /dev/null +++ b/resources/views/components/⚡edit-client.blade.php @@ -0,0 +1,72 @@ +clientId = $clientId; + $client = Client::findOrFail($clientId); + + $this->name = $client->name; + $this->abbreviation = $client->abbreviation; + $this->audition_date = $client->audition_date?->format('Y-m-d'); + + $this->resetValidation(); + Flux::modal('edit-client')->show(); + } + + public function save(): void + { + $this->validate([ + 'name' => 'required|string|max:255|unique:clients,name,' . $this->clientId, + 'abbreviation' => 'required|string|max:10|unique:clients,abbreviation,' . $this->clientId, + 'audition_date' => 'nullable|date|after_or_equal:today', + ]); + + $client = Client::findOrFail($this->clientId); + $client->update([ + 'name' => $this->name, + 'abbreviation' => $this->abbreviation, + 'audition_date' => $this->audition_date ?: null, + ]); + + $this->reset(); + Flux::modal('edit-client')->close(); + $this->dispatch('client-updated'); + } +}; +?> + +
+ +
+ Edit Client + + + + + +
+ + Save +
+ +
+
\ No newline at end of file