Fitness Overview

A health dashboard with a top navigation bar (no sidebar): three activity-ring radial gauges, a steps area chart and a heart-rate line chart, and a recent-workouts list. A Today/Week/Month segmented control live-swaps the chart data and totals.

PRO

Dashboard11: Fitness Overview

A fitness and health-tracking dashboard with three activity-ring radial gauges, a steps area chart, a heart-rate line chart, and a recent-workouts list under a top navigation bar. A Today/Week/Month range switch live-swaps the chart data and step totals, giving you a ready-made health tracking UI to drop into any project. Built as a Next.js / React fitness dashboard template on shadcn/ui + Recharts.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/dashboard11?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/dashboard11?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/dashboard11.tsx, the Beste chart and menu components it composes (area-chart, line-chart, radial-chart, user-menu, notifications-menu), and the shadcn/ui dependencies they need, including tabs.

Quick start

The installed file exports dashboard11Demo alongside the block: the exact props behind the preview above. Spread it to get the full dashboard in one line. The block fills the viewport height (h-screen), so render it as the whole page.

tsx
import { Dashboard11, dashboard11Demo } from "@/components/beste/block/dashboard11";

export default function Page() {
  return <Dashboard11 {...dashboard11Demo} />;
}

Then pass your own props:

tsx
import { Dashboard11 } from "@/components/beste/block/dashboard11";

export default function Page() {
  return <Dashboard11 brandName="Vitals" />;
}

Props

Every prop is optional. Omit any and the block falls back to its built-in demo data, so <Dashboard11 /> renders a complete, populated fitness dashboard out of the box. Pass just the props you want to override.

PropTypeDefaultDescription
brandNamestring"Vitals"Wordmark next to the heart logo in the top navigation bar
headingstring"Good evening, Remy"Page heading above the rings
descriptionstring"Here's your week at a glance."Muted line under the heading
userDashboardUserdemo userIdentity shown in the topbar account menu
navstring[]demo linksTop-nav section labels; the first is active by default
userItemsUserMenuItem[]demo itemsRows in the account dropdown menu
notificationsNotificationItem[]demo itemsEntries in the notifications popover
ringsRing[]demo ringsThe three activity-ring radial gauges
stepsDataStepsDatademo seriesSteps AreaChart data, keyed by range
heartDataHeartPoint[]demo seriesHeart rate line chart series
workoutsWorkout[]demo rowsRows of the Recent workouts list
totalBurnedstring"1,035 kcal"Total burned summary value under the workouts list
activeTimestring"1h 45m"Active time summary value under the workouts list
restingRatestring"Resting 58 bpm"Muted label in the Heart rate card header

The block-local data types:

ts
type DashboardUser = {
  name: string;
  email: string;
  avatar: string; // image URL, rendered with a plain <img>
};

type Ring = {
  label: string;
  value: number; // 0–100 percentage the gauge fills to
  detail: string; // caption, e.g. "624 of 800 kcal"
  color: string; // theme token, e.g. "var(--chart-1)"
};

type StepPoint = { t: string; steps: number };
// keyed by the "Today" | "Week" | "Month" range tabs
type StepsData = Record<"Today" | "Week" | "Month", StepPoint[]>;

type HeartPoint = { t: string; resting: number; active: number };

type Workout = {
  name: string;
  meta: string; // e.g. "5.2 km · 26 min"
  kcal: string; // e.g. "412 kcal"
  icon: LucideIcon; // Lucide component, e.g. Footprints
};

The remaining props reuse the interfaces exported by the composed Beste components:

ts
// from user-menu
type UserMenuItem = {
  id: string;
  label: string;
  icon?: LucideIcon;
  destructive?: boolean; // red row with a separator above it
};

// from notifications-menu
type NotificationItem = {
  id: string;
  title: string;
  description?: string;
  time: string;
  icon?: LucideIcon;
  unread?: boolean;
};

Still internal

A few cosmetic bits stay as constants in the installed file — edit them in place:

Components

Installed alongside the block and composed inside it, each browsable on its own:

Behavior notes

Requirements

More Dashboard blocks

View all Dashboard
PRO

dashboard8

Finance Overview

A personal-finance dashboard: sidebar + search topbar, a dark total-balance hero with account tiles, a budget radial gauge, income/expense/savings KPIs, a cashflow bar chart, a spending-mix donut, and a colored transactions table.

PRO

dashboard3

Commerce Analytics

An e-commerce analytics dashboard: sidebar + search topbar, a four-up KPI row with period deltas, a net-profit area chart, a repeat-rate radial gauge, a busiest-weekday bar chart, and a best-selling products data table.

PRO

dashboard4

Project Workspace

A project-management dashboard: sidebar + search topbar, a four-up project stats row with one highlighted card, a weekly project-analytics bar chart, a reminder card with a start-meeting action, a team-collaboration list, a project-progress radial gauge, and a focus time-tracker card.

PRO

dashboard7

Traffic Analytics

A web-analytics console: sidebar + search topbar, a live realtime strip, an hourly sessions area chart, a daily-goal radial gauge, a channel-audience radar chart, a new-vs-returning line chart, and a sortable top-pages table.

PRO

dashboard12

Service Monitoring

An observability console with an icon rail and a live status ribbon: a service-health grid with status dots and latency/uptime, a latency line chart, a request-volume area chart, a 30-day uptime bar strip, and a recent-events feed. A 1h/24h/7d tab control live-swaps the chart data.

PRO

dashboard9

Sales Pipeline

A sales-CRM dashboard: sidebar + search topbar, pipeline KPIs, a four-stage kanban board of deal cards with owners and hot-lead flags, a revenue-vs-forecast area chart, a team-quota radial gauge, and a rep leaderboard with progress bars.