Skip to content

pastetaste

Brightline Header

Navigation

Dashboard top bar for a dental practice: avatar with greeting and account menu, a pill tab switcher, a week stepper and a notifications bell. Tabs wrap to a second row on narrow screens.

Paste it into Claude Code: it installs the component, asks for your brand and content, and places it on the page you name.

Install

Or by hand, in a Next.js project with shadcn set up. It writes components/pastetaste/brightline-header.tsx.

npx shadcn@latest add https://pastetaste.com/r/brightline-header.json

Prompt

Install the pastetaste component "Brightline Header" (brightline-header) into this Next.js project and use it.

What it is: Dashboard top bar for a dental practice: avatar with greeting and account menu, a pill tab switcher, a week stepper and a notifications bell. Tabs wrap to a second row on narrow screens.

Before you place it, ask me (one short message, in my language; "skip" = sensible default): which page and section it goes in, my brand colour (hex), the text, labels or images it should show, and whether I want my logo or my own copy in the demo content. Then:

Steps:
1. If the project has no components.json, run: npx shadcn@latest init -y -d. Then run: npx shadcn@latest add https://pastetaste.com/r/brightline-header.json
   (it writes components/pastetaste/brightline-header.tsx; install any npm packages it reports).
2. Import it: import { BrightlineHeader } from "@/components/pastetaste/brightline-header" (check the file for the exact named export).
3. Put it where it fits on the page I name, keep the rest of the page untouched, and pass props for my colours instead of editing the installed file.
4. It does not depend on Tailwind; colours come from CSS variables (--pt-*) or props.
5. It supports prefers-reduced-motion with a still state; do not remove it.

Props (all optional unless the type has no default):
- name / greeting / role / email / practice: string = Dr. Maya Chen defaults — Texts of the account button and its menu: name, small greeting, role, email and practice.
- photo: string = '/p/brightline/owner.jpg' — Avatar image URL. Falls back to the initials of the name when it fails to load.
- tabs / activeTab: { label: string; href: string }[] / number = six tabs / 0 — Pill tab links and the index of the highlighted one; clicking a tab moves the highlight.
- week / minWeek / maxWeek: number = 43 / 32 / 43 — Starting week and the range of the previous and next week stepper.
- notes: { text: string; when: string; href: string }[] = four notifications — Entries listed in the bell popover; the unread dot clears once it is opened.
- paper / card / ink / muted / line / accent: string = page colours — Optional CSS colour overrides for surfaces, text, borders and the notification accent.

Live preview: https://pastetaste.com/c/brightline-header
Then run the dev server, check it in the browser at desktop and mobile width, and tell me the page URL.

Props 6

PropTypeDefaultDescription
name / greeting / role / email / practicestringDr. Maya Chen defaultsTexts of the account button and its menu: name, small greeting, role, email and practice.
photostring'/p/brightline/owner.jpg'Avatar image URL. Falls back to the initials of the name when it fails to load.
tabs / activeTab{ label: string; href: string }[] / numbersix tabs / 0Pill tab links and the index of the highlighted one; clicking a tab moves the highlight.
week / minWeek / maxWeeknumber43 / 32 / 43Starting week and the range of the previous and next week stepper.
notes{ text: string; when: string; href: string }[]four notificationsEntries listed in the bell popover; the unread dot clears once it is opened.
paper / card / ink / muted / line / accentstringpage coloursOptional CSS colour overrides for surfaces, text, borders and the notification accent.
View all →