import React from 'react'; import { useSessionStore } from '@/stores/useSessionStore'; import { useDirectoryStore } from '@/stores/useDirectoryStore'; import { cn } from '@/lib/utils'; interface SidebarContextSummaryProps { className?: string; } const formatSessionTitle = (title?: string | null) => { if (!title) { return 'Untitled Session'; } const trimmed = title.trim(); return trimmed.length > 0 ? trimmed : 'Untitled Session'; }; const formatDirectoryPath = (path?: string) => { if (!path || path.length === 0) { return '/'; } return path; }; export const SidebarContextSummary: React.FC = ({ className }) => { const currentSessionId = useSessionStore((state) => state.currentSessionId); const sessions = useSessionStore((state) => state.sessions); const { currentDirectory } = useDirectoryStore(); const activeSessionTitle = React.useMemo(() => { if (!currentSessionId) { return 'No active session'; } const session = sessions.find((item) => item.id === currentSessionId); return session ? formatSessionTitle(session.title) : 'No active session'; }, [currentSessionId, sessions]); const directoryFull = React.useMemo(() => { return formatDirectoryPath(currentDirectory); }, [currentDirectory]); const directoryDisplay = React.useMemo(() => { if (!directoryFull || directoryFull === '/') { return directoryFull; } const segments = directoryFull.split('/').filter(Boolean); return segments.length ? segments[segments.length - 1] : directoryFull; }, [directoryFull]); return (
Session {activeSessionTitle} {directoryDisplay}
); };