Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Submission Wall Gallery Block for React

A framed wall of a camera club's six newest entries under Latest and Featured tabs, beside a real form with a handle, a caption and a file drop zone that puts your entry first as pending review for this visit, never posting anything.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A submission wall for React with Base UI, for Lensmoor, a camera club. A split behind a divider: at the start a framed wall, with + marks on its corners, of the club's newest six entries on shared hairlines under Latest and Featured tabs, each a drawn picture with the member's initials and handle, a line of caption and a "Featured" badge on some; at the end a real form with a handle, a line about the picture and the catalog file drop zone. Submitting checks the fields (an empty submit says what is missing and focuses the first problem), then puts your entry first on the wall as "Pending review" for this visit, switches to Latest and says so in a polite line. The picture you pick is never opened or sent: the block draws a stand-in from its name. Nothing is posted or saved, and there are no moderation tools; "Remove mine" takes your entries back off the wall. On a phone the wall comes first with its four newest entries, and the form follows. The pictures are drawn, not photographed, in your theme's greys. It's built from Tabs, FileUpload, Field, Input, Badge, ShineButton and Guides. The club, members and captions are made up for the example.

FAQ

How do I connect it to a real upload?

The block keeps the picked file's name and size in state and never reads it. In submit, send handle, caption and the file to your endpoint, add the entry the server returns to entries, and replace the drawn stand-in (sceneOf) with an <img> of the stored picture. Keep the "Pending review" badge for entries that have not been approved yet, and drop "Remove mine" if you do not want visitors to withdraw entries.

Why does the wall always show six?

So it keeps one height. Latest shows the newest six, so a new entry pushes the oldest off; Featured shows the featured ones and fills the rest with empty cells of the same size. Switching tabs, or adding an entry, never makes the page taller or shorter, and a polite line under the wall says how many are shown.

What does the form check?

The handle must be 2 to 20 letters, numbers, dots or underscores (a leading @ is optional), the line must have at least three characters (up to 80), and a picture must be chosen (images only, up to 10 MB). Each problem is written under its field, in text with an icon rather than colour alone, and the first field with a problem takes focus. Typing clears that field's message.

How does it work with a keyboard?

Tab goes through the fields, the drop zone (Enter or Space opens the file chooser; a picture can also be dropped on it), Remove picture, Add to the wall and Remove mine, then the tabs and the wall. Remove picture and Remove mine stay in the tab order when there is nothing to remove, and do nothing, so focus is never lost. Pressing Remove picture moves focus back to the drop zone.

How does it fit on a phone?

The wall comes first, two across, with the four newest entries so that the pictures are on screen at once; the form follows under it, with the same fields at full width.

Is the club real?

No. The club, the members, the handles and the captions are invented for the example, so replace them with your own.

  • Pro

    A file drop zone that lists every file you pick or drop (name and size, never opened) beside a queue of four seeded files in their states, with Retry, Remove and a Send button.

  • Pro

    Media Library Gallery

    Filter, sort and tabs

    A media manager drawn as a window in a hairline frame: tabs that filter by type, a search field, a List or Grid switch, twelve files with size and upload date, and an Empty state.

  • Pro

    Eight drawn design proposals on shared hairlines, each with a status badge and an Approve or Request changes choice that can be cleared, and a running tally with a progress bar.

  • Pro

    Street Map Contact

    Contact forms

    A contact section for a print shop: a form with a team select beside a framed street-map drawing with a dashed walking route from the station, and the address and hours under it.

  • Pro

    A drawing-sharing profile: an avatar, a bio, posts, followers and following, a Follow toggle that adds one, and Posts, Reels and Saved tabs over a three-column square grid that opens one viewer.

  • Pro

    Masonry Testimonials

    Walls and lanes

    A masonry wall of twelve notes from runners in CSS columns inside a framed figure: cards of every length stack tight, from one column on a phone to four on a wide screen.