diff --git a/src/app/dashboard/briefing/page.tsx b/src/app/dashboard/briefing/page.tsx index cbd4c0e..dff98b6 100644 --- a/src/app/dashboard/briefing/page.tsx +++ b/src/app/dashboard/briefing/page.tsx @@ -1,75 +1,193 @@ 'use client'; +import Link from 'next/link'; import { useQuery } from '@tanstack/react-query'; -import { apiFetch, type Briefing } from '../../../lib/api'; +import { apiFetch } from '../../../lib/api'; +import type { BriefingData } from '../../../lib/api'; import { useSession } from '../../../components/session-provider'; -export const dynamic = 'force-dynamic'; +const B = '/dashboard'; -export default function DailyBriefingPage() { +function ScoreMeter({ score }: { score: number }) { + const color = score >= 80 ? 'text-signal-ok' : score >= 60 ? 'text-signal-warn' : 'text-signal-danger'; + return ( +
- Prioritizarea e deterministă; AI-ul doar explică rezultatul, nu decide ordinea. -
+{today}
+Se încarcă…
} - - {briefing && ( -Sinteza zilei
-{briefing.aiExplanation}
-Nicio sarcină restantă.
- ) : ( -Nimic programat în următoarea săptămână.
- ) : ( -Se pregătește briefing-ul…
Nu s-a putut încărca briefing-ul.
++ Generat la {new Date(data.generatedAt).toLocaleTimeString('ro-RO', { hour: '2-digit', minute: '2-digit' })} +
+ {data.score < 70 && ( ++ {data.atRiskGoals.length > 0 && `${data.atRiskGoals.length} obiective la risc. `} + {data.overdueTasks.length > 0 && `${data.overdueTasks.length} taskuri expirate. `} + {data.pendingDecisions.length > 0 && `${data.pendingDecisions.length} decizii necesită review.`} +
+ )} +Nicio urgență pentru azi ✓
+ ) : ( +{t.title}
+Nicio întârziere ✓
+ ) : ( +{t.title}
+Toate obiectivele pe plan ✓
+ ) : ( +{g.metric} → {g.target} ({g.horizon})
+Niciun review restant ✓
+ ) : ( +{d.context}
+Niciun semnal critic ✓
+ ) : ( +{s.title}
+Niciuna în 7 zile ✓
+ ) : ( +{o.source}: {o.nextAction ?? 'acțiune necesară'}
+