{translate('page.dashboard', locale)}
{t.title} {t.dueDate ? `(${translate('dash.due', locale)}: ${t.dueDate})` : ''}
))}{t.title}({translate('dash.due', locale)}: {t.dueDate})
))}{m.title}({m.startAt})
))}{l.action}({l.targetType})
))}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 (
{t.title} {t.dueDate ? `(${translate('dash.due', locale)}: ${t.dueDate})` : ''}
))}{t.title}({translate('dash.due', locale)}: {t.dueDate})
))}{m.title}({m.startAt})
))}{l.action}({l.targetType})
))}