| typescript | |
| import React, { useState } from 'react' | |
| import { Outlet } from 'react-router-dom' | |
| import Sidebar from './Sidebar' | |
| import TopNav from './TopNav' | |
| import ToastContainer from './ToastContainer' | |
| const Layout: React.FC = () => { | |
| const [sidebarOpen, setSidebarOpen] = useState(false) | |
| return ( | |
| <div className="flex h-screen bg-gray-50"> | |
| <Sidebar open={sidebarOpen} onClose={() => setSidebarOpen(false)} /> | |
| <div className="flex-1 flex flex-col overflow-hidden"> | |
| <TopNav onMenuClick={() => setSidebarOpen(true)} /> | |
| <main className="flex-1 overflow-y-auto p-4 md:p-6"> | |
| <Outlet /> | |
| </main> | |
| </div> | |
| <ToastContainer /> | |
| </div> | |
| ) | |
| } | |
| export default Layout | |
| </html> |