"use client";
import type { ComponentProps, ReactNode } from "react";
import { Sparkles } from "lucide-react";
import { cn } from "@/lib/utils";
type BrandTopBarProps = {
actions?: ReactNode;
children?: ReactNode;
className?: string;
contentClassName?: string;
logo?: string | null;
onLogoClick?: () => void;
position?: "fixed" | "sticky" | "static";
shouldInvertLogo?: boolean;
siteName: string;
};
export function BrandTopBar({
actions,
children,
className,
contentClassName,
logo,
onLogoClick,
position = "fixed",
shouldInvertLogo = false,
siteName,
}: BrandTopBarProps) {
const resolvedSiteName = String(siteName || "").trim() || "由壹点AI";
const positionClass =
position === "fixed"
? "fixed left-0 top-0 z-40 w-full"
: position === "sticky"
? "sticky top-0 z-40"
: "relative z-40";
return (
{actions || children}
);
}
type BrandTopBarButtonProps = ComponentProps<"button"> & {
variant?: "default" | "primary";
};
export function BrandTopBarButton({
className,
type = "button",
variant = "default",
...props
}: BrandTopBarButtonProps) {
return (
);
}
export function BrandTopBarIconButton({
className,
type = "button",
...props
}: ComponentProps<"button">) {
return (
);
}