KQ-919 · MOD/QUEUE
Mod Queue
Reported messages one at a time, with the rest of the queue named underneath and a toolbar that does not move. A verdict slides the card out on the exit ease — right for Keep, left for Hide and Time out — while the next rises from 8px on glide, so the button you pressed keeps your focus and a whole queue clears without re-finding it. The waiting count and the tallies roll their digits on snap, and the card area is a ResizeObserver-measured height that closes onto a cleared line rather than reserving room.
Reported in Coldbrook
4 messages waiting.- Rui SantosRoom rule 3
Whoever packed this Waylight Pay box could not care less about it.
Reported by 2 members. - Marta Vieira · Room rule 5
- Ines Rocha · Room rule 3
- Tomas Beira · Room rule 1
Coldbrook · 4 waiting · nothing acted on
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/mod-queue
Props
- items
- ModQueueItem[]
- default —
- The reported messages: id, author, text, reason and report count, front of the queue first.
- label
- string
- default "Reported in Coldbrook"
- The queue's heading.
- index / defaultIndex
- number
- default 0
- Controlled or initial position in the queue.
- onIndexChange
- (index: number) => void
- default —
- Fires each time the front card changes.
- onAct
- (verdict: ModVerdict, item: ModQueueItem) => void
- default —
- Fires with "keep", "hide" or "timeout" and the item it was passed on.
- onEmpty
- () => void
- default —
- Fires once when the last card leaves.
- emptyLabel
- string
- default "Queue clear. Nothing waiting."
- The cleared line.
- disabled
- boolean
- default false
- Holds the toolbar; the queue still reads.
- className
- string
- default —
- Extra classes on the panel.
| Prop | Type | Default | Description |
|---|---|---|---|
| items | ModQueueItem[] | — | The reported messages: id, author, text, reason and report count, front of the queue first. |
| label | string | "Reported in Coldbrook" | The queue's heading. |
| index / defaultIndex | number | 0 | Controlled or initial position in the queue. |
| onIndexChange | (index: number) => void | — | Fires each time the front card changes. |
| onAct | (verdict: ModVerdict, item: ModQueueItem) => void | — | Fires with "keep", "hide" or "timeout" and the item it was passed on. |
| onEmpty | () => void | — | Fires once when the last card leaves. |
| emptyLabel | string | "Queue clear. Nothing waiting." | The cleared line. |
| disabled | boolean | false | Holds the toolbar; the queue still reads. |
| className | string | — | Extra classes on the panel. |