85 lines
2.5 KiB
TypeScript
85 lines
2.5 KiB
TypeScript
import { useEffect } from "react";
|
|
import { Outlet } from "react-router";
|
|
|
|
import { AppSidebar } from "~/components/app-sidebar";
|
|
import {
|
|
Breadcrumb,
|
|
BreadcrumbItem,
|
|
BreadcrumbLink,
|
|
BreadcrumbList,
|
|
BreadcrumbPage,
|
|
BreadcrumbSeparator,
|
|
} from "~/components/ui/breadcrumb";
|
|
import { Separator } from "~/components/ui/separator";
|
|
import {
|
|
SidebarInset,
|
|
SidebarProvider,
|
|
SidebarTrigger,
|
|
useSidebar,
|
|
} from "~/components/ui/sidebar";
|
|
|
|
export default function PrivateLayout() {
|
|
// const location = useLocation();
|
|
// const navigate = useNavigate();
|
|
|
|
// const dispatch = useAppDispatch();
|
|
|
|
// const { data, isLoading, isError, isSuccess } = useMe();
|
|
|
|
// useEffect(() => {
|
|
// if (isError) {
|
|
// navigate(Links.LOGIN, {
|
|
// replace: true,
|
|
// state: { from: location.pathname },
|
|
// });
|
|
// }
|
|
// }, [isError]);
|
|
|
|
// useEffect(() => {
|
|
// if (isSuccess && data) {
|
|
// dispatch(setUser(data?.data));
|
|
// }
|
|
// }, [isSuccess, data]);
|
|
|
|
// if ((isLoading || !data?.data) && Object.keys(location?.state || {}).length)
|
|
// return (
|
|
// <div className="h-screen w-screen flex items-center justify-center ">
|
|
// <Loader showLabel={true} size="size-10" />
|
|
// </div>
|
|
// );
|
|
|
|
return (
|
|
<SidebarProvider open={false}>
|
|
<AppSidebar />
|
|
<SidebarInset className="h-screen overflow-x-hidden">
|
|
<header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 sticky top-0 bg-white z-50">
|
|
<div className="flex items-center gap-2 px-4">
|
|
<SidebarTrigger className="-ml-1" />
|
|
<Separator
|
|
orientation="vertical"
|
|
className="mr-2 data-[orientation=vertical]:h-4"
|
|
/>
|
|
{/* <Breadcrumb>
|
|
<BreadcrumbList>
|
|
<BreadcrumbItem className="hidden md:block">
|
|
<BreadcrumbLink href="#">
|
|
Building Your Application
|
|
</BreadcrumbLink>
|
|
</BreadcrumbItem>
|
|
<BreadcrumbSeparator className="hidden md:block" />
|
|
<BreadcrumbItem>
|
|
<BreadcrumbPage>Data Fetching</BreadcrumbPage>
|
|
</BreadcrumbItem>
|
|
</BreadcrumbList>
|
|
</Breadcrumb> */}
|
|
</div>
|
|
</header>
|
|
|
|
<div className="max-w-full p-4 pt-0">
|
|
<Outlet />
|
|
</div>
|
|
</SidebarInset>
|
|
</SidebarProvider>
|
|
);
|
|
}
|