32 lines
798 B
TypeScript
32 lines
798 B
TypeScript
import {User} from "@/interfaces/user";
|
|
import clsx from "clsx";
|
|
import {useRouter} from "next/router";
|
|
import Navbar from "../Navbar";
|
|
import Sidebar from "../Sidebar";
|
|
|
|
interface Props {
|
|
user: User;
|
|
children: React.ReactNode;
|
|
className?: string;
|
|
}
|
|
|
|
export default function Layout({user, children, className}: Props) {
|
|
const router = useRouter();
|
|
|
|
return (
|
|
<main className="w-full min-h-full h-screen flex flex-col bg-mti-gray-smoke">
|
|
<Navbar user={user} />
|
|
<div className="h-full w-full flex py-4 pb-8 gap-2">
|
|
<Sidebar path={router.pathname} />
|
|
<div
|
|
className={clsx(
|
|
"w-5/6 min-h-full h-fit mr-8 bg-white shadow-md rounded-2xl p-12 pb-8 flex flex-col gap-12 relative overflow-hidden",
|
|
className,
|
|
)}>
|
|
{children}
|
|
</div>
|
|
</div>
|
|
</main>
|
|
);
|
|
}
|