Files
upload-gltf/components/upload/DestinationPicker.tsx
T
2026-04-14 14:27:50 +02:00

39 lines
1.2 KiB
TypeScript

import { DESTINATIONS } from '@/lib/constants'
import type { Destination } from '@/lib/constants'
interface DestinationPickerProps {
destination: Destination
disabled: boolean
onChange: (value: Destination) => void
}
export default function DestinationPicker({
destination,
disabled,
onChange,
}: DestinationPickerProps) {
return (
<div className="space-y-1.5">
<label className="block text-sm font-medium text-gray-300">Destination</label>
<div className="grid grid-cols-3 gap-2">
{DESTINATIONS.map((dest) => (
<button
key={dest.value}
type="button"
onClick={() => onChange(dest.value)}
disabled={disabled}
className={`px-3 py-2 rounded-xl text-sm font-medium transition-all duration-150 border
disabled:opacity-50 disabled:cursor-not-allowed
${destination === dest.value
? 'bg-white text-[#000000] border-white'
: 'bg-black-800 text-gray-400 border-white/20 hover:border-white/40 hover:text-gray-200'
}`}
>
{dest.label}
</button>
))}
</div>
</div>
)
}