feat: add support for marking emails as answered or forwarded and update UI accordingly

This commit is contained in:
Linus Rath
2026-03-23 15:45:37 +01:00
parent 0c1f182b6b
commit f7ee204262
11 changed files with 142 additions and 5 deletions
+8
View File
@@ -38,6 +38,8 @@ export function groupEmailsByThread(emails: Email[]): ThreadGroup[] {
const hasUnread = sortedEmails.some(e => !e.keywords?.$seen);
const hasStarred = sortedEmails.some(e => e.keywords?.$flagged);
const hasAttachment = sortedEmails.some(e => e.hasAttachment);
const hasAnswered = sortedEmails.some(e => e.keywords?.$answered);
const hasForwarded = sortedEmails.some(e => e.keywords?.$forwarded);
threadGroups.push({
threadId,
@@ -47,6 +49,8 @@ export function groupEmailsByThread(emails: Email[]): ThreadGroup[] {
hasUnread,
hasStarred,
hasAttachment,
hasAnswered,
hasForwarded,
emailCount: sortedEmails.length,
});
}
@@ -123,6 +127,8 @@ export function mergeThreadEmails(
const hasUnread = mergedEmails.some(e => !e.keywords?.$seen);
const hasStarred = mergedEmails.some(e => e.keywords?.$flagged);
const hasAttachment = mergedEmails.some(e => e.hasAttachment);
const hasAnswered = mergedEmails.some(e => e.keywords?.$answered);
const hasForwarded = mergedEmails.some(e => e.keywords?.$forwarded);
return {
threadId: existingGroup.threadId,
@@ -132,6 +138,8 @@ export function mergeThreadEmails(
hasUnread,
hasStarred,
hasAttachment,
hasAnswered,
hasForwarded,
emailCount: mergedEmails.length,
};
}