mirror of https://github.com/Devoalda/LaDo.git
fix(Todo list count): Fixed data query date logic
This commit is contained in:
parent
7a9d9cd4a5
commit
fccb731b12
|
@ -12,6 +12,7 @@ use Illuminate\Http\RedirectResponse;
|
|||
|
||||
class TodoController extends Controller
|
||||
{
|
||||
private string $timezone = "Asia/Singapore";
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
|
@ -22,8 +23,8 @@ class TodoController extends Controller
|
|||
// Show ALL not completed (Null or empty)
|
||||
->whereNull('completed_at')
|
||||
->orWhere('completed_at', '')
|
||||
// And all completed today
|
||||
->orWhereDate('completed_at', today())
|
||||
// And all completed today (Range of today)
|
||||
->orWhereBetween('completed_at', [now($this->timezone)->startOfDay(), now($this->timezone)->endOfDay()])
|
||||
->orderByDesc('created_at')
|
||||
->get([
|
||||
'id',
|
||||
|
@ -104,10 +105,12 @@ class TodoController extends Controller
|
|||
|
||||
if ($emptyPost) {
|
||||
// If empty post, toggle completed_at
|
||||
$todo->completed_at = $todo->completed_at ? null : now();
|
||||
$todo->completed_at = $todo->completed_at ? null : now($this->timezone);
|
||||
$todo->save();
|
||||
} elseif ((isset($data['completed_at']) && $data['completed_at'] === 'on')) {
|
||||
// If completed_at=on, set completed_at to now()
|
||||
$todo->completed_at = now();
|
||||
$todo->completed_at = now($this->timezone);
|
||||
$todo->save();
|
||||
} else {
|
||||
// Validate Data
|
||||
$data = $request->validate([
|
||||
|
@ -116,10 +119,10 @@ class TodoController extends Controller
|
|||
'due_start' => 'nullable|date',
|
||||
'due_end' => 'nullable|after:due_start',
|
||||
]);
|
||||
}
|
||||
|
||||
// Update todo
|
||||
$todo->update($data);
|
||||
}
|
||||
|
||||
|
||||
return redirect()->route('todo.index');
|
||||
}
|
||||
|
|
|
@ -116,8 +116,7 @@
|
|||
<div class="bg-white dark:bg-gray-800 shadow-sm rounded-lg p-6">
|
||||
<h2 class="text-2xl font-semibold mb-4 text-green-500 dark:text-green-400">
|
||||
Completed Today
|
||||
({{ $todos->where('completed_at', '>=', \Carbon\Carbon::today())->where('completed_at', '<',
|
||||
\Carbon\Carbon::tomorrow())->count() }})
|
||||
({{ $todos->where('completed_at', '>=', \Carbon\Carbon::today())->count() }})
|
||||
</h2>
|
||||
<div class="space-y-4">
|
||||
@foreach ($todos as $todo)
|
||||
|
|
Loading…
Reference in New Issue