'use client'; import { useAddSourceForm } from './hooks/useAddSourceForm'; import { ModalBackdrop } from '@/components/ui/ModalBackdrop'; import { ModalHeader } from '@/components/ui/ModalHeader'; import type { VideoSource } from '@/lib/types'; interface AddSourceModalProps { isOpen: boolean; onClose: () => void; onAdd: (source: VideoSource) => void; existingIds: string[]; initialValues?: VideoSource | null; } export function AddSourceModal({ isOpen, onClose, onAdd, existingIds, initialValues }: AddSourceModalProps) { const { name, setName, url, setUrl, error, handleSubmit } = useAddSourceForm({ isOpen, existingIds, onAdd, onClose, initialValues, }); if (!isOpen) return null; return ( <> {/* Modal */}
setName(e.target.value)} placeholder="例如:新视频源" className="w-full bg-[var(--glass-bg)] backdrop-blur-md border border-[var(--glass-border)] rounded-[var(--radius-2xl)] px-4 py-3 text-[var(--text-color)] placeholder:text-[var(--text-color-secondary)] focus:outline-none focus:border-[var(--accent-color)] focus:ring-4 focus:ring-[color-mix(in_srgb,var(--accent-color)_30%,transparent)] transition-all duration-[0.4s]" />
setUrl(e.target.value)} placeholder="https://example.com/api.php/provide/vod" className="w-full bg-[var(--glass-bg)] backdrop-blur-md border border-[var(--glass-border)] rounded-[var(--radius-2xl)] px-4 py-3 text-[var(--text-color)] placeholder:text-[var(--text-color-secondary)] focus:outline-none focus:border-[var(--accent-color)] focus:ring-4 focus:ring-[color-mix(in_srgb,var(--accent-color)_30%,transparent)] transition-all duration-[0.4s]" />
{error && (
{error}
)}
); }