151 lines
4.6 KiB
TypeScript
151 lines
4.6 KiB
TypeScript
import Link from "next/link";
|
|
import {
|
|
CircleUser,
|
|
Menu,
|
|
Package2,
|
|
Scale3DIcon,
|
|
Search,
|
|
VaultIcon,
|
|
} from "lucide-react";
|
|
import { Button } from "@/components/ui/button";
|
|
import {
|
|
Card,
|
|
CardContent,
|
|
CardDescription,
|
|
CardFooter,
|
|
CardHeader,
|
|
CardTitle,
|
|
} from "@/components/ui/card";
|
|
import { Checkbox } from "@/components/ui/checkbox";
|
|
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuLabel,
|
|
DropdownMenuSeparator,
|
|
DropdownMenuTrigger,
|
|
} from "@/components/ui/dropdown-menu";
|
|
import { Input } from "@/components/ui/input";
|
|
import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet";
|
|
|
|
interface HeaderProps {}
|
|
export default function Header(props: HeaderProps) {
|
|
return (
|
|
<header className="sticky top-0 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6">
|
|
<nav className="hidden flex-col gap-6 text-lg font-medium md:flex md:flex-row md:items-center md:gap-5 md:text-sm lg:gap-6">
|
|
<Link
|
|
href="#"
|
|
className="flex items-center gap-2 text-lg font-semibold md:text-base"
|
|
>
|
|
<VaultIcon className="h-6 w-6" />
|
|
<span className="sr-only">Manage your Printer</span>
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground transition-colors hover:text-foreground"
|
|
>
|
|
Dashboard
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground transition-colors hover:text-foreground"
|
|
>
|
|
Orders
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground transition-colors hover:text-foreground"
|
|
>
|
|
Products
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground transition-colors hover:text-foreground"
|
|
>
|
|
Customers
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground transition-colors hover:text-foreground"
|
|
>
|
|
Settings
|
|
</Link>
|
|
</nav>
|
|
<Sheet>
|
|
<SheetTrigger asChild>
|
|
<Button variant="outline" size="icon" className="shrink-0 md:hidden">
|
|
<Menu className="h-5 w-5" />
|
|
<span className="sr-only">Navigation umschalten</span>
|
|
</Button>
|
|
</SheetTrigger>
|
|
<SheetContent side="left">
|
|
<nav className="grid gap-6 text-lg font-medium">
|
|
<Link
|
|
href="#"
|
|
className="flex items-center gap-2 text-lg font-semibold"
|
|
>
|
|
<VaultIcon className="h-6 w-6" />
|
|
<span className="sr-only">Manage your Printer</span>
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground hover:text-foreground"
|
|
>
|
|
Dashboard
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground hover:text-foreground"
|
|
>
|
|
Orders
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground hover:text-foreground"
|
|
>
|
|
Products
|
|
</Link>
|
|
<Link
|
|
href="#"
|
|
className="text-muted-foreground hover:text-foreground"
|
|
>
|
|
Customers
|
|
</Link>
|
|
<Link href="#" className="hover:text-foreground">
|
|
Settings
|
|
</Link>
|
|
</nav>
|
|
</SheetContent>
|
|
</Sheet>
|
|
<div className="flex w-full items-center gap-4 md:ml-auto md:gap-2 lg:gap-4">
|
|
<form className="ml-auto flex-1 sm:flex-initial">
|
|
<div className="relative">
|
|
<Search className="absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground" />
|
|
<Input
|
|
type="search"
|
|
placeholder="Search products..."
|
|
className="pl-8 sm:w-[300px] md:w-[200px] lg:w-[300px]"
|
|
/>
|
|
</div>
|
|
</form>
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger asChild>
|
|
<Button variant="secondary" size="icon" className="rounded-full">
|
|
<CircleUser className="h-5 w-5" />
|
|
<span className="sr-only">Toggle user menu</span>
|
|
</Button>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent align="end">
|
|
<DropdownMenuLabel>My Account</DropdownMenuLabel>
|
|
<DropdownMenuSeparator />
|
|
<DropdownMenuItem>Settings</DropdownMenuItem>
|
|
<DropdownMenuItem>Support</DropdownMenuItem>
|
|
<DropdownMenuSeparator />
|
|
<DropdownMenuItem>Logout</DropdownMenuItem>
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
</div>
|
|
</header>
|
|
);
|
|
}
|