wip: add icon and button

This commit is contained in:
2024-05-16 22:21:22 +02:00
parent a50b4e64ed
commit c98817e59d
2 changed files with 13 additions and 1 deletions

View File

@@ -26,6 +26,7 @@ export const Key = memo(icons.Key, equal);
export const Link = memo(icons.Link2, equal); export const Link = memo(icons.Link2, equal);
export const Maximize = memo(icons.Maximize2, equal); export const Maximize = memo(icons.Maximize2, equal);
export const Minimize = memo(icons.Minimize2, equal); export const Minimize = memo(icons.Minimize2, equal);
export const Menu = memo(icons.Menu, equal);
export const PackagePlus = memo(icons.PackagePlus, equal); export const PackagePlus = memo(icons.PackagePlus, equal);
export const Paintbrush = memo(icons.Paintbrush2, equal); export const Paintbrush = memo(icons.Paintbrush2, equal);
export const Rows = memo(icons.Rows, equal); export const Rows = memo(icons.Rows, equal);

View File

@@ -1,18 +1,29 @@
import { useCallback } from "react";
import Link from "next/link"; import Link from "next/link";
import { siteConfig } from "@/config/site"; import { siteConfig } from "@/config/site";
import { cn } from "@/lib/style"; import { cn } from "@/lib/style";
import * as icons from "@/components/icons"; import * as icons from "@/components/icons";
import { Menu } from "@/components/icons";
import { ThemeToggle } from "@/components/theme-toggle"; import { ThemeToggle } from "@/components/theme-toggle";
type Props = { type Props = {
className?: string; className?: string;
isMenuOpen?: boolean;
onMenuToggle?: (newValue: boolean) => void;
}; };
export function SiteHeader({ className }: Props) { export function SiteHeader({ className, isMenuOpen, onMenuToggle }: Props) {
const handleMenuToggle = useCallback(() => {
onMenuToggle?.(!isMenuOpen);
}, [isMenuOpen, onMenuToggle]);
return ( return (
<header className={cn("flex items-center justify-between px-4", className)}> <header className={cn("flex items-center justify-between px-4", className)}>
<div className="flex items-baseline gap-x-2.5"> <div className="flex items-baseline gap-x-2.5">
<button type="button" className="flex items-center self-center" onClick={handleMenuToggle}>
<Menu />
</button>
<Link className="text-lg" href="/"> <Link className="text-lg" href="/">
{siteConfig.name} {siteConfig.name}
</Link> </Link>