import React, { useState, useEffect } from 'react'; import { X, Check, Loader } from 'lucide-react'; interface ImportListModalProps { isOpen: boolean; onClose: () => void; onImport: (selectedLists: { id: string, title: string }[]) => void; provider: 'google' | 'apple' | 'outlook' | 'synology' | null; lists: { id: string, title: string }[]; isLoading: boolean; } export const ImportListModal: React.FC = ({ isOpen, onClose, onImport, provider, lists, isLoading }) => { const [selectedIds, setSelectedIds] = useState([]); // Reset selection when opening useEffect(() => { if (isOpen) { setSelectedIds([]); } }, [isOpen]); if (!isOpen) return null; const toggleSelection = (id: string) => { if (selectedIds.includes(id)) { setSelectedIds(selectedIds.filter(lid => lid !== id)); } else { setSelectedIds([...selectedIds, id]); } }; const handleSelectAll = () => { if (selectedIds.length === lists.length) { setSelectedIds([]); } else { setSelectedIds(lists.map(l => l.id)); } }; return (

Sync with {provider === 'google' ? 'Google Tasks' : provider === 'outlook' ? 'Microsoft To-Do' : 'Apple Reminders'}

{isLoading ? (
Loading lists...
) : lists.length === 0 ? (

No task lists found.

) : (
{lists.map(list => ( ))}
)}
); };