4 min readUpdated Mar 2, 2026

NotificationsModal Component Documentation

Purpose

The NotificationsModal component is a part of the Vantage analytics and data platform that displays grouped notifications to users. It provides a user-friendly interface for managing notifications including filtering, marking as read, and dismissal of notifications. This modal is triggered from the homepage notification tile and serves to enhance user engagement with important updates, performance alerts, and actionable items.

How It Works

Settings

The NotificationsModal component does not expose customizable settings directly through props. However, the following functionality can be observed within the code:

State Management Interaction

Notification Store Interactions

Filters

Use Cases & Examples

Use Cases

  1. Task Management: Users can track important tasks assigned to them via notifications related to task assignments. Each notification can provide context on new assignments or updates.

  2. System Monitoring: Operators using the Vantage platform can receive notifications for critical system alerts, such as workflow failures, allowing for timely responses to prevent downtime.

  3. Billing Awareness: Users can receive notifications related to billing, ensuring they are aware of any charges or payment issues, thereby improving financial tracking.

Example Configuration

To provide a practical use case, let’s consider the scenario of a user wanting to manage their task assignments effectively.

Configuration for Task Assignment Notifications:

javascript
const exampleNotifications = [
    {
        id: 1,
        title: "New Task Assigned",
        type: "task_assignment",
        message: "You have been assigned to review the Q1 budget proposal.",
        severity: "normal",
        status: "unread",
        created: new Date().toISOString(),
    },
    {
        id: 2,
        title: "Workflow Failure",
        type: "workflow_failure",
        message: "The export process for Q2 data failed. Please investigate.",
        severity: "critical",
        status: "unread",
        created: new Date(Date.now() - 1000 * 60 * 10).toISOString(), // 10 minutes ago
    }
];

const notificationsStore = {
    notifications: exampleNotifications,
    unreadCount: exampleNotifications.filter(n => n.status === 'unread').length,
    isLoading: false,
    fetchNotifications: () => {/* Logic to fetch notifications */},
    markAs: (ids, status) => { /* Logic to mark notifications */},
    markAllAsRead: () => {/* Logic to mark all notifications as read */}
};

// Opening the NotificationsModal would display the above notifications to the user, allowing them to filter and manage these effectively.

In this example configuration, the notifications modal is populated with relevant notifications for task assignments and critical alerts, showcasing the versatility of the NotificationsModal component in a real-world scenario.