import React, { useEffect, useState } from "react"; import { useAuth } from "~/contexts/auth-context"; import { Link } from "react-router"; import { cn } from "~/lib/utils"; import { Button } from "~/components/ui/button"; import { PanelLeft, Settings, User, Menu, ChevronDown, Server, ChevronLeft , } from "lucide-react"; import apiService from "~/lib/api"; interface HeaderProps { onToggleSidebar?: () => void; className?: string; title?: string; titleIcon?: React.ComponentType<{ className?: string }> | null; } export function Header({ onToggleSidebar, className, title = "صفحه اول", titleIcon, }: HeaderProps) { const { user } = useAuth(); const [isProfileMenuOpen, setIsProfileMenuOpen] = useState(false); const [isNotificationOpen, setIsNotificationOpen] = useState(false); const redirectHandler = async () => { try { const getData = await apiService.post('/GenerateSsoCode') const url = `http://localhost:3000/redirect/${getData.data}`; // const url = `https://inogen-bpms.pelekan.org/redirect/${getData.data}`; window.open(url, "_blank"); } catch (error) { console.log(error); } } return (
{/* Left Section */}
{/* Mobile Menu Toggle */} {onToggleSidebar && ( )} {/* Page Title */}

{/* Right-side icon for current page */} {titleIcon ? (
{React.createElement(titleIcon, { className: "w-5 h-5 " })}
) : ( )} {title.includes("-") ? ( {title.split("-")[0]} {title.split("-")[1]} ) : ( title )}

{/* Right Section */}
{/* User Menu */}
{ user?.id === 2041 && }
{/* Profile Dropdown */} {isProfileMenuOpen && (
{user?.name} {user?.family}
{user?.email}
setIsProfileMenuOpen(false)} > پروفایل کاربری setIsProfileMenuOpen(false)} > تنظیمات
)}
{/* Click outside to close dropdowns */} {(isProfileMenuOpen || isNotificationOpen) && (
{ setIsProfileMenuOpen(false); setIsNotificationOpen(false); }} /> )}
); } export default Header;