'use client' import React, {useState} from 'react'; import {Download} from 'lucide-react'; import {useTranslations} from '@/lib/i18n'; import SelectBox from '@/components/form/SelectBox'; import InputField from '@/components/form/InputField'; interface SeriesImportItem { id: string; name: string; } interface SeriesImportSelectorProps { availableItems: SeriesImportItem[]; onImport: (seriesElementId: string) => Promise; placeholder: string; label?: string; } export default function SeriesImportSelector({ availableItems, onImport, placeholder, label }: SeriesImportSelectorProps) { const t = useTranslations(); const [selectedId, setSelectedId] = useState(''); const [isImporting, setIsImporting] = useState(false); async function handleImport(): Promise { if (!selectedId || isImporting) return; setIsImporting(true); try { await onImport(selectedId); setSelectedId(''); } finally { setIsImporting(false); } } if (availableItems.length === 0) { return null; } const selectData = availableItems.map((item) => ({ label: item.name, value: item.id })); return (
{label && (

{label}

)} setSelectedId(e.target.value)} data={selectData} defaultValue={selectedId} placeholder={placeholder} /> } addButtonCallBack={handleImport} isAddButtonDisabled={!selectedId || isImporting} />
); }