StealThis .dev
Pages Hard

Museum — Collection Catalog Manager

A registrar-facing admin tool for managing a fictional museum's permanent collection. A refined data table lists objects by accession number, title, artist, date, medium, location, and status, with live search, status and medium filters, sortable columns, and pagination. A slide-over form handles add and edit with validation, deletes go through a confirm dialog, and a bulk-select bar reassigns status across many objects at once. Summary stat cards track holdings, all driven client-side over seeded data.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Collection Catalog Manager

A back-of-house catalog tool styled like a calm curatorial workspace. A row of summary stat cards reports total objects and how many are on view, in storage, on loan, or in conservation. Below, a data table presents each object with a matted color-block thumbnail, accession number in tabular figures, a serif title, and tombstone fields — artist, date, medium, and location — alongside a color-coded status badge. Live search spans every field, while status and medium selects narrow the list, and any column header sorts ascending or descending.

The toolbar’s New object button opens a slide-over form that doubles as the edit panel. It validates the accession number format, flags duplicates, and requires a title and date before saving. Each row offers inline edit and delete actions; deletes route through a confirm dialog that names the object. Selecting rows reveals a bulk action bar that reassigns status across the whole selection in one step. Pagination keeps the table to eight rows at a time with numbered page controls and a running result count.

Everything runs in vanilla JavaScript over a seeded array of two dozen fictional works, performing full client-side create, read, update, and delete with no backend. Modals trap focus, close on Escape or backdrop click, and restore focus to their trigger, and a small toast helper confirms each action.

Illustrative UI only — demo data; not a real museum system.