import { redirect } from 'next/navigation'; import { getCurrentUser, toPublicUser } from '@/lib/auth/getCurrentUser'; import { createDashboardService } from '@/lib/api/services'; import { Header } from '@/components/layout/Header'; import { CreateProjectForm } from '@/components/project/CreateProjectForm'; import { DashboardWidget } from '@/components/project/DashboardWidget'; import { getLocale, translate } from '@/lib/i18n/server'; export const dynamic = 'force-dynamic'; export default async function DashboardPage() { const user = await getCurrentUser(); if (!user) { redirect('/login'); } const service = createDashboardService(); const dashboard = service.getPersonalDashboard(user.id); const locale = await getLocale(); return (

{translate('page.dashboard', locale)}

{dashboard.projects.map((p) => ( {p.name}({p.status}) ))} {translate('dash.openNotifications', locale)} {dashboard.incompleteTodos.map((t) => (

{t.title} {t.dueDate ? `(${translate('dash.due', locale)}: ${t.dueDate})` : ''}

))}
{dashboard.overdueTasks.map((t) => (

{t.title}({translate('dash.due', locale)}: {t.dueDate})

))}
{dashboard.upcomingMeetings.map((m) => (

{m.title}({m.startAt})

))}
{dashboard.recentActivity.map((l) => (

{l.action}({l.targetType})

))}
); }