shadcn.io is not affiliated with official shadcn/ui
No Bug Reports Empty State Block for React
A QA tracker's page with zero open reports: a report form (a title, a severity and the steps), an empty glass jar whose dashed beetle turns solid, four severity counters and a small table that grows with each report.
Installation
Overview
Turn "zero open" into the start of a report, with this no bug reports empty state for React with Base UI. The page is Weevilry, a QA tracker: the rails of the page and one band across it are split in two. At the start the heading, one sentence and a short form, a Field for the title, a Toggle Group for the severity (Critical, High, Medium or Low) and a Textarea for the steps to reproduce, then the Shine Button, the only colored control, Submit report. At the end an empty glass jar stands where a product's mark would, with a beetle that is only dashed while nothing is reported, over four counters (Critical, High, Medium and Low, all 0) and a small table. Submitting adds a row, raises the counter for its severity and fills the jar with a solid beetle. The frame is ruled by Guides, the jar is one SVG whose classes change, and everything moves with CSS only. For the empty state of any issue tracker, QA board or bug inbox.
FAQ
What stays in the page, and how do I make it real?
The reports live in the page's state: a reload empties them, and Start over empties them without one. Nothing is sent, and the status line says so ("Nothing was sent."). To wire it for real, post the title, severity and steps to your tracker where the code says so, add the row from the response, and compute the four counters from your own list.
What does the form check?
Only the title is required. An empty one says "Give the report a title." in a line under the field and keeps focus there, and the field's hint reads "Up to 60 characters." once it has text. The severity is a group that always keeps one choice (Medium to start) and the steps are optional, up to 200 characters. After a report is added the form is empty again and focus goes back to the title for the next one.
What does the jar do?
It is hidden from assistive technology; the counters and the table say the same in text. The beetle in it is dashed while there are no reports and turns solid with the first, and a second and a third small beetle join it as reports three, so the jar fills as the table does. The demo lists three reports; the fourth press says so and moves focus to Start over.
How are the counters and the table made?
Each counter is the number of reports with that severity, counted from the same list the table shows, so they can never disagree. The table is a native one with a caption, column headers and the report's title as the row header; the filed date is a typed day shown in a time element and drops out on a phone.
Related
- Pro
No Feature Requests Empty State
Social and feedbackA 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.
- 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 Tickets Empty State
Projects and tasksA support desk's empty queue in a fixed-height window: a rail with Queue and Solved, a drawn conveyor of four dashed stations, and a Create ticket dialog whose tickets move one stage at a time along the lane.
- Pro
Reproduction Steps Report Contact
Support and feedbackA bug report on two overshoot cells: a severity segment, steps to reproduce you add and remove (up to six), expected and actual notes, one optional attachment, and a panel that ticks off what the report still needs.
- Pro
No Incidents Empty State
MonitoringAn incident tracker's quiet log: a calendar of 13 weeks of 7 quiet dots, a 30, 60 or 90 day range that re-slices the grid and the line 0 incidents in 60 days, and a Run a drill button that marks one day with a tooltip.
- Pro
No Projects Empty State
Projects and tasksA projects table with nothing in it yet: a dashed, editable first row where you type a name and press Enter, three drawn ghost rows fading into the card, and a message band with one Create project button.