mirror of
https://github.com/lux-tel/websites.git
synced 2026-10-30 20:31:36 +00:00
68 lines
2.3 KiB
TypeScript
68 lines
2.3 KiB
TypeScript
import { isProduction, NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID } from '@/lib/env';
|
|
import { getLocalizationData } from '@/lib/locale-server';
|
|
import { Toaster } from '@session/ui/components/ui/sonner';
|
|
import { MonumentExtended, RobotoFlex } from '@session/ui/fonts';
|
|
|
|
import { DevSheet } from '@/components/DevSheet';
|
|
import { siteMetadata, wagmiMetadata } from '@/lib/metadata';
|
|
import '@session/ui/styles';
|
|
import { createWagmiConfig } from '@session/wallet/lib/wagmi';
|
|
import { headers } from 'next/headers';
|
|
import { cookieToInitialState } from 'wagmi';
|
|
import ChainBanner from '@/components/ChainBanner';
|
|
import { GlobalProvider } from '@/providers/global-provider';
|
|
import { TOSHandler } from '@/components/TOSHandler';
|
|
import { getBuildInfo } from '@session/util-js/build';
|
|
import { FeatureFlagProvider } from '@/lib/feature-flags-client';
|
|
import RemoteBanner from '@/components/RemoteBanner';
|
|
import Header from '@/components/Header';
|
|
import { Suspense } from 'react';
|
|
import { cn } from '@session/ui/lib/utils';
|
|
|
|
const wagmiConfig = createWagmiConfig({
|
|
projectId: NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID,
|
|
metadata: wagmiMetadata,
|
|
});
|
|
|
|
export async function generateMetadata() {
|
|
return siteMetadata({});
|
|
}
|
|
|
|
const buildInfo = getBuildInfo();
|
|
|
|
export default async function RootLayout({ children }: { children: React.ReactNode }) {
|
|
const { locale, direction, messages } = await getLocalizationData();
|
|
const initialWagmiState = cookieToInitialState(wagmiConfig, headers().get('cookie'));
|
|
|
|
return (
|
|
<html
|
|
lang={locale}
|
|
dir={direction}
|
|
className={cn(RobotoFlex.variable, MonumentExtended.variable)}
|
|
>
|
|
<FeatureFlagProvider>
|
|
<GlobalProvider
|
|
messages={messages}
|
|
locale={locale}
|
|
initialState={initialWagmiState}
|
|
wagmiMetadata={wagmiMetadata}
|
|
>
|
|
<body className="bg-session-black font-roboto-flex text-session-text overflow-x-hidden">
|
|
<ChainBanner />
|
|
<Suspense>
|
|
<RemoteBanner />
|
|
</Suspense>
|
|
<Suspense>
|
|
<Header />
|
|
</Suspense>
|
|
<main>{children}</main>
|
|
{!isProduction ? <DevSheet buildInfo={buildInfo} /> : null}
|
|
<TOSHandler />
|
|
</body>
|
|
<Toaster />
|
|
</GlobalProvider>
|
|
</FeatureFlagProvider>
|
|
</html>
|
|
);
|
|
}
|