Skip to main content
Version: 1.0.3

Dashboard Overview Page

Dashboard Overview Page is a high-level analytics template that surfaces key KPIs, trends, and recent activity in a single view.

Features:

  • Top-level KPI cards (revenue, users, conversion, orders, etc.)
  • Key metrics grid with clear up/down trend indicators (↑/↓)
  • Latest activity / transactions list with built-in pagination
  • Date range filter that can drive KPI and metric updates
  • Primary and secondary call-to-action buttons for key flows (e.g. “Export report”, “View details”)
  • Gradient-enhanced background and cards for a modern, polished UI

Dashboard Overview

Monitor key metrics and recent activity

Revenue

$124.5k

+12.5% vs last period

Active Users

12,345

+8.2% vs last period

Conversion Rate

3.24%

-0.4% vs last period

Orders

1,892

+15.1% vs last period

Key metrics

Overview for selected period

Page Views

48.2k

+5.2%

Avg. Session

4m 32s

-2.1%

Bounce Rate

42%

-1.8%

Sign-ups

892

+12%

Support Tickets

24

0%

NPS Score

72

+3

Latest activity

Recent transactions and events

Payment received

Invoice #1024

+$1,2502 min ago

New user sign-up

john@example.com

15 min ago

Order shipped

Order #8821

$89.001 hour ago

Support ticket closed

#4421

2 hours ago

Subscription renewed

Premium plan

$29/mo3 hours ago

Installation

ignix add component dashboard-overview-page

Features

  • KPI cards for top-level metrics like revenue, active users, conversion, and orders
  • Key metrics grid with clear trend indicators (↑ for up, ↓ for down, neutral state)
  • Gradient-enhanced UI: background, KPI cards, and metric borders for a modern analytic look
  • Latest activity list with built-in pagination
  • Date range filter that can drive KPI and metric updates via callback
  • Composable API that lets you build your own layouts from smaller building blocks

Usage

Basic usage

import {
Dashboard,
DashboardHeader,
DashboardKPICards,
DashboardMetrics,
DashboardLastActivity,
} from "@ignix-ui/dashboard-overview-page";

export function DashboardScreen() {
return (
<Dashboard>
<DashboardHeader
title="Dashboard Overview"
description="Monitor key metrics and recent activity"
onExportReport={() => console.log("Export report")}
onViewDetails={() => console.log("View details")}
/>
<DashboardKPICards cards={kpiCards} />
<DashboardMetrics metrics={keyMetrics} />
<DashboardLastActivity items={activityItems} pageSize={5} />
</Dashboard>
);
}

With custom data and date range callback

const kpiCards = [
{ id: "rev", label: "Revenue", value: "$89.2k", trend: "up", trendLabel: "+18% vs last month" },
{ id: "subs", label: "Subscriptions", value: "2,104", trend: "up", trendLabel: "+6% vs last month" },
{ id: "churn", label: "Churn Rate", value: "1.2%", trend: "down", trendLabel: "-0.3% vs last month" },
{ id: "mrr", label: "MRR", value: "$45.1k", trend: "up", trendLabel: "+9% vs last month" },
];

export function DashboardScreen() {
const [range, setRange] = useState<DashboardDateRange | undefined>();

return (
<Dashboard>
<DashboardHeader
title="Dashboard Overview"
description="Monitor key metrics and recent activity"
dateRange={range}
onDateRangeChange={setRange}
onExportReport={() => console.log("Export report for range", range)}
/>
<DashboardKPICards cards={kpiCards} />
<DashboardMetrics metrics={keyMetrics} />
<DashboardLastActivity items={activityItems} pageSize={5} />
</Dashboard>
);
}

Gradient theme container

<Dashboard className="bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950">
{/* ...header, KPICards, metrics, last activity */}
</Dashboard>;

Props

Dashboard

PropTypeDefaultDescription
childrenReactNoderequiredComposed sections (header, KPI cards, metrics, activity).
classNamestring-Optional root container class (e.g. for themes/spacing).

DashboardHeader

PropTypeDefaultDescription
titlestring"Dashboard Overview"Main heading text.
descriptionstring"Monitor key metrics and recent activity"Short subheading under the title.
dateRangeDashboardDateRangeundefinedControlled date range value (start/end).
onDateRangeChange(range: DashboardDateRange) => voidundefinedCalled when the user selects a new date range.
exportLabelstring"Export Report"Label for the primary CTA button.
onExportReport() => voidundefinedCalled when the primary CTA is clicked.
viewDetailsLabelstring"View Details"Label for the secondary CTA button.
onViewDetails() => voidundefinedCalled when the secondary CTA is clicked.
actionsReactNodeundefinedCustom actions node (replaces default buttons when provided).
classNamestring-Optional wrapper class for the header row.

DashboardKPICards

PropTypeDefaultDescription
cardsKPICard[][]Array of KPI card definitions to render in the row.
classNamestring-Optional wrapper class for the KPI cards section.

DashboardMetrics

PropTypeDefaultDescription
metricsKeyMetric[][]Metrics to render in the quick stats grid.
titlestring"Key metrics"Section title.
descriptionstring"Overview for selected period"Section description.
classNamestring-Optional wrapper class for the metrics section.

DashboardLastActivity

PropTypeDefaultDescription
itemsActivityItem[][]Activity / transactions to display (paginated).
pageSizenumber5Items per page.
titlestring"Latest activity"Section title.
descriptionstring"Recent transactions and events"Section description.
emptyMessagestring"No activity in this period."Message shown when there are no items.
classNamestring-Optional wrapper class for the activity section.

Data types

TypeShapeDescription
KPICard{ id, label, value, rawValue?, trend, trendLabel }KPI card config (revenue, users, conversion…).
KeyMetric{ id, label, value, trend, trendValue }Quick stat metric with trend indicator.
ActivityItem{ id, title, subtitle?, timestamp, status?, amount? }Latest activity / transaction item.
DashboardDateRange{ start: Date | null; end: Date | null }Selected date range for filtering.

Notes

  • The dashboard is designed to be a starting point for analytic pages — you can add additional sections like charts, tables, and filters around or between the existing sections.
  • Trend indicators are intentionally simple (↑ / ↓ / neutral) to keep the UI readable at a glance.
  • The composable primitives (Dashboard, DashboardHeader, DashboardKPICards, DashboardMetrics, DashboardLastActivity) give you full control over layout and data. You can mirror the Storybook examples or build your own custom dashboard layout on top.