Skip to content

Commit 6e50ea5

Browse files
committed
Fix timer completion modal not closing automatically
- Add modal names to Flux modals for programmatic control - Use wire:model.self instead of wire:model for proper state sync - Call $this->modal()->close() after setting showModal to false - Apply fix to both timer completion and discard confirmation modals
1 parent be6c7fb commit 6e50ea5

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

app/Livewire/TimerCompletionModal.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,9 @@ public function confirmStopTimer()
273273
$this->dispatch('refreshNavbarTimer');
274274
$this->dispatch('time-entry-updated');
275275

276-
// Close modal
276+
// Close modal - use Flux modal close method for proper sync
277277
$this->closeModal();
278+
$this->modal('timer-completion')->close();
278279

279280
} catch (\Exception $e) {
280281
Flux::toast(
@@ -289,6 +290,7 @@ public function cancelTimer()
289290
// Keep timer running, just close modal
290291
$this->dispatch('timer:cancelled', timerId: $this->timerId);
291292
$this->closeModal();
293+
$this->modal('timer-completion')->close();
292294
}
293295

294296
public function discardTimer()
@@ -315,7 +317,9 @@ public function confirmDiscardTimer()
315317

316318
// Close both modals
317319
$this->showDiscardConfirmation = false;
320+
$this->modal('timer-discard')->close();
318321
$this->closeModal();
322+
$this->modal('timer-completion')->close();
319323

320324
} catch (\Exception $e) {
321325
Flux::toast(
@@ -329,6 +333,7 @@ public function confirmDiscardTimer()
329333
public function cancelDiscard()
330334
{
331335
$this->showDiscardConfirmation = false;
336+
$this->modal('timer-discard')->close();
332337
}
333338

334339
protected function closeModal()

resources/views/livewire/timer-completion-modal.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div>
22
@if($showModal)
3-
<flux:modal wire:model="showModal" title="Complete Timer Entry" class="max-w-2xl">
3+
<flux:modal name="timer-completion" wire:model.self="showModal" title="Complete Timer Entry" class="max-w-2xl">
44
<form wire:submit.prevent="confirmStopTimer">
55
<div class="space-y-4">
66
{{-- Timer Summary --}}
@@ -203,7 +203,7 @@ class="text-red-600 hover:text-red-700"
203203

204204
{{-- Discard Confirmation Modal --}}
205205
@if($showDiscardConfirmation)
206-
<flux:modal wire:model="showDiscardConfirmation" title="Discard Timer?" class="max-w-md">
206+
<flux:modal name="timer-discard" wire:model.self="showDiscardConfirmation" title="Discard Timer?" class="max-w-md">
207207
<div class="space-y-4">
208208
<div class="p-4 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-700 rounded-lg">
209209
<div class="flex items-start gap-3">

0 commit comments

Comments
 (0)