If any of this sounds familiar
Not a diagnosis, and not a list you have to fit into. Just the five sentences we hear most often in a first hour.
Five situations as ruled rows, each one a whole link: a square photograph pinned left, a serif sentence over its paragraph, and an arrow link at the right end that lifts as the row tints on hover.
Five situations as ruled rows, each one a whole link with a square photograph pinned left and an arrow link at the right end.
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.
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
npx shadcn add "https://ui.beste.co/r/usecase59?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/usecase59?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/usecase59.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.
The installed file exports usecase59Demo alongside the block: the exact props behind the preview above. Spread it to get a working linked Situation Rows in one line.
import { Usecase59, usecase59Demo } from "@/components/beste/block/usecase59";
export default function Page() {
return <Usecase59 {...usecase59Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Usecase59 } from "@/components/beste/block/usecase59";
export default function Page() {
return (
<Usecase59
eyebrow="If any of this sounds familiar"
heading="Five years that bring people here."
description="Not a diagnosis, and not a list you have to fit into."
button={ label: "Book a first hour", href: "/book" }
situations={[
{
title: "The work stopped meaning anything",
description: "It has gone quiet inside, and nobody has noticed yet.",
linkLabel: "Read this one",
href: "/situations/work",
image: { src: "/situations/work.jpg", alt: "A desk lamp left on in an empty room" },
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Small-caps line above the heading |
heading | string | – | Section heading, rendered as an h2 through Text1 |
description | string | – | Intro paragraph under the heading |
button | ActionButton | – | Pill action centred under the list |
situations | Situation[] | [] | Linked rows, in order |
className | string | – | Extra classes for the outer <section> |
type Situation = {
title: string;
description: string;
linkLabel?: string;
href: string;
image: Image;
};
type Image = { src: string; alt: string };
type ActionButton = {
label: string;
href: string;
tone?: "primary" | "light" | "dark" | "outline";
};Link laid out as a grid, so the photograph, the sentence and the arrow link all lead to the same page.size-20 square inside the grid's 5rem track, so every row keeps the same left edge whatever the image ratio.md, where the photograph sits above the title.blur(24px) on decode, with a complete check for cached files.usecase58
Six photographic tiles in a three-column grid, every one a whole link: the photograph drifts behind a gradient carrying a meta line, a serif title, a sentence of context and an arrow that lifts on hover.
usecase61
Three case studies, each card a whole link: a photograph drifting inside its frame, a serif figure with the span it covers, the story in two sentences and an attribution facing an arrow that lifts on hover.
usecase60
Two ruled directories side by side under their own small-caps headings, every row a link carrying a serif label, a line of context and an arrow that lifts as the row tints on hover.
usecase45
Three use cases as image and text rows, each numbered and carrying a story, two ruled outcome figures and its own outline pill link; pictures stay top-aligned and the side only alternates from lg, so a tablet keeps every image at the top left.