diff --git a/frontend/src/components/AppShell.tsx b/frontend/src/components/AppShell.tsx index dd810b5..3e6cc40 100644 --- a/frontend/src/components/AppShell.tsx +++ b/frontend/src/components/AppShell.tsx @@ -34,16 +34,16 @@ export function AppShell() { @@ -73,16 +73,16 @@ export function AppShell() { diff --git a/frontend/src/components/TaskTimer.tsx b/frontend/src/components/TaskTimer.tsx index e0b264f..39ee816 100644 --- a/frontend/src/components/TaskTimer.tsx +++ b/frontend/src/components/TaskTimer.tsx @@ -1,5 +1,5 @@ import { differenceInSeconds, parseISO } from 'date-fns' -import { Play, Square } from 'lucide-react' +import { Clock, Play, Square } from 'lucide-react' import { useEffect, useMemo, useState } from 'react' import { taskService } from '../services/taskService' @@ -96,37 +96,54 @@ export function TaskTimer({ task, onUpdate }: TaskTimerProps) { } return ( -
+
+ {/* Active Indicator Pulse */} + {runningItem && ( +
+ )} + +
+ +
+
- - Tempo Gasto + + {runningItem ? 'Contagem Ativa' : 'Tempo Total'} {formatDuration(displaySeconds)}
-
+
{runningItem ? ( ) : ( )}
diff --git a/frontend/src/pages/CreateTaskPage.tsx b/frontend/src/pages/CreateTaskPage.tsx index 35197ce..076b74f 100644 --- a/frontend/src/pages/CreateTaskPage.tsx +++ b/frontend/src/pages/CreateTaskPage.tsx @@ -109,7 +109,7 @@ export function CreateTaskPage() {
Ver Minhas Tarefas @@ -130,7 +130,7 @@ export function CreateTaskPage() {
@@ -244,7 +244,7 @@ export function CreateTaskPage() {
Cancelar diff --git a/frontend/src/pages/TaskBoardPage.tsx b/frontend/src/pages/TaskBoardPage.tsx index f489897..b93f50a 100644 --- a/frontend/src/pages/TaskBoardPage.tsx +++ b/frontend/src/pages/TaskBoardPage.tsx @@ -118,7 +118,7 @@ export function TaskBoardPage() { diff --git a/frontend/src/pages/TaskListPage.tsx b/frontend/src/pages/TaskListPage.tsx index e7a9899..7e2b077 100644 --- a/frontend/src/pages/TaskListPage.tsx +++ b/frontend/src/pages/TaskListPage.tsx @@ -93,14 +93,7 @@ export function TaskListPage() { }) }, [tasks, searchQuery, statusFilter]) - const stats = useMemo(() => { - return { - total: tasks.length, - completed: tasks.filter((t) => t.status === 'COMPLETED').length, - inProgress: tasks.filter((t) => t.status === 'IN_PROGRESS').length, - pending: tasks.filter((t) => t.status === 'NOT_STARTED').length, - } - }, [tasks]) + return (
@@ -115,7 +108,7 @@ export function TaskListPage() {

@@ -123,46 +116,7 @@ export function TaskListPage() {
- {/* Stats Grid */} -
- {[ - { label: 'Total', value: stats.total, icon: Layers, color: 'text-text-main' }, - { - label: 'Em Andamento', - value: stats.inProgress, - icon: Clock, - color: 'text-amber-600', - }, - { - label: 'Concluídas', - value: stats.completed, - icon: CheckCircle2, - color: 'text-emerald-600', - }, - { - label: 'Pendentes', - value: stats.pending, - icon: AlertCircle, - color: 'text-brand', - }, - ].map((stat, i) => ( - -
- - - {stat.label} - -
-

{stat.value}

-
- ))} -
+ {/* Toolbar */}
diff --git a/frontend/src/router.tsx b/frontend/src/router.tsx index 6228c55..c97c3ee 100644 --- a/frontend/src/router.tsx +++ b/frontend/src/router.tsx @@ -12,11 +12,11 @@ export const router = createBrowserRouter([ children: [ { index: true, - element: , + element: , }, { - path: 'tasks', - element: , + path: 'new', + element: , }, { path: 'board',