From 04729c071ef749b74d07d264a4d6405017c2fc5e Mon Sep 17 00:00:00 2001 From: Matt Young Date: Wed, 28 Jan 2026 04:38:35 -0600 Subject: [PATCH] Edit client links working. --- resources/views/clients/index.blade.php | 1 + .../views/components/⚡client-list.blade.php | 5 +- .../views/components/⚡edit-client.blade.php | 72 +++++++++++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 resources/views/components/⚡edit-client.blade.php 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