import type { ChatSession } from '../../lib/contracts'; import { conversationPreview } from '../../lib/conversations'; interface ConversationListProps { conversations: ChatSession[]; activeConversationId: string; onNewConversation: () => void; onOpenConversation: (conversationId: string) => void; onOpenConversationSettings: (conversationId: string) => void; onDeleteConversation: (conversationId: string) => void; } export function ConversationList({ conversations, activeConversationId, onNewConversation, onOpenConversation, onOpenConversationSettings, onDeleteConversation, }: ConversationListProps) { return (

Chats

Saved only in this browser

{conversations.length === 0 ? (

No saved chats

Your first prompt creates a local session automatically.

) : conversations.map((conversation) => (
))}
); } function formatConversationTime(timestamp: number): string { return new Intl.DateTimeFormat('en', { month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', }).format(new Date(timestamp)); }