shadcn.io is not affiliated with official shadcn/ui
Bug Tracker Todo List Block for React
A bug list filtered by severity with counts, rows that open to numbered reproduction steps, the affected part and the reporter, and a four-step status advanced by one button.
Installation
Overview
Keep a small team's bugs in one place, with this bug tracker block for React with Base UI. A Toggle Group filters the list by All, Critical, Major or Minor with a live count on each; on a phone it becomes a Native Select. Each bug is a Collapsible row with its title, id, affected part, a severity word with a signal glyph and its status. Opening a row shows the numbered steps to reproduce, the reporter's initials in an Avatar and a four-step status drawn as dots and named in words: Open, In progress, Fixed, Verified. One outline Button names the next state, "Advance to Fixed", and moves the bug there; a verified bug offers "Reopen bug". The list region keeps its height, so opening a row scrolls inside it. Guides rule the bands. For bug lists, QA checklists and any queue where each item has a few stages.
FAQ
How is severity shown without color?
As a word with a signal glyph beside it that gets heavier with the level: three bars for Critical, two for Major and one for Minor. Nothing relies on a hue, and the filter counts are worked out from the rows.
How does the status work?
Each bug holds a number from Open to Verified. The dots are decoration; the four words are real list items and the current one carries aria-current="step". The button's label is built from the next word, and pressing it announces the new state.
Where do the reproduction steps come from?
Each bug has a steps array of plain sentences, shown as an ordered list. Keep each step to one action so someone else can follow it.
What stays local, and how do I wire it for real?
Statuses live in the page and reset on reload. Send the new status from advance to your issue tracker and update the row from its answer.