99 lines
2.9 KiB
JavaScript
99 lines
2.9 KiB
JavaScript
export function getMailboxEmptyCopy({
|
|
mailbox,
|
|
title,
|
|
category,
|
|
isBrandNew,
|
|
hasFilters,
|
|
hasSearch,
|
|
lens,
|
|
}) {
|
|
if (hasSearch) {
|
|
return {
|
|
heading: "No emails found",
|
|
description: "Try changing your search or filters.",
|
|
primaryCta: null,
|
|
secondaryCta: null,
|
|
showActiveBadge: false,
|
|
};
|
|
}
|
|
|
|
if (hasFilters || lens !== "all") {
|
|
return {
|
|
heading: "No messages here",
|
|
description: "Try another category, label, or filter.",
|
|
primaryCta: null,
|
|
secondaryCta: { label: "Refresh inbox", action: "refresh" },
|
|
showActiveBadge: false,
|
|
};
|
|
}
|
|
|
|
if (mailbox === "inbox" && category && category !== "All Mail" && category !== "Primary") {
|
|
const categoryHeadings = {
|
|
Updates: "No updates here",
|
|
Promotions: "No promotions here",
|
|
Social: "No social messages here",
|
|
Finance: "No finance emails here",
|
|
};
|
|
const categoryDescriptions = {
|
|
Updates: "Emails categorized as updates will appear here.",
|
|
Promotions: "Emails categorized as promotions will appear here.",
|
|
Social: "Emails categorized as social will appear here.",
|
|
Finance: "Emails categorized as finance will appear here.",
|
|
};
|
|
return {
|
|
heading: categoryHeadings[category] || `No ${category.toLowerCase()} here`,
|
|
description: categoryDescriptions[category] || `Emails in ${category} will appear here.`,
|
|
primaryCta: null,
|
|
secondaryCta: { label: "Refresh inbox", action: "refresh" },
|
|
showActiveBadge: false,
|
|
};
|
|
}
|
|
|
|
if (mailbox === "sent") {
|
|
return {
|
|
heading: "Nothing sent yet",
|
|
description: "Emails you send will appear here.",
|
|
primaryCta: { label: "Compose email", action: "compose" },
|
|
secondaryCta: null,
|
|
showActiveBadge: false,
|
|
};
|
|
}
|
|
|
|
if (mailbox === "trash") {
|
|
return {
|
|
heading: "Trash is empty",
|
|
description: "Deleted messages will appear here.",
|
|
primaryCta: null,
|
|
secondaryCta: { label: "Refresh", action: "refresh" },
|
|
showActiveBadge: false,
|
|
};
|
|
}
|
|
|
|
if (mailbox === "inbox" && isBrandNew) {
|
|
return {
|
|
heading: "Welcome to AGMail",
|
|
description: "Your inbox is ready. New conversations will appear here.",
|
|
primaryCta: { label: "Compose your first email", action: "compose" },
|
|
secondaryCta: null,
|
|
showActiveBadge: true,
|
|
};
|
|
}
|
|
|
|
if (mailbox === "inbox") {
|
|
return {
|
|
heading: "Your inbox is all clear",
|
|
description: "New emails will appear here when they arrive.",
|
|
primaryCta: { label: "Compose email", action: "compose" },
|
|
secondaryCta: { label: "Refresh inbox", action: "refresh" },
|
|
showActiveBadge: false,
|
|
};
|
|
}
|
|
|
|
return {
|
|
heading: `No messages in ${title.toLowerCase()}`,
|
|
description: `Messages in ${title.toLowerCase()} will appear here.`,
|
|
primaryCta: null,
|
|
secondaryCta: { label: "Refresh", action: "refresh" },
|
|
showActiveBadge: false,
|
|
};
|
|
}
|