Skip to main content

Alerts

Route: /alerts

This page is a read-only monitoring view for system alerts.

Data Sources

  • GET /api/v1/admin/alerts/stats
  • GET /api/v1/admin/alerts?page=1&page_size=100

KPI Cards

  • Active Alerts (active_count)
  • Total Today (total_today)
  • Acknowledged (acknowledged_count)

Alert List Details

Each alert row shows:

  • Title and body
  • Source label (device name or user email fallback)
  • Relative time label
  • Type badge
  • Severity badge
  • Status badge

Type badge mappings in UI:

  • sos_alert -> SOS
  • geofence_alert -> Geofence
  • safe_search_alert -> Safe Search
  • limit_update -> Limit Update
  • device_disconnect_alert -> Disconnect
  • Unknown types -> Other

Severity mappings:

  • critical
  • warning
  • info

Status mappings:

  • active
  • acknowledged

Unknown status values are normalized to active in the current UI.

Filter Behavior

  • Segmented filter options: All, Active, Acknowledged
  • Filter state is synced to query parameter status
    • Example: /alerts?status=active
    • Example: /alerts?status=acknowledged
  • Invalid or missing status values default to all

Behavior

  • Auto-refresh every 30 seconds for both stats and alert list
  • Skeleton loading during fetch
  • Empty states:
    • No alerts
    • No active alerts
    • No acknowledged alerts

Current Limits (Code-Accurate)

  • The page currently loads only the first 100 alerts (page=1&page_size=100)
  • Status filtering is client-side over loaded items
  • No acknowledge or resolve action is available on this page

Typical Workflow

  1. Check KPI cards for overall alert volume.
  2. Use Active filter for open incidents.
  3. Prioritize by type and severity badges.
  4. Jump to device or user investigation pages.
  5. Review timeline in audit logs when needed.