shadcn.io is not affiliated with official shadcn/ui
Log Viewer Pinned Notes CRUD Block for Radix UI
A thirty-line log with counted level chips where any line can be pinned with a note in a popover, a Pinned notes list beside it with in-place editing and a jump to the line, and Unpin with Undo.
Installation
Overview
Let a team annotate a log instead of pasting lines into chat, with this log viewer for React with Radix UI. Thirty lines (time, level word and glyph, message in mono) sit in a held, scrolling frame under level chips that count and filter them (Toggle Group). Pin on any line opens a Popover with a Textarea note; saving pins the line, tints it and lists the note at the end under Pinned notes. A note edits where it sits (Editable), its Line button scrolls the log to that line (turning the level back on if a chip hid it), and Unpin leaves "Unpinned line 14." with Undo. Pin line is the one Shine Button. The log follows the theme; it is not a terminal. For incident reviews, support hand-offs and any list worth annotating.
FAQ
How do I show my own log?
Edit SAMPLE: one string per line, time|level|message, with the levels debug, info, warn and error. Line numbers, the chip counts and "26 of 30 lines" are derived. Notes are { line, text } objects in START_NOTES.
How does pinning work?
Pin opens a popover with a note field. An empty note, or one over 120 characters, is refused with its reason under the field. Saving pins the line, tints it and adds the note to the list sorted by line. On a pinned line the same button edits the note and offers Unpin line.
What does the Line button do?
It scrolls the log region, never the page, so the line sits near the top, and gives that line focus. If a level chip had hidden it, the level is switched back on first and the polite line says so.
What can I undo?
The last change to the notes: a pin, a note edit or an unpin. Undo restores the list and puts focus back on the line's pin or the note's button.