diff --git a/src/components/conversations/sidebar-conversation-list.tsx b/src/components/conversations/sidebar-conversation-list.tsx index b4b8a92..8f32744 100644 --- a/src/components/conversations/sidebar-conversation-list.tsx +++ b/src/components/conversations/sidebar-conversation-list.tsx @@ -335,6 +335,7 @@ interface FolderGroupItemProps { folderId: number folderName: string conversations: DbConversationSummary[] + totalConversationCount: number expanded: boolean importing: boolean reordering: boolean @@ -367,6 +368,7 @@ function FolderGroupItem({ folderId, folderName, conversations, + totalConversationCount, expanded, importing, reordering, @@ -456,27 +458,40 @@ function FolderGroupItem({ /> {expanded && - conversations.map((conv) => ( - + (conversations.length === 0 ? ( +
+ {totalConversationCount === 0 + ? t("emptyFolderHint") + : t("noMatchingConversations")} +
+ ) : ( + conversations.map((conv) => ( + + )) ))} @@ -619,6 +634,14 @@ export function SidebarConversationList({ return map }, [filteredConversations, sortMode]) + const folderTotalCounts = useMemo(() => { + const map = new Map() + for (const conv of conversations) { + map.set(conv.folder_id, (map.get(conv.folder_id) ?? 0) + 1) + } + return map + }, [conversations]) + const orderedFolderIds = useMemo(() => { const folderIdSet = new Set(folders.map((f) => f.id)) // During drag we honour the optimistic order so sibling folders shift live @@ -1036,6 +1059,9 @@ export function SidebarConversationList({ folderId={folderId} folderName={folderName} conversations={convsWithKey} + totalConversationCount={ + folderTotalCounts.get(folderId) ?? 0 + } expanded={expanded} importing={importing} reordering={reordering}