Portfolio
Works with a filter, colour reveal and a lightbox
A tattoo portfolio: a style filter as neon pills, 4:5 tiles lie black-and-white and reveal colour on hover with a neon frame, the caption slides up. Changing the filter re-renders the grid with a cascade. A click opens a lightbox: the photo, the sketch story, hours, the artist, arrows and keyboard.
React + Tailwind, shadcn-compatible: press “Copy for AI” and your Cursor or Claude Code agent installs it with the shadcn CLI.
What you can change
- styles: keys and labels; works: titles, styles, photos, artist and place, hours, story
- eyebrow, title, allLabel, closeLabel
- accent and background, tone
Built from
The install command brings these components too. The block only passes them props: their palette and behaviour stay their own.
A link for your AI agent: preview, code and instructions.
Preview

Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.club/c/portfolio-007?lang=en&theme=dark
Not sure where to paste it? Step-by-step guide
Show the full instructions
What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.
Loading…
How to use
<Portfolio007
styles={[{ key: "realism", label: "Realism" }, { key: "minimal", label: "Minimal" }]}
works={[
{ title: "Lion", style: "realism", image: "/photos/work-01.webp", meta: "Mark · shoulder", hours: "6 h", story: "Reference — a photo from a reserve." },
]}
/>A sample call. The agent installs the component itself from the registry via the “Copy for AI” link.
Settings
- Theme
tone· default: auto- Title
title· default: What comes out from under the needle- Accent
accent· default: theme colour- Background
background· default: theme colour
Used in scenarios
- Tattoo studioWorks
More in Portfolio
FAQ
- How do I add Works with a filter, colour reveal and a lightbox with Cursor or Claude Code?
- Press “Copy for AI” on this page and paste it into your agent's chat. The instruction contains the shadcn CLI install command, the dependencies and what to keep, so the agent installs this exact component instead of recreating a lookalike.
- What does Works with a filter, colour reveal and a lightbox depend on?
- No npm packages beyond React and Tailwind CSS. It also installs catalog components: button-101.
- What can I change in Works with a filter, colour reveal and a lightbox?
- Adapt: styles: keys and labels; works: titles, styles, photos, artist and place, hours, story; eyebrow, title, allLabel, closeLabel; accent and background, tone. Keep as installed: the button-101 imports from @/components/vibeui/ — do not inline their code into the block or swap in your own; the parts receive props only; the black-and-white to colour reveal on hover with a neon frame; the style filter re-rendering the grid with a cascade.
- Is Works with a filter, colour reveal and a lightbox free?
- The preview is open to everyone; the source is available with a PRO subscription.
For developers
npx shadcn@latest add https://vibeui.club/r/pro/portfolio-007.jsonThis command needs a signed link: sign in and open “Component source” below — it issues a working link valid for 30 minutes. All install options
Technical notes
A composite block: imports button-101 from @/components/vibeui/ — the install command brings them along with the block. The block owns the layout and its own text, passes the parts props only and leaves their --vibeui-<name>-* palettes alone. One file, zero npm dependencies, “use client” for the filter and the lightbox. Tiles are <button>s with the img in filter:grayscale(1) → 0 and scale 1.05 on :hover/:focus-visible, the frame an ::before with an inset accent box-shadow, the caption translateY on hover. A 2/3/4-column grid (container queries 44rem and 64rem); <ul key={filter}> remounts with a --n×45ms @keyframes. The lightbox is a <dialog> with showModal(): the photo object-fit:contain on the left, the story on the right (a 22rem column from 64rem), arrows cycle, ArrowLeft/ArrowRight on the dialog, a backdrop click closes, onClose resets the current item. Palette --vibeui-portfolio-007-*: a near-black background, light text, neon magenta #ff2bd6 as the accent, violet #8b5cff and cyan #22f3ff for captions, lime #c8ff3a for statuses; glows via text-shadow and box-shadow. The block is always dark inside (color-scheme:dark), the page background comes via background. Unbounded, Manrope and JetBrains Mono via <link precedence> from Google Fonts with system fallbacks. accent and background override colours, prefers-reduced-motion disables animations.
Tags
- tattoo
- neon
- dark
- studio
- landing
- portfolio
- gallery
- filter
- lightbox
- grayscale
- composite
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…