Skip to content

pastetaste

Kestrel Header

Navigation

Dashboard top bar for an auto shop: large page title with a grey subtitle, round dark icon buttons with unread dots, and a red New work order pill that shrinks to an icon on phones.

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/kestrel-header.tsx.

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

Prompt

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

What it is: Dashboard top bar for an auto shop: large page title with a grey subtitle, round dark icon buttons with unread dots, and a red New work order pill that shrinks to an icon on phones.

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/kestrel-header.json
   (it writes components/pastetaste/kestrel-header.tsx; install any npm packages it reports).
2. Import it: import { KestrelHeader } from "@/components/pastetaste/kestrel-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):
- brand: string = 'Kestrel Auto Works' — Shop name. Used as the accessible name and for the avatar initial on phones; the app page has no logo mark.
- title / subtitle: string / string = 'Shop floor' / status line — Large page title and the grey line below it.
- ctaLabel / ctaHref: string / string = 'New work order' / '#orders' — Label and target of the red call to action; icon only under 760px.
- unread: boolean = true — Shows unread dots on the bell and messages buttons; clicking the bell clears its dot.
- ink / muted / accent: string = page colours — Optional CSS colour overrides for text and buttons, secondary text and the accent.

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

Props 5

PropTypeDefaultDescription
brandstring'Kestrel Auto Works'Shop name. Used as the accessible name and for the avatar initial on phones; the app page has no logo mark.
title / subtitlestring / string'Shop floor' / status lineLarge page title and the grey line below it.
ctaLabel / ctaHrefstring / string'New work order' / '#orders'Label and target of the red call to action; icon only under 760px.
unreadbooleantrueShows unread dots on the bell and messages buttons; clicking the bell clears its dot.
ink / muted / accentstringpage coloursOptional CSS colour overrides for text and buttons, secondary text and the accent.
View all →