File size: 882 Bytes
ffb4c35 | 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 31 | import React, { useState } from 'react';
import { Outlet } from 'react-router-dom';
import Sidebar from './Sidebar';
import Navbar from './Navbar';
import { useTheme } from '../context/ThemeContext';
const Layout = () => {
const [sidebarOpen, setSidebarOpen] = useState(true);
const { isDark, toggleTheme } = useTheme();
return (
<div className="min-h-screen bg-gray-50 dark:bg-gray-900">
<Sidebar
isOpen={sidebarOpen}
onToggle={() => setSidebarOpen(!sidebarOpen)}
/>
<div className={`transition-all duration-300 ${sidebarOpen ? 'ml-64' : 'ml-16'}`}>
<Navbar
onSidebarToggle={() => setSidebarOpen(!sidebarOpen)}
onThemeToggle={toggleTheme}
isDarkMode={isDark}
/>
<main className="p-6">
<Outlet />
</main>
</div>
</div>
);
};
export default Layout; |