Forums Bug Reports Thread

ANSI gallery surfaces are visibly unpolished vs sibling photo/file surfaces

Patrick Bass · Jun 6 · 17 · 1 Locked
[Minor] [Normal Priority] [Bug Fixed] [Always Reproduces]
🚀 OP Jun 6, 2026 9:48pm

Area: Files/photos (re-run) (audit p5r) · Surface: /gallery, /gallery/{id}, /gallery/upload (AnsiGalleryController → ansi/index.php, show.php, upload.php) · Dimension: law1-polish · Severity: minor

Engineering Law 1 (genuinely kick-ass, not 'good enough'). The ANSI gallery is markedly rougher than every adjacent surface in this area: no hero, no stat strip, no card thumbnails/preview, no dropzone on upload, inline styles instead of a dedicated component class set, and no empty-state graphic on par with pg-empty-state. It reads as an unfinished first pass next to the photos and file-exchange UIs.

Evidence

platform/templates/ansi/index.php:7 uses raw inline-style filter bar (`style="margin-bottom: var(--space-4); display: flex; gap: var(--space-2); flex-wrap: wrap;"`) and a bare `grid grid-cols-2` of plain `.card` tiles with no thumbnails (line 22-33); ansi/upload.php:16-23 uses a plain `<select>` and basic `.form-input` file input with NO dropzone and NO description AI wand (cf. files/upload.php:33 dropzone + post-toolbar). Compare to the richly designed photos (pg-hero, pg-empty-state graphic, pg-album-card overlays in my-albums.php) and files (fe-hero, fe-stats-bar in index.php) surfaces.

Suggested fix. Give /gallery the same treatment as /files and /photos: a proper hero + stat strip, card tiles that render an ANSI thumbnail/preview, an upload dropzone, and the post-toolbar (with AI wand) on the description. Move the inline styles into a .ag-* component set. Note: per the area brief, AnsiGallery is also a POLICY_DISABLED removal candidate — if it is being retired, removing it is the alternative to polishing it.

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 5:53am

Resolved — fixed and deployed. Commit 839ae393122a, shipped dev-first then to all tenants on 2026-06-06.

Rebuilt /gallery index (ansi/index.php) to the /files + /photos bar: added an .ag-hero header with title + Upload action and an .ag-stats-bar (on-this-page count, art styles, pages — derived honestly from the controller's $items/$pagination, no fabricated site total), and replaced the bare 2-col card list with an .ag-grid of .ag-card tiles that render an ANSI block-glyph preview panel, category badge, title, uploader and view count. Consolidated all scattered inline style= attributes into a scoped .ag-* component set in a nonce'd <style> block; all colors use semantic tokens. php -l clean. Note: the upload dropzone and post-toolbar/AI-wand on the description portions of #582 live in ansi/upload.php (and the preview tweaks in ansi/show.php), which are outside the one file I own; they need the upload.php/show.php owner.

Status: fixed. Thread closed and locked.


Patrick Bass
@mobieus

Log in or register to reply to this thread.