From 763c243962fce7190459ca01cf8c29597741ea0b Mon Sep 17 00:00:00 2001 From: poyrazavsever Date: Mon, 20 Jul 2026 10:25:40 +0300 Subject: [PATCH] refactor(dashboard): apply new i18n resolver to dashboard shell and localized fields --- app/(dashboard)/layout.tsx | 4 ++-- app/layout.tsx | 4 ++-- app/not-found.tsx | 4 ++-- components/i18n/localized-fields.tsx | 19 +++++++++++++++++-- components/layout/dashboard-shell.tsx | 2 +- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/app/(dashboard)/layout.tsx b/app/(dashboard)/layout.tsx index 7584b22..5a19a48 100644 --- a/app/(dashboard)/layout.tsx +++ b/app/(dashboard)/layout.tsx @@ -2,7 +2,7 @@ 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 { resolveRequestLocale } from "@/server/i18n/resolver"; +import { resolveFreelancerLocale } from "@/server/i18n/resolver"; import { createTranslator, getClientI18nPayload } from "@/server/i18n/translator"; import { getUserPreferences } from "@/server/settings/preferences"; @@ -15,7 +15,7 @@ export default async function DashboardLayout({ const { user, profile } = context; const branding = getPublicBranding(); const preferences = getUserPreferences(domainActorFromSession(context)); - const resolvedLocale = await resolveRequestLocale(); + const resolvedLocale = await resolveFreelancerLocale(context); const translator = createTranslator(resolvedLocale.locale, [ "common", "navigation", diff --git a/app/layout.tsx b/app/layout.tsx index 84efb89..ea35b37 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -9,7 +9,7 @@ import { } from "@/lib/color-mode"; import { Toaster } from "poyraz-ui/molecules"; import { getPublicBranding } from "@/server/branding/runtime"; -import { resolveRequestLocale } from "@/server/i18n/resolver"; +import { resolveRootLocale } from "@/server/i18n/resolver"; const colorModeScript = `(() => { const root = document.documentElement; @@ -53,7 +53,7 @@ export default async function RootLayout({ const colorMode = isColorMode(cookieColorMode) ? cookieColorMode : branding.defaultColorMode; - const locale = await resolveRequestLocale(); + const locale = await resolveRootLocale(); return ( ; + labels?: { + defaultBadge?: string; + missingRequired?: string; + }; }; export function LocalizedFields({ @@ -28,6 +32,7 @@ export function LocalizedFields({ fields, values, fallbackValues, + labels, }: LocalizedFieldsProps) { const orderedLocales = useMemo(() => { const localeMap = new Map(locales.map((locale) => [locale.code, locale])); @@ -66,8 +71,18 @@ export function LocalizedFields({ onClick={() => setActiveLocale(locale.code)} > {locale.nativeName || locale.code} - {locale.code === defaultLocale ? varsayılan : null} - {missingRequiredLocales.has(locale.code) ? : null} + {locale.code === defaultLocale ? ( + {labels?.defaultBadge ?? "Default"} + ) : null} + {missingRequiredLocales.has(locale.code) ? ( + + • + + ) : null} ))} diff --git a/components/layout/dashboard-shell.tsx b/components/layout/dashboard-shell.tsx index e9b87d6..91389b8 100644 --- a/components/layout/dashboard-shell.tsx +++ b/components/layout/dashboard-shell.tsx @@ -35,7 +35,7 @@ export function DashboardShell({ branding, children, colorMode, i18n, labels, us homeHref="/" labels={labels} navGroups={navGroups} - settingsHref="/settings" + settingsHref="/settings/general" user={user} > {children}