feat: always show unified mailbox in Pro shell
This commit is contained in:
@@ -884,15 +884,17 @@ export default function Home() {
|
|||||||
// Keep unified mailbox counts in sync when the feature is enabled and more
|
// Keep unified mailbox counts in sync when the feature is enabled and more
|
||||||
// than one account is connected. Runs whenever the set of connected accounts
|
// than one account is connected. Runs whenever the set of connected accounts
|
||||||
// or the primary account's mailboxes change (a proxy for "something worth
|
// or the primary account's mailboxes change (a proxy for "something worth
|
||||||
// recounting happened").
|
// recounting happened"). The Pro shell always renders the unified mailbox
|
||||||
|
// regardless of the user setting, so refresh when embedded too.
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!enableUnifiedMailbox || !isAuthenticated || !client) return;
|
if (!enableUnifiedMailbox && !isEmbedded) return;
|
||||||
|
if (!isAuthenticated || !client) return;
|
||||||
const built = buildUnifiedAccounts();
|
const built = buildUnifiedAccounts();
|
||||||
if (built.length < 2) return;
|
if (built.length < 2) return;
|
||||||
populateUnifiedAccountMailboxes(built).then((populated) => {
|
populateUnifiedAccountMailboxes(built).then((populated) => {
|
||||||
refreshUnifiedCounts(populated);
|
refreshUnifiedCounts(populated);
|
||||||
});
|
});
|
||||||
}, [enableUnifiedMailbox, isAuthenticated, client, mailboxes, connectedAccountsSignature, buildUnifiedAccounts, populateUnifiedAccountMailboxes, refreshUnifiedCounts]);
|
}, [enableUnifiedMailbox, isEmbedded, isAuthenticated, client, mailboxes, connectedAccountsSignature, buildUnifiedAccounts, populateUnifiedAccountMailboxes, refreshUnifiedCounts]);
|
||||||
|
|
||||||
// System-notification click handler. The push SW navigates the user back
|
// System-notification click handler. The push SW navigates the user back
|
||||||
// here with `?email=<id>` (specific email it built the toast from) or
|
// here with `?email=<id>` (specific email it built the toast from) or
|
||||||
|
|||||||
@@ -736,7 +736,11 @@ export function Sidebar({
|
|||||||
const tagCounts = useEmailStore(s => s.tagCounts);
|
const tagCounts = useEmailStore(s => s.tagCounts);
|
||||||
const accounts = useAccountStore(s => s.accounts);
|
const accounts = useAccountStore(s => s.accounts);
|
||||||
const connectedAccounts = accounts.filter(a => a.isConnected);
|
const connectedAccounts = accounts.filter(a => a.isConnected);
|
||||||
const showUnified = enableUnifiedMailbox && connectedAccounts.length > 1;
|
// Pro shell treats the unified mailbox as a core part of the multi-account
|
||||||
|
// UI, so it ignores the user-facing `enableUnifiedMailbox` toggle. The
|
||||||
|
// 2+ account requirement still applies — with a single account the
|
||||||
|
// unified counts would just duplicate that account's inbox.
|
||||||
|
const showUnified = (multiAccountMode || enableUnifiedMailbox) && connectedAccounts.length > 1;
|
||||||
const { unifiedCounts } = useEmailStore();
|
const { unifiedCounts } = useEmailStore();
|
||||||
const t = useTranslations('sidebar');
|
const t = useTranslations('sidebar');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user