'use client'; import { useState } from 'react'; import { Modal } from 'antd'; import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; import 'github-markdown-css/github-markdown.css'; interface Memory { id: string; type: 'text' | 'file' | 'folder'; name: string; content?: string; size: string; uploadedAt: string; isTrained?: boolean; } interface MemoryListProps { memories: Memory[]; onDelete: (id: string, name: string) => void; } export default function MemoryList({ memories, onDelete }: MemoryListProps) { const [selectedMemory, setSelectedMemory] = useState(null); const [isModalVisible, setIsModalVisible] = useState(false); const showDetails = (record: Memory) => { setSelectedMemory(record); setIsModalVisible(true); }; const getIcon = (type: string) => { switch (type) { case 'text': return ( ); case 'folder': return ( ); default: return ( ); } }; return (
{memories.map((memory) => ( ))}
Type Name Size Uploaded Actions Details
{getIcon(memory.type)}
{memory.name}
{/* {memory.content && (
{memory.content}
)} */}
{memory.size} {memory.uploadedAt}
setIsModalVisible(false)} open={isModalVisible} title={selectedMemory?.name} width={800} >
{selectedMemory?.content || ''}
); }