diff --git a/database/migrations/2026_01_28_014750_create_clients_table.php b/database/migrations/2026_01_28_014750_create_clients_table.php index a231c87..7154b1e 100644 --- a/database/migrations/2026_01_28_014750_create_clients_table.php +++ b/database/migrations/2026_01_28_014750_create_clients_table.php @@ -15,7 +15,7 @@ return new class extends Migration $table->id(); $table->string('name'); $table->string('abbreviation')->nullable(); - $table->date('audition_date'); + $table->date('audition_date')->nullable(); $table->string('status')->default('active'); $table->timestamps(); }); diff --git a/resources/views/clients/index.blade.php b/resources/views/clients/index.blade.php index 4919eb7..6d87d13 100644 --- a/resources/views/clients/index.blade.php +++ b/resources/views/clients/index.blade.php @@ -1,5 +1,8 @@ -
- +
+
+ +
+
diff --git a/resources/views/components/⚡client-list.blade.php b/resources/views/components/⚡client-list.blade.php index 61b5569..981dece 100644 --- a/resources/views/components/⚡client-list.blade.php +++ b/resources/views/components/⚡client-list.blade.php @@ -3,6 +3,7 @@ use App\Models\Client; use Livewire\Component; use Livewire\Attributes\Computed; +use Livewire\Attributes\On; use Livewire\WithPagination; @@ -22,6 +23,9 @@ new class extends Component { } } + #[On('client-created')] + public function refresh(): void {} + #[Computed] public function clients() { @@ -61,8 +65,8 @@ new class extends Component { @foreach($this->clients as $client) {{ $client->name }} - {{ $client->abbreviation }} - {{ $client->audition_date->local()->format('m/d/Y') }} + {{ $client->abbreviation ?? '' }} + {{ $client->audition_date?->local()->format('m/d/Y') ?? '' }} {{ $client->status->value }} diff --git a/resources/views/components/⚡create-client.blade.php b/resources/views/components/⚡create-client.blade.php new file mode 100644 index 0000000..453e3af --- /dev/null +++ b/resources/views/components/⚡create-client.blade.php @@ -0,0 +1,58 @@ +validate(); + + Client::create([ + 'name' => $this->name, + 'abbreviation' => $this->abbreviation, + 'audition_date' => $this->audition_date ?: null, + ]); + + $this->reset(); + Flux::modal('create-client')->close(); + $this->dispatch('client-created'); + } +}; +?> + +
+ + + New Client + + + + + +
+ Create Client + + + + + +
+ +{{-- Cancel--}} + Create +
+ +
+