feat: add option to hide total message count on folders (#498)

This commit is contained in:
Linus Rath
2026-06-28 20:31:35 +02:00
parent 1f4afe082b
commit e141abc849
4 changed files with 18 additions and 3 deletions
+3 -2
View File
@@ -184,8 +184,9 @@ function SidebarRowCounts({
isSelected: boolean;
onUnreadClick?: () => void;
}) {
const showFolderTotalCount = useSettingsStore(s => s.showFolderTotalCount);
const unreadCount = unread ?? 0;
const totalCount = total ?? 0;
const totalCount = showFolderTotalCount ? (total ?? 0) : 0;
if (unreadCount === 0 && totalCount === 0) return null;
@@ -219,7 +220,7 @@ function SidebarRowCounts({
) : null;
return (
<span className="ml-2 flex-shrink-0 flex items-baseline gap-1" title={`${unreadCount} unread / ${totalCount} total`}>
<span className="ml-2 flex-shrink-0 flex items-baseline gap-1" title={totalCount > 0 ? `${unreadCount} unread / ${totalCount} total` : `${unreadCount} unread`}>
{unreadNode}
{unreadCount > 0 && totalCount > 0 && (
<span className="text-xs text-muted-foreground/60">/</span>
+8 -1
View File
@@ -118,7 +118,7 @@ function MailLayoutPreview({
export function LayoutSettings() {
const t = useTranslations('settings.appearance');
const tEmail = useTranslations('settings.email_behavior');
const { toolbarPosition, showToolbarLabels, hideAccountSwitcher, showRailAccountList, enableUnifiedMailbox, includeGroupInUnified, enableAllMailView, allMailFolderIds, enableCrossUnreadView, enableCrossStarredView, enableCrossAllView, colorfulSidebarIcons, mailLayout, proInterface, updateSetting } = useSettingsStore();
const { toolbarPosition, showToolbarLabels, hideAccountSwitcher, showRailAccountList, enableUnifiedMailbox, includeGroupInUnified, enableAllMailView, allMailFolderIds, enableCrossUnreadView, enableCrossStarredView, enableCrossAllView, colorfulSidebarIcons, showFolderTotalCount, mailLayout, proInterface, updateSetting } = useSettingsStore();
const { isSettingLocked, isSettingHidden, isFeatureEnabled } = usePolicyStore();
const accounts = useAccountStore(s => s.accounts);
const activeAccountId = useAccountStore(s => s.activeAccountId);
@@ -217,6 +217,13 @@ export function LayoutSettings() {
/>
</SettingItem>
<SettingItem label={t('show_folder_total_count.label')} description={t('show_folder_total_count.description')}>
<ToggleSwitch
checked={showFolderTotalCount}
onChange={(checked) => updateSetting('showFolderTotalCount', checked)}
/>
</SettingItem>
{(accounts.length > 1 || hasGroupInboxes) && !isSettingHidden('enableUnifiedMailbox') && (
<SettingItem
label={t('unified_mailbox.label')}