Unify workspace dropdowns; Update layouts (#458)

Unified Account and Workspace drop-downs; Layout updates, now header lives within the PageBody component; Sidebars now use floating variant
This commit is contained in:
Giancarlo Buomprisco
2026-03-11 14:45:42 +08:00
committed by GitHub
parent ca585e09be
commit 4bc8448a1d
530 changed files with 14398 additions and 11198 deletions

View File

@@ -0,0 +1,46 @@
'use client';
import type { ReactNode } from 'react';
import type { AbstractIntlMessages } from 'next-intl';
import { NextIntlClientProvider } from 'next-intl';
const isDevelopment = process.env.NODE_ENV === 'development';
interface I18nClientProviderProps {
locale: string;
messages: AbstractIntlMessages;
children: ReactNode;
timeZone?: string;
}
/**
* Client-side provider for next-intl.
* Wraps the application and provides translation context to all client components.
*/
export function I18nClientProvider({
locale,
messages,
timeZone = 'UTC',
children,
}: I18nClientProviderProps) {
return (
<NextIntlClientProvider
locale={locale}
messages={messages}
timeZone={timeZone}
getMessageFallback={(info) => {
// simply fallback to the key as is
return info.key;
}}
onError={(error) => {
if (isDevelopment) {
// Missing translations are expected and should only log an error
console.warn(`[Dev Only] i18n error: ${error.message}`);
}
}}
>
{children}
</NextIntlClientProvider>
);
}