f6592d331f
Refactored the Sidebar component into smaller, more manageable files to improve code organization and maintainability. Fix sidebar auto-expansion issue Ensured the sidebar's collapsed state is maintained when navigating between pages.
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
|
|
import React from "react";
|
|
import { Header } from "@/components/dashboard/Header";
|
|
import { Sidebar } from "@/components/dashboard/Sidebar";
|
|
import { OperationalPageContent } from '@/components/operational-page/OperationalPageContent';
|
|
import { authService } from "@/services/authService";
|
|
import { useNavigate } from "react-router-dom";
|
|
import { useSidebar } from "@/contexts/SidebarContext";
|
|
|
|
const OperationalPage = () => {
|
|
// Use shared sidebar state
|
|
const { sidebarCollapsed, toggleSidebar } = useSidebar();
|
|
|
|
// Get current user
|
|
const currentUser = authService.getCurrentUser();
|
|
const navigate = useNavigate();
|
|
|
|
// Handle logout
|
|
const handleLogout = () => {
|
|
authService.logout();
|
|
navigate("/login");
|
|
};
|
|
|
|
return (
|
|
<div className="flex h-screen overflow-hidden bg-background text-foreground">
|
|
<Sidebar collapsed={sidebarCollapsed} />
|
|
<div className="flex flex-col flex-1">
|
|
<Header
|
|
currentUser={currentUser}
|
|
onLogout={handleLogout}
|
|
sidebarCollapsed={sidebarCollapsed}
|
|
toggleSidebar={toggleSidebar}
|
|
/>
|
|
<div className="flex-1 overflow-auto">
|
|
<OperationalPageContent />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default OperationalPage; |