Files
History-user/src/app/layout.tsx
T
BoKhongLo f5514b8fb5
Build and Release / release (push) Successful in 35s
big update new layout
2026-05-19 18:00:19 +07:00

50 lines
1.3 KiB
TypeScript

import localFont from 'next/font/local';
import './globals.css';
import "flatpickr/dist/flatpickr.css";
import { SidebarProvider } from '@/context/SidebarContext';
import { ThemeProvider } from '@/context/ThemeContext';
import { Toaster } from 'sonner';
import StoreProvider from '@/store/StoreProvider';
const sfPro = localFont({
src: [
{
path: '../../public/font/SF-Pro-Display/SF-Pro-Display-Regular.otf',
weight: '400',
style: 'normal',
},
{
path: '../../public/font/SF-Pro-Display/SF-Pro-Display-Medium.otf',
weight: '500',
style: 'normal',
},
{
path: '../../public/font/SF-Pro-Display/SF-Pro-Display-Semibold.otf',
weight: '600',
style: 'normal',
},
{
path: '../../public/font/SF-Pro-Display/SF-Pro-Display-Bold.otf',
weight: '700',
style: 'normal',
},
],
})
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={`${sfPro.className} dark:bg-gray-900`}>
<StoreProvider>
<ThemeProvider>
<SidebarProvider>{children} <Toaster closeButton richColors position="top-right" /> </SidebarProvider>
</ThemeProvider>
</StoreProvider>
</body>
</html>
);
}