import { useState, useEffect } from "react"; import type { FileDetail as FileDetailType } from "../../lib/api"; import { BodyRenderer } from "./BodyRenderer"; interface FileDetailProps { file: FileDetailType; loading: boolean; onBack: () => void; onSave: (id: string, name: string, description: string) => void; onDelete: (id: string) => void; onBodyElementUpdate?: (index: number, element: import("../../lib/api").BodyElement) => void; onBodyReorder?: (fromIndex: number, toIndex: number) => void; onEditingChange?: (isEditing: boolean) => void; hasPendingRemoteUpdate?: boolean; onOverwrite?: () => void; } export function FileDetail({ file, loading, onBack, onSave, onDelete, onBodyElementUpdate, onBodyReorder, onEditingChange, hasPendingRemoteUpdate, onOverwrite, }: FileDetailProps) { const [isEditing, setIsEditing] = useState(false); const [name, setName] = useState(file.name); const [description, setDescription] = useState(file.description || ""); const [transcriptExpanded, setTranscriptExpanded] = useState(false); // Update local state when file changes useEffect(() => { setName(file.name); setDescription(file.description || ""); }, [file.name, file.description]); const handleSave = () => { onSave(file.id, name, description); setIsEditing(false); }; const handleCancel = () => { setName(file.name); setDescription(file.description || ""); setIsEditing(false); }; if (loading) { return (
Loading...
); } return (
{/* Header */}
{isEditing ? ( <> ) : ( <> )}
{isEditing ? (
setName(e.target.value)} className="w-full px-3 py-2 bg-[#0d1b2d] border border-[#3f6fb3] text-[#dbe7ff] font-mono text-sm focus:outline-none focus:border-[#75aafc]" placeholder="File name" />