Staaarter

Life At The Studio

A captioned masonry photo wall built with a CSS columns layout: each photo has a bottom gradient caption overlay, preceded by a short intro paragraph and followed by a 'See open roles' call-to-action button.

By Staaarter Team
Careers
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its media-slot, button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/life-at-the-studio.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/careers/careers45.tsx instead.

Usage

The file also exports careers45Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Careers45, careers45Demo } from "@/components/blocks/careers/careers45";

export default function Page() {
  return <Careers45 {...careers45Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"Life At The Studio"Small label above the heading.
headingstring"A day in the studio"Section heading.
descriptionstringnoneIntro paragraph above the photo wall.
photosStudioPhoto[]noneCaptioned photos rendered in the masonry wall.
ctaLabelstring"See open roles"Label for the closing CTA button.
ctaHrefstring"#"Href for the closing CTA button.
classNamestringnoneExtra classes for the outer section element.

Types

type StudioPhoto = {
  image: { src: string; alt: string };
  caption: string;
  aspect: "square" | "portrait" | "wide";
};

Behavior notes

  • Fully static: the photo wall renders fixed demo data, there is no lightbox or click interaction.
  • The masonry effect is CSS columns (`columns-2 sm:columns-3` with `break-inside-avoid`), not a JS masonry library, so photo order flows top-to-bottom within each column.
  • The 'See open roles' button is a link (`render={<Link href="#" />}`) with a placeholder href, nothing is submitted anywhere.