Dashboard
Switchback, a deploy platform console: live overview, filterable projects and tabbed team settings.
3 pages, 25 components, 38 files.
Pages
Installation
npx shadcn@latest add https://neonkit.heyaadi.com/r/dashboard.jsonWrites the pages to app/dashboard, their sections to components/templates/dashboard and adds the 25 NeonKit components it's built from. Then open /dashboard in your app.
Built from Avatar, Badge, Breadcrumb, Button, Command, Dialog, Dropdown Menu, Field, Glow Chart, Heartbeat, Hold Button, Icons, Input, Kbd, Meter, Popover, Progress, Select, Sheet, Sidebar, Switch, Table, Tabs, Toast and Toggle Group.
Make it yours
components/templates/dashboard/config.ts
import type { NeonColor } from "@/lib/neon";
/** Where the template is mounted in your app. Every link between its pages starts here. */
export const basePath = "/dashboard";
/** The template's color. Change it here and every part of it follows. */
export const color: NeonColor = "cyan";
export const brand = "Switchback";
export const tagline = "Deploys, regions and rollbacks for the whole team, in one console.";
/** The signed-in team and person. Swap these for your session. */
export const team = { name: "Marlow", slug: "marlow", plan: "Pro" };
export const viewer = { name: "Rhea Castellanos", email: "rhea@marlow.dev" };
export const nav = [
{ href: "", label: "Overview", keys: "G O" },
{ href: "/projects", label: "Projects", keys: "G P" },
{ href: "/settings", label: "Settings", keys: "G S" },
] as const;Change color and the whole template re-tints. To serve it somewhere else, move app/dashboard and update basePath; every link between its pages starts there.
What lands in your repo
38 files, all of them yours to edit.
- app/dashboard/layout.tsx
- app/dashboard/opengraph-image.tsx
- app/dashboard/page.tsx
- app/dashboard/projects/page.tsx
- app/dashboard/settings/page.tsx
- components/templates/dashboard/config.ts
- components/templates/dashboard/data.ts
- components/templates/dashboard/fonts.ts
- components/templates/dashboard/overview/deployments.tsx
- components/templates/dashboard/overview/live-clock.tsx
- components/templates/dashboard/overview/overview.tsx
- components/templates/dashboard/overview/regions.tsx
- components/templates/dashboard/overview/traffic.tsx
- components/templates/dashboard/parts/format.ts
- components/templates/dashboard/parts/logo.tsx
- components/templates/dashboard/parts/page-header.tsx
- components/templates/dashboard/parts/search-params.tsx
- components/templates/dashboard/parts/status-badge.tsx
- components/templates/dashboard/projects/new-project-dialog.tsx
- components/templates/dashboard/projects/projects.tsx
- components/templates/dashboard/projects/row-actions.tsx
- components/templates/dashboard/settings/billing.tsx
- components/templates/dashboard/settings/danger.tsx
- components/templates/dashboard/settings/general.tsx
- components/templates/dashboard/settings/members.tsx
- components/templates/dashboard/settings/model.ts
- components/templates/dashboard/settings/notifications.tsx
- components/templates/dashboard/settings/save-bar.tsx
- components/templates/dashboard/settings/section.tsx
- components/templates/dashboard/settings/settings.tsx
- components/templates/dashboard/shell/account-menu.tsx
- components/templates/dashboard/shell/app-sidebar.tsx
- components/templates/dashboard/shell/command-palette.tsx
- components/templates/dashboard/shell/mobile-nav.tsx
- components/templates/dashboard/shell/nav-items.tsx
- components/templates/dashboard/shell/notifications.tsx
- components/templates/dashboard/shell/shell.tsx
- components/templates/dashboard/shell/top-bar.tsx