File size: 753 Bytes
c0e8080 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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> |