"use client"; import { Moon, Sun } from "lucide-react"; import Link from "next/link"; import Image from "next/image"; import { useEffect, useState } from "react"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/primitives/tooltip"; import { cn } from "@/lib/utils"; import { useViewer } from "@pascal-app/viewer"; export type PanelId = "site" | "settings"; interface IconRailProps { activePanel: PanelId; onPanelChange: (panel: PanelId) => void; className?: string; } const panels: { id: PanelId; iconSrc: string; label: string }[] = [ { id: "site", iconSrc: "/icons/level.png", label: "Site" }, { id: "settings", iconSrc: "/icons/settings.png", label: "Settings" }, ]; export function IconRail({ activePanel, onPanelChange, className, }: IconRailProps) { const theme = useViewer((state) => state.theme); const setTheme = useViewer((state) => state.setTheme); const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); return (