From b6b182a3492f0ac5e6a3006089faa3292518a0a9 Mon Sep 17 00:00:00 2001 From: Thomas Reitz Date: Fri, 13 Mar 2026 10:32:04 +0100 Subject: [PATCH] =?UTF-8?q?fix(dashboard):=20E-Mail=20Tab=20l=C3=A4dt=20so?= =?UTF-8?q?fort=20mit=20well-known=20Inbox-ID=20als=20Fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vorher: activeFolderId war null bis Ordnerliste geladen → E-Mail-Query nie gestartet Jetzt: Default-Ordner-ID = 'inbox' (Graph API Well-Known-Name) → sofortiger Abruf Zusätzlich: Fehler-/Leer-Zustand in der Ordner-Sidebar anzeigen Co-Authored-By: Claude Sonnet 4.6 --- .../frontend/src/shell/DashboardEmailTab.tsx | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/packages/frontend/src/shell/DashboardEmailTab.tsx b/packages/frontend/src/shell/DashboardEmailTab.tsx index 6e1b5e1..1b5a864 100644 --- a/packages/frontend/src/shell/DashboardEmailTab.tsx +++ b/packages/frontend/src/shell/DashboardEmailTab.tsx @@ -228,16 +228,16 @@ export function DashboardEmailTab() { const [activityTarget, setActivityTarget] = useState(null); const [lastSaved, setLastSaved] = useState(null); - const { data: foldersData, isLoading: foldersLoading } = useOffice365MailFolders(); + const { data: foldersData, isLoading: foldersLoading, isError: foldersError } = + useOffice365MailFolders(); const folders = foldersData?.data ?? []; const sortedFolders = sortFolders(folders); - // Standardmäßig Posteingang - const inboxFolder = - sortedFolders.find((f) => f.wellKnownName === 'inbox') ?? - sortedFolders[0] ?? - null; - const activeFolderId = selectedFolderId ?? inboxFolder?.id ?? null; + // Standardmäßig Posteingang — Graph API akzeptiert Well-Known-Namen direkt als ID, + // sodass E-Mails sofort geladen werden, bevor die Ordnerliste verfügbar ist. + // Sobald Ordner geladen sind, wird die echte ID aus der Liste verwendet. + const inboxFolder = sortedFolders.find((f) => f.wellKnownName === 'inbox'); + const activeFolderId = selectedFolderId ?? inboxFolder?.id ?? 'inbox'; const { data: emailsData, isLoading: emailsLoading, error: emailsError } = useOffice365MailsInFolder(activeFolderId, days); @@ -291,16 +291,30 @@ export function DashboardEmailTab() {
{/* Ordner-Baum */}