feat: Add bounce and complaint filter to activity feed
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
||||
Eye,
|
||||
MousePointerClick,
|
||||
Send,
|
||||
ShieldAlert,
|
||||
Workflow,
|
||||
XCircle,
|
||||
Zap,
|
||||
@@ -95,7 +96,14 @@ function getUpcomingTime(date: Date): string {
|
||||
* Check if an activity is an email activity
|
||||
*/
|
||||
function isEmailActivity(type: string): boolean {
|
||||
return ['email.sent', 'email.delivered', 'email.opened', 'email.clicked', 'email.bounced'].includes(type);
|
||||
return [
|
||||
'email.sent',
|
||||
'email.delivered',
|
||||
'email.opened',
|
||||
'email.clicked',
|
||||
'email.bounced',
|
||||
'email.complaint',
|
||||
].includes(type);
|
||||
}
|
||||
|
||||
interface ActivityItemProps {
|
||||
@@ -226,6 +234,23 @@ function getActivityConfig(activity: Activity): ActivityConfig {
|
||||
},
|
||||
};
|
||||
|
||||
case 'email.complaint':
|
||||
return {
|
||||
icon: ShieldAlert,
|
||||
color: 'text-red-600',
|
||||
bgColor: 'bg-red-100',
|
||||
title: (typeof metadata.subject === 'string' ? metadata.subject : undefined) || 'Spam complaint',
|
||||
description: metadata.campaignName
|
||||
? `Campaign: ${String(metadata.campaignName)}`
|
||||
: metadata.workflowName
|
||||
? `Workflow: ${String(metadata.workflowName)}`
|
||||
: 'Recipient marked as spam',
|
||||
badge: {
|
||||
label: 'Complaint',
|
||||
variant: 'destructive',
|
||||
},
|
||||
};
|
||||
|
||||
case 'workflow.started':
|
||||
return {
|
||||
icon: Workflow,
|
||||
|
||||
@@ -119,12 +119,14 @@ export default function ActivityPage() {
|
||||
<SelectContent>
|
||||
<SelectItem value="ALL">All Activity Types</SelectItem>
|
||||
<SelectItem value="event.triggered">Events</SelectItem>
|
||||
<SelectItem value="email.sent,email.delivered,email.opened,email.clicked,email.bounced">
|
||||
<SelectItem value="email.sent,email.delivered,email.opened,email.clicked,email.bounced,email.complaint">
|
||||
Emails
|
||||
</SelectItem>
|
||||
<SelectItem value="email.sent">Emails Sent</SelectItem>
|
||||
<SelectItem value="email.opened">Emails Opened</SelectItem>
|
||||
<SelectItem value="email.clicked">Emails Clicked</SelectItem>
|
||||
<SelectItem value="email.bounced">Emails Bounced</SelectItem>
|
||||
<SelectItem value="email.complaint">Email Complaints</SelectItem>
|
||||
<SelectItem value="workflow.started,workflow.completed">Workflows</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
|
||||
Reference in New Issue
Block a user