import { useParams, useNavigate, Link } from 'react-router-dom'; import { useDocument, useDocumentAnalysis, useAnalyzeDocument } from '@/hooks/useDocuments'; import { Button } from '@/components/Button'; import { Card } from '@/components/Card'; import { ArrowLeft, FileText, Sparkles, Tag, FolderOpen, Trash2, Edit2, CheckSquare } from 'lucide-react'; import { useState, useEffect } from 'react'; export default function DocumentDetailPage() { const { id } = useParams<{ id: string }>(); const navigate = useNavigate(); const { data: document, isLoading: docLoading, error: docError } = useDocument(id || ''); const { data: analysis, isLoading: analysisLoading } = useDocumentAnalysis(id || ''); const analyzeMutation = useAnalyzeDocument(); const [isEditing, setIsEditing] = useState(false); const [editedTitle, setEditedTitle] = useState(''); const [editedContent, setEditedContent] = useState(''); useEffect(() => { if (document) { setEditedTitle(document.title || ''); setEditedContent(document.content); } }, [document]); const handleAnalyze = async () => { if (!id) return; try { await analyzeMutation.mutateAsync({ id }); } catch (err: any) { alert(err.message || 'AI 分析失败'); } }; const handleSave = () => { // TODO: 实现保存功能 setIsEditing(false); }; if (docLoading) { return (
文档不存在或无权访问
{analysis.summary}
由 {analysis.provider} ({analysis.model}) 分析
将此文档内容转换为待办任务