import * as React from "react"; import * as LabelPrimitive from "@radix-ui/react-label"; import { useCameraFriendlyName } from "@/hooks/use-camera-friendly-name"; import { CameraConfig } from "@/types/frigateConfig"; import { useZoneFriendlyName } from "@/hooks/use-zone-friendly-name"; interface CameraNameLabelProps extends React.ComponentPropsWithoutRef { camera?: string | CameraConfig; } interface ZoneNameLabelProps extends React.ComponentPropsWithoutRef { zone: string; camera?: string; } const CameraNameLabel = React.forwardRef< React.ElementRef, CameraNameLabelProps >(({ className, camera, ...props }, ref) => { const displayName = useCameraFriendlyName(camera); return ( {displayName} ); }); CameraNameLabel.displayName = LabelPrimitive.Root.displayName; const ZoneNameLabel = React.forwardRef< React.ElementRef, ZoneNameLabelProps >(({ className, zone, camera, ...props }, ref) => { const displayName = useZoneFriendlyName(zone, camera); return ( {displayName} ); }); ZoneNameLabel.displayName = LabelPrimitive.Root.displayName; export { CameraNameLabel, ZoneNameLabel };