import { IconType } from "react-icons"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; import { isDesktop } from "react-device-detect"; import { cn } from "@/lib/utils"; const variants = { primary: { active: "font-bold text-white bg-selected rounded-lg", inactive: "text-secondary-foreground bg-secondary rounded-lg", disabled: "text-secondary-foreground bg-secondary rounded-lg cursor-not-allowed opacity-50", }, overlay: { active: "font-bold text-white bg-selected rounded-full", inactive: "text-primary rounded-full bg-gradient-to-br from-gray-400 to-gray-500 bg-gray-500", disabled: "bg-gradient-to-br from-gray-400 to-gray-500 bg-gray-500 rounded-full cursor-not-allowed opacity-50", }, }; type CameraFeatureToggleProps = { className?: string; variant?: "primary" | "overlay"; isActive: boolean; Icon: IconType; title: string; onClick?: () => void; disabled?: boolean; // New prop for disabling }; export default function CameraFeatureToggle({ className = "", variant = "primary", isActive, Icon, title, onClick, disabled = false, // Default to false }: CameraFeatureToggleProps) { const content = (
); if (isDesktop) { return ( {content}

{title}

); } return content; }