- {[1, 2, 3].map((i) => (
+ {[...Array(5)].map((_, i) => (
))}
@@ -365,259 +340,169 @@ export default function TasksPage() {
{/* Statistics Cards */}
-
-
- {taskStats.total}
- Total Tasks
-
-
-
-
- {taskStats.pending}
- Pending
-
-
-
-
- {taskStats.inProgress}
- In Progress
-
-
-
-
- {taskStats.completed}
- Completed
-
-
-
-
- {taskStats.overdue}
- Overdue
-
-
-
+
+
+ {taskStats.total}
+ Total Tasks
+
+
+
+
+ {taskStats.pending}
+ Pending
+
+
+
+
+ {taskStats.in_progress}
+ In Progress
+
+
+
+
+ {taskStats.completed}
+ Completed
+
+
+
+
+ {taskStats.overdue}
+ Overdue
+
+
+
-
-
- setSearchQuery(e.target.value)}
- className="pl-10"
- />
-
-
-
-
-
+ {/* Filters and Search */}
+
+
+ setSearchQuery(e.target.value)}
+ className="w-full"
+ />
-
- {/* Bulk Actions */}
- {selectedTasks.length > 0 && (
-
-
- {selectedTasks.length} task{selectedTasks.length > 1 ? 's' : ''} selected
-
-
-
-
-
-
-
- )}
+
+
+
+
{/* Tasks List */}
{filteredAndSortedTasks.length === 0 ? (
-
-
-
- {searchQuery || statusFilter !== "all" || priorityFilter !== "all"
- ? "No tasks match your filters"
- : "No tasks yet"
- }
-
-
- {searchQuery || statusFilter !== "all" || priorityFilter !== "all"
- ? "Try adjusting your search or filters."
- : "Get started by creating your first task."
- }
-
- {!searchQuery && statusFilter === "all" && priorityFilter === "all" && (
-
- )}
+
+
+ {tasks?.length === 0 ? "No tasks yet" : "No tasks match your filters"}
+
+
) : (
<>
- {/* Select All */}
-
-
-
- Select all ({filteredAndSortedTasks.length} tasks)
-
-
-
- {/* Task Cards */}
- {filteredAndSortedTasks.map((task) => (
-
-
-
-
handleSelectTask(task.id, checked as boolean)}
- />
-
-
-
-
+ {filteredAndSortedTasks.map((task: Task) => (
+
+
+
+
+
+
+
+
{task.title}
- {task.dueDate && isOverdue(task.dueDate) && task.status !== "completed" && (
-
- )}
-
- {task.description && (
-
- {task.description}
-
- )}
-
-
+
{task.priority}
{task.status.replace('_', ' ')}
-
-
-
-
-
- setEditingTask(task)}>
-
- Edit
-
-
- {task.status !== "completed" && (
- updateTaskMutation.mutate({ id: task.id, updates: { status: "completed" } })}
- >
-
- Mark Complete
-
- )}
- {task.status === "pending" && (
- updateTaskMutation.mutate({ id: task.id, updates: { status: "in_progress" } })}
- >
-
- Start Progress
-
- )}
-
- deleteTaskMutation.mutate(task.id)}
- className="text-red-600"
- >
-
- Delete
-
-
-
+ {isOverdue(task.dueDate) && task.status !== 'completed' && (
+
Overdue
+ )}
+
+ {task.description && (
+
{task.description}
+ )}
+
+ {task.dueDate && (
+
+
+ Due: {new Date(task.dueDate).toLocaleDateString()}
+
+ )}
+
+
+ Created: {new Date(task.createdAt).toLocaleDateString()}
+
-
-
-
-
-
- {task.dueDate && (
-
-
- Due: {new Date(task.dueDate).toLocaleDateString()}
-
- )}
-
-
- Created: {new Date(task.createdAt).toLocaleDateString()}
-
+
+
+