import { useState, useEffect, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Modal } from '@/components/ui/Modal'; interface PathEditDialogProps { open: boolean; title: string; initialValue: string; onConfirm: (value: string) => void; onCancel: () => void; } export function PathEditDialog({ open, title, initialValue, onConfirm, onCancel, }: PathEditDialogProps) { const { t } = useTranslation(); const [value, setValue] = useState(initialValue); const prevOpen = useRef(open); useEffect(() => { if (open && !prevOpen.current) setValue(initialValue); prevOpen.current = open; }, [open, initialValue]); return (

{title}

setValue(e.target.value)} onKeyDown={(e) => { if (e.key === 'Enter') onConfirm(value); }} className="w-full min-w-[400px] px-3 py-2 rounded border text-sm outline-none" style={{ backgroundColor: 'var(--app-list-bg)', color: 'var(--app-fg)', borderColor: 'var(--app-border)', }} />
); }