import { useState } from 'react'; import { useDocuments, useCreateDocument, useDeleteDocument } from '@/hooks/useDocuments'; import { Button } from '@/components/Button'; import { Input } from '@/components/Input'; import { Card } from '@/components/Card'; import { Plus, Trash2, Search } from 'lucide-react'; import { useSearchDocuments } from '@/hooks/useDocuments'; import type { Document } from '@/types'; export default function DocumentsPage() { const { data: documents } = useDocuments(); const createDocument = useCreateDocument(); const deleteDocument = useDeleteDocument(); const searchDocuments = useSearchDocuments(); const [showCreateForm, setShowCreateForm] = useState(false); const [searchQuery, setSearchQuery] = useState(''); const [searchResults, setSearchResults] = useState([]); const [formData, setFormData] = useState({ title: '', content: '', }); const handleCreate = async (e: React.FormEvent) => { e.preventDefault(); try { await createDocument.mutateAsync(formData); setFormData({ title: '', content: '' }); setShowCreateForm(false); } catch (err: any) { alert(err.message || '创建失败'); } }; const handleDelete = async (id: string) => { if (confirm('确定要删除这个文档吗?')) { try { await deleteDocument.mutateAsync(id); } catch (err: any) { alert(err.message || '删除失败'); } } }; const handleSearch = async (e: React.FormEvent) => { e.preventDefault(); if (!searchQuery.trim()) { setSearchResults([]); return; } try { const results = await searchDocuments.mutateAsync(searchQuery); setSearchResults(results); } catch (err: any) { alert(err.message || '搜索失败'); } }; const displayDocuments = searchResults.length > 0 ? searchResults : documents; return (

文档管理

管理您的文档资料

{/* Search */}
setSearchQuery(e.target.value)} />
{/* Create Form */} {showCreateForm && (
setFormData({ ...formData, title: e.target.value })} placeholder="文档标题" />