diff --git a/frontend/src/pages/TaskListPage.tsx b/frontend/src/pages/TaskListPage.tsx
index d2cba88..f7b258d 100644
--- a/frontend/src/pages/TaskListPage.tsx
+++ b/frontend/src/pages/TaskListPage.tsx
@@ -113,7 +113,42 @@ export function TaskListPage() {
onRefresh={() => void loadTasks(filters)}
/>
-
+
+ {[
+ { label: 'Todas', value: null },
+ { label: 'Pendente', value: 'NOT_STARTED' },
+ { label: 'Em andamento', value: 'IN_PROGRESS' },
+ { label: 'Finalizada', value: 'COMPLETED' },
+ { label: 'Cancelada', value: 'CANCELED' },
+ ].map((tab) => {
+ const isActive =
+ tab.value === null
+ ? filters.statuses.length === 0
+ : filters.statuses.includes(tab.value as any) && filters.statuses.length === 1
+
+ return (
+
+ )
+ })}
+
+
+
{tasks.map((task, i) => {
const config = getStatusConfig(task.status)
@@ -123,70 +158,68 @@ export function TaskListPage() {
return (
navigate(`/edit/${task.id}`)}
- className="group relative flex cursor-pointer flex-col rounded-[2rem] border border-border-soft bg-surface p-6 shadow-sm transition-all hover:shadow-xl hover:shadow-brand/5"
+ className="group relative flex cursor-pointer flex-col md:flex-row md:items-center gap-4 rounded-2xl border border-border-soft bg-surface p-4 shadow-sm transition-all hover:shadow-md hover:border-brand/30"
>
-
+
- {config.label}
+ {config.label}
#{task.id}
-
- {task.title}
-
-
-
- {task.description || 'Sem descrição informada.'}
-
-
-
-
loadTasks(filters, true)}
- />
-
-
-
-
-
- {task.project?.name || 'Geral'}
-
- {task.category && (
- <>
-
-
- >
- )}
-
-
-
- {task.history?.length ?? 0} registros
-
-
-
- {task.user && (
-
-
-
+
+
+ {task.title}
+
+
+
+
+ {task.project?.name || 'Geral'}
+
+ {task.category && (
+ <>
+
+
+ >
)}
+
+
+
+ {task.history?.length ?? 0}
+
+
+
+
e.stopPropagation()}>
+ loadTasks(filters, true)}
+ />
+
+
+ {task.user && (
+
+
+
+ )}
+
)
})}
@@ -219,11 +252,11 @@ export function TaskListPage() {
)}
{isLoading && tasks.length === 0 && (
-
+
{Array.from({ length: 6 }).map((_, i) => (
))}