32 lines
655 B
TypeScript
32 lines
655 B
TypeScript
// src/layout/DashboardLayout.tsx
|
|
|
|
import { useState } from "react";
|
|
import { Outlet } from "react-router-dom";
|
|
import Sidebar from "../components/sidebar/Sidebar";
|
|
|
|
export default function DashboardLayout() {
|
|
const [isOpen, setIsOpen] =
|
|
useState(true);
|
|
|
|
return (
|
|
<div className="flex min-h-screen bg-[#f4f8ff]">
|
|
{/* SIDEBAR */}
|
|
<Sidebar
|
|
isOpen={isOpen}
|
|
setIsOpen={setIsOpen}
|
|
/>
|
|
|
|
{/* MAIN CONTENT */}
|
|
<main
|
|
className={`flex-1 transition-all duration-300 ${
|
|
isOpen
|
|
? "ml-64"
|
|
: "ml-20"
|
|
}`}
|
|
>
|
|
<Outlet />
|
|
</main>
|
|
</div>
|
|
);
|
|
}
|