import React from 'react'; import { formatSize } from '@/utils/storageCleaner'; import { useI18n } from '@/utils/chromeI18n'; import { cn } from '@/lib/utils'; // 引入官方的 Checkbox 原子组件 import { Checkbox } from '@/components/ui/checkbox'; interface OptionItemProps extends React.HTMLAttributes { labelKey: string; checked: boolean; size?: number; isCount?: boolean; onChange: () => void; } export default function OptionItem({ labelKey, checked, size, isCount = false, onChange, className, ...props }: OptionItemProps) { const { t } = useI18n('storageCleaner'); return (
{/* 左侧数据区域 */}
{t(labelKey)} {/* 底部容量大小或计数标识 */} {size !== undefined && size > 0 ? ( {isCount ? `${size} ${t('storageCleaner:countUnit')}` : formatSize(size)} ) : ( {t('storageCleaner:noData')} )}
e.stopPropagation()} onCheckedChange={onChange} className="h-4 w-4 shrink-0 rounded border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground" />
); }