update(['progress' => max(0, min(100, $progress))]); } public function setStatus(int $id, string $status): void { if (! in_array($status, [Goal::STATUS_ACTIVE, Goal::STATUS_PAUSED, Goal::STATUS_DONE, Goal::STATUS_ABANDONED], true)) { return; } Goal::where('id', $id)->update(['status' => $status]); } public function destroy(int $id): void { Goal::where('id', $id)->delete(); } public function render() { return view('livewire.goals', [ 'goals' => Goal::latest()->get(), ]); } }