import ReactDOM from 'react-dom' import type { SidebarState } from './usePlacesSidebar' export function ListImportModal(S: SidebarState) { const { setListImportOpen, setListImportUrl, t, hasMultipleListImportProviders, availableListImportProviders, listImportProvider, setListImportProvider, listImportUrl, listImportLoading, handleListImport, } = S return ReactDOM.createPortal(
{ setListImportOpen(false); setListImportUrl('') }} className="bg-[rgba(0,0,0,0.4)]" style={{ position: 'fixed', inset: 0, zIndex: 99999, display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 16 }} >
e.stopPropagation()} className="bg-surface-card" style={{ borderRadius: 16, width: '100%', maxWidth: 440, padding: 24, boxShadow: '0 8px 32px rgba(0,0,0,0.2)' }} >
{t('places.importList')}
{hasMultipleListImportProviders && (
{availableListImportProviders.map(provider => ( ))}
)}
{t(listImportProvider === 'google' ? 'places.googleListHint' : 'places.naverListHint')}
setListImportUrl(e.target.value)} onKeyDown={e => { if (e.key === 'Enter' && !listImportLoading) handleListImport() }} placeholder={listImportProvider === 'google' ? 'https://maps.app.goo.gl/...' : 'https://naver.me/...'} autoFocus className="bg-surface-tertiary text-content" style={{ width: '100%', padding: '10px 14px', borderRadius: 10, border: '1px solid var(--border-primary)', fontSize: 13, outline: 'none', fontFamily: 'inherit', boxSizing: 'border-box', }} />
, document.body ) }