'use client' import Button from '@/components/formElements/Button' import HeatIcon from '@/components/icons/HeatIcon' import HeatIconFill from '@/components/icons/HeatIconFill' import { cn } from '@/lib/cn' import { texts, format } from '@/texts' interface StarRatingProps { value: number onChange?: (value: number) => void size?: 'sm' | 'md' className?: string /** Read-only display when onChange is omitted. */ label?: string } const ICON_SIZE = { sm: 'size-3.5', md: 'size-5', } as const const StarRating = ({ value, onChange, size = 'md', className, label }: StarRatingProps) => { const interactive = typeof onChange === 'function' const iconClass = ICON_SIZE[size] return (