Files
aeroresolve_frontend/src/layout/AppLayout.tsx
T

29 lines
965 B
TypeScript

import { useState } from 'react';
import type { ReactNode } from 'react';
import AppSidebar from './AppSidebar';
import AppHeader from './AppHeader';
interface LayoutProps {
children: ReactNode;
}
function Layout({ children }: LayoutProps) {
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
return (
<div className="flex h-screen overflow-hidden bg-[#F4F7F6] font-sans">
<AppSidebar isOpen={isSidebarOpen} onClose={() => setIsSidebarOpen(false)} />
{/* Main Content Area Wrapper */}
<div className="flex-1 flex flex-col overflow-hidden bg-white rounded-[12px] shadow-[0px_0px_10px_rgba(0,0,0,0.05)] border border-gray-100/50 relative z-10 my-2 mr-2 ml-1">
<AppHeader onMenuClick={() => setIsSidebarOpen(true)} />
<main className="flex-1 overflow-y-auto overflow-x-hidden px-4 py-4 bg-white rounded-b-[12px]">
{children}
</main>
</div>
</div>
);
}
export default Layout;