shadcn.io is not affiliated with official shadcn/ui
No Feature Requests Empty State Block for React
A roadmap board's first request with a duplicate check: a drawn seedling with a dashed leaf, a title field that shows the two closest of three sample ideas with an Upvote instead button, and a list of two places for your requests.
Installation
Overview
Start a roadmap board with the first idea, and stop duplicates before they are added, with this no feature requests empty state for React with Base UI. It is the first-request page of Acorndesk, a roadmap feedback board: the page's two side rails run its full height and one band crosses the screen between two rules with a plus mark where each meets a rail. Over the heading a drawn seedling in a pot has one leaf that is only dashed, because the board has no idea yet. Under it a Field with an Input for the idea's title and a duplicate check: as you type, the two closest of three sample ideas appear in a box of one height, each with its votes and an Upvote instead button. Details go in a Textarea. The Shine Button, the only colored control, Submit request, lists your idea with 1 vote and turns the leaf solid. The frame is ruled by Guides, and everything moves with CSS only. For a feedback board, a roadmap or any app that collects ideas.
FAQ
What stays in the page, and how do I make it real?
The requests and the votes stay in the page's state: a reload clears them and Start over clears them without one. The three sample ideas and their votes are typed in the file, and Upvote instead adds one vote to a sample on this page only. To wire it for real, send the title and details to your API where the code says so, search your real ideas for the matches, and send the vote.
How does the duplicate check work?
It is not a search service. The words you type, folded to lower case and without accents, are compared in your browser with the words of three sample ideas and some of their synonyms, so "dark mode" finds the dark theme and "csv" finds the export. The two with the most shared words, then the most votes, are shown. A word still being typed counts when it starts a known word. Nothing leaves the page.
What does Upvote instead do?
It adds one vote to that sample idea, here only, and the button becomes a quiet Upvoted on the same node, so the box never changes. The status line says how many votes the idea has now. You can still submit your own request afterwards, since a similar idea is not always the same one.
What does Submit request do, and what are the limits?
It needs a title, up to 80 characters; without one it says "Add a title first" and keeps focus in the field. A request goes to the top of the list with 1 vote and your name and the page's fixed date, and the field clears. The list always shows two places, dashed until filled, so the page keeps its height; at two the form says the demo is full.
Is it usable with a keyboard and a screen reader?
Tab runs through the title, any Upvote instead buttons, the details, Submit request and Start over. A polite status line says how many similar ideas there are a moment after you stop typing, and only when that has changed, and then what each action did. The drawing and the dashed places are hidden from assistive technology.
Related
- Pro
No Feedback Empty State
Social and feedbackA feedback widget's popover shown open in place on a drawn settings page: five drawn faces from flat to curved as radio buttons, bars that are all zero, a follow-up field and a Send feedback button that grows one bar.
- Pro
No Reviews Empty State
Social and feedbackA shop's reviews page before the first review: five outlined stars on a line, a list of the last three buyers each with a Request review button, and one Ask all three button that marks them in this demo.
- Pro
No Posts Empty State
Social and feedbackA social feed's first post with a live preview: a field with a 0 / 280 counter, a card that mirrors the text as you type, a paper plane on a trail, and a feed of two places that the post lands in.
- Pro
No Threads Empty State
Inbox and chatA discussion board's first thread: three starter cards with drawn thread sketches, a title and details, one Start thread button and a list of the threads you start.
- Pro
First Project Empty State
First runA full-height first-run screen for a weekly planner: a name field and one Create project button at the start, and at the end a drawn drafting table whose blank sheet is only dashed until the project exists.
- Pro
No Followers Empty State
Social and feedbackA creator page's empty followers state: a drawn profile card ringed by three dashed circles, a handle field that builds the profile link, a Copy profile link button, and a real QR code of the same link that re-encodes as you type.