WIP: State save - Task #125 Phase 2 asset browser deployed
This commit is contained in:
@@ -213,3 +213,27 @@ New `/admin/social-calendar` widget in Trinity Console for Meg. Week-at-a-glance
|
||||
- Browser smoke test by Michael.
|
||||
|
||||
— Chronicler #81
|
||||
|
||||
**Task #125 Phase 2 — Branding Asset Browser DEPLOYED ✅**
|
||||
|
||||
Calendar form now has a "🎨 Browse assets" button next to Media Notes that opens a modal showing every image in `firefrost-operations-manual/branding/` and `docs/branding/` as thumbnails. Click one → filename is appended to the media notes textarea.
|
||||
|
||||
**Infrastructure added to Command Center (not in any repo):**
|
||||
- `/opt/firefrost-ops-manual` — fresh clone of the operations manual, separate from the stale `/root/firefrost-work/...` clone (which was untouched)
|
||||
- `/etc/systemd/system/firefrost-ops-sync.{service,timer}` — pulls every 15 min (active, enabled, first run succeeded)
|
||||
- `/var/cache/arbiter/branding-thumbs/` — thumbnail cache directory
|
||||
- `sharp@0.34.5` (libvips 8.17.3) added as Arbiter npm dependency
|
||||
|
||||
**Code:**
|
||||
- `src/routes/admin/branding-assets.js` — /list scans both roots recursively, groups by category. /thumb generates 256px WebP on-the-fly via sharp, caches to disk keyed by `sha1(path + mtime)` so any file edit busts the cache automatically. Path traversal protection + scope check.
|
||||
- `src/views/admin/social-calendar/_assets.ejs` — category-grouped thumbnail grid with lazy-loaded images.
|
||||
- `src/views/admin/social-calendar/index.ejs` — second modal at z-[60] (above the form modal) + `sppInsertAsset()` helper that appends to the media_notes textarea.
|
||||
- `src/views/admin/social-calendar/_form.ejs` — "Browse assets" button next to media notes.
|
||||
|
||||
**Verified:** List endpoint returned 31 assets matching the on-disk count. Thumbnail generation succeeded (254×256 WebP, 17KB). Cached request returns in ~8ms (pure disk stream, sharp not invoked). Branches `task-125-asset-browser` merged and pushed.
|
||||
|
||||
**Remaining for Task #125:**
|
||||
- Michael browser smoke test of the calendar + asset browser end-to-end
|
||||
- Possible UX enhancements based on Meg's usage feedback (search/filter assets by name, sort, recently-used section, etc.) — defer until she uses it
|
||||
|
||||
— Chronicler #81
|
||||
|
||||
Reference in New Issue
Block a user