import React from 'react';
export default function SessionList({ sessions, activeSession, onSelectSession, onNewChat, isOpen, onToggle }) {
function formatDate(ts) {
if (!ts) return '';
const date = new Date(ts * 1000);
const now = new Date();
const diffDays = Math.floor((now - date) / (1000 * 60 * 60 * 24));
if (diffDays === 0) return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
if (diffDays === 1) return 'Yesterday';
if (diffDays < 7) return date.toLocaleDateString([], { weekday: 'long' });
return date.toLocaleDateString([], { month: 'short', day: 'numeric' });
}
function getPreview(session) {
if (session.isNew) return 'New conversation';
return session.external_id;
}
return (
{/* Header */}
{isOpen && Conversations}
{/* New chat button */}
{/* Session list */}
{isOpen && sessions.map(session => {
const isActive = activeSession?.external_id === session.external_id;
return (
);
})}
{isOpen && sessions.length === 0 && (
No conversations yet
)}
);
}