Add initial project files
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import { Menu } from 'lucide-react';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Link, useLocation } from 'react-router-dom';
|
||||
import { toAbsoluteUrl } from '#shared/lib/helpers';
|
||||
import { Button } from '#shared/ui/Button';
|
||||
import { Sheet, SheetBody, SheetContent, SheetHeader, SheetTrigger } from '#shared/ui/Sheet';
|
||||
import { Container } from '#shared/widgets/common/Container';
|
||||
import { SidebarPrimary } from './SidebarPrimary';
|
||||
import { SidebarSecondary } from './SidebarSecondary';
|
||||
|
||||
export function Header() {
|
||||
const [isSheetOpen, setIsSheetOpen] = useState(false);
|
||||
const { pathname } = useLocation();
|
||||
|
||||
// Close sheet when route changes
|
||||
useEffect(() => {
|
||||
setIsSheetOpen(false);
|
||||
}, [pathname]);
|
||||
|
||||
return (
|
||||
<header className="fixed start-0 end-0 top-0 z-10 flex h-(--header-height) shrink-0 items-center bg-(--page-bg) lg:hidden dark:bg-(--page-bg-dark)">
|
||||
<Container className="flex flex-wrap items-center justify-between gap-3">
|
||||
<Link to="/">
|
||||
<img
|
||||
src={toAbsoluteUrl('/media/app/mini-logo-gray.svg')}
|
||||
className="min-h-7.5 dark:hidden"
|
||||
alt=""
|
||||
/>
|
||||
<img
|
||||
src={toAbsoluteUrl('/media/app/mini-logo-gray-dark.svg')}
|
||||
className="hidden min-h-7.5 dark:block"
|
||||
alt=""
|
||||
/>
|
||||
</Link>
|
||||
|
||||
<Sheet open={isSheetOpen} onOpenChange={setIsSheetOpen}>
|
||||
<SheetTrigger asChild>
|
||||
<Button variant="ghost" mode="icon" className="-ms-2 lg:hidden">
|
||||
<Menu />
|
||||
</Button>
|
||||
</SheetTrigger>
|
||||
<SheetContent className="w-(--sidebar-width) gap-0 p-0" side="left" close={false}>
|
||||
<SheetHeader className="space-y-0 p-0" />
|
||||
<SheetBody className="flex shrink-0 items-stretch overflow-y-auto p-0">
|
||||
<SidebarPrimary />
|
||||
<SidebarSecondary />
|
||||
</SheetBody>
|
||||
</SheetContent>
|
||||
</Sheet>
|
||||
</Container>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user