36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
import { AuthProvider } from '@/components/auth/auth-provider';
|
|
import Header from '@/components/Header';
|
|
import AppSidebar from '@/components/sidebar/app-sidebar';
|
|
import { SidebarInset, SidebarProvider } from '@/components/ui/sidebar';
|
|
import { Locale, setLocale } from '@/paraglide/runtime';
|
|
import { settingQueries } from '@/service/queries';
|
|
import { useQuery } from '@tanstack/react-query';
|
|
import { createFileRoute, Outlet } from '@tanstack/react-router';
|
|
import { useEffect } from 'react';
|
|
|
|
export const Route = createFileRoute('/(app)')({
|
|
component: RouteComponent,
|
|
});
|
|
|
|
function RouteComponent() {
|
|
const { data: language } = useQuery(
|
|
settingQueries.getCurrentUserLanguageSetting(),
|
|
);
|
|
useEffect(() => {
|
|
if (language) {
|
|
setLocale(language as Locale);
|
|
}
|
|
}, [language]);
|
|
return (
|
|
<AuthProvider>
|
|
<SidebarProvider defaultOpen={false}>
|
|
<AppSidebar />
|
|
<SidebarInset>
|
|
<Header />
|
|
<Outlet />
|
|
</SidebarInset>
|
|
</SidebarProvider>
|
|
</AuthProvider>
|
|
);
|
|
}
|