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}