QSLY's picture
deploy: build Hugging Face Space from source
00a912e
Raw
History Blame Contribute Delete
1.34 kB
import { Button } from '@/components/ui/button'
import { Label } from '@/components/ui/label'
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
import { RotateCcw } from 'lucide-react'
export function SettingRow({
label,
description,
onReset,
children,
}: {
label: string
description?: string
/** 传入时显示重置按钮,点击触发回调 */
onReset?: () => void
children: React.ReactNode
}) {
return (
<div className="flex items-center justify-between gap-4 py-3">
<div className="space-y-0.5">
<Label className="text-sm font-medium">{label}</Label>
{description && <p className="text-xs text-muted-foreground">{description}</p>}
</div>
<div className="flex shrink-0 items-center gap-1.5">
{onReset && (
<Tooltip delayDuration={300}>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className="h-7 w-7 text-muted-foreground hover:text-foreground"
onClick={onReset}
>
<RotateCcw className="size-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent>恢复默认</TooltipContent>
</Tooltip>
)}
{children}
</div>
</div>
)
}