178
An app frame drawn edge to edge on single hairlines, with header and footer rules running straight across, a marker that slides along the edge to the current page and a dense issue list you can walk with J and K.
akaflat app shell
Run this in any project set up for the shadcn CLI. It copies the Hairline Shell source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/hairline-shell.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { HairlineShell } from "@/components/hairline-shell";
export default function Page() {
return <HairlineShell />;
}A free React screen in the Shells collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Hairline Shell source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| workspaces | HairlineWorkspace[] | defaultWorkspaces |
| nav | HairlineNavItem[] | defaultNav |
| projects | HairlineProject[] | defaultProjects |
| issues | HairlineIssue[] | defaultIssues |
| user | { name: string; initials: string } | { name: "Ines Moreau", initials: "IM" } |
| defaultCollapsed | boolean | false |
| children | ReactNode | — |
| className | string | — |