import { DashboardShell } from "@/components/layout/dashboard-shell"; import { domainActorFromSession } from "@/server/auth/domain-actor"; import { requireFreelancer } from "@/server/auth/session"; import { getPublicBranding } from "@/server/branding/runtime"; import { resolveFreelancerLocale } from "@/server/i18n/resolver"; import { createTranslator, getClientI18nPayload } from "@/server/i18n/translator"; import { getUserPreferences } from "@/server/settings/preferences"; export default async function DashboardLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { const context = await requireFreelancer(); const { user, profile } = context; const branding = getPublicBranding(); const preferences = getUserPreferences(domainActorFromSession(context)); const resolvedLocale = await resolveFreelancerLocale(context); const translator = createTranslator(resolvedLocale.locale, [ "common", "navigation", "dashboard", "clients", "projects", "tasks", "calendar", "finance", "journal", "chat", "settings", "status", "validation", ]); const t = translator.t; const displayName = profile.displayName || user.name || user.email.split("@")[0] || "Neta Kullanıcısı"; const shortName = displayName .split(" ") .filter(Boolean) .slice(0, 2) .map((part) => part[0]?.toUpperCase()) .join("") .slice(0, 2) || "MS"; return ( {children} ); }