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", "status", "validation", ]); const t = translator.t; const displayName = profile.displayName || user.name || user.email.split("@")[0] || t("navigation.account.defaultUser", { fallback: "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} ); }