feat(i18n): update settings and dashboard layout for dynamic translations
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
import { DashboardClient, type DashboardData } from "./dashboard-client";
|
||||
import { parseDashboardRange, resolveDashboardRange } from "@/server/services/analytics-range";
|
||||
import { requireFreelancerBackend } from "@/server/web/freelancer";
|
||||
import { requireFreelancer } from "@/server/auth/session";
|
||||
import { resolveFreelancerLocale } from "@/server/i18n/resolver";
|
||||
import { getClientI18nPayload } from "@/server/i18n/translator";
|
||||
import { I18nProvider } from "@/components/i18n/i18n-provider";
|
||||
|
||||
export const metadata = { title: "Dashboard" };
|
||||
|
||||
@@ -9,6 +13,10 @@ export default async function DashboardPage({
|
||||
}: {
|
||||
searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
|
||||
}) {
|
||||
const context = await requireFreelancer();
|
||||
const resolvedLocale = await resolveFreelancerLocale(context);
|
||||
const payload = getClientI18nPayload(resolvedLocale.locale, ["dashboard"]);
|
||||
|
||||
const params = await searchParams;
|
||||
const range = parseDashboardRange(params.range);
|
||||
const { actor, service } = await requireFreelancerBackend();
|
||||
@@ -31,5 +39,9 @@ export default async function DashboardPage({
|
||||
range,
|
||||
};
|
||||
|
||||
return <DashboardClient data={data} />;
|
||||
return (
|
||||
<I18nProvider locale={payload.locale} messages={payload.messages}>
|
||||
<DashboardClient data={data} />
|
||||
</I18nProvider>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user