summaryrefslogtreecommitdiffstats
path: root/views
AgeCommit message (Collapse)AuthorFilesLines
2026-05-11Replace cover dropdown with Random checkbox and per-file cover radioKen D'Ambrosio1-10/+19
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11Always show filename in lightbox info panelKen D'Ambrosio1-1/+1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11Limit slideshow to filtered albums when search filter is activeKen D'Ambrosio1-3/+4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11Add Save button above Files table; redirect admin login to current albumKen D'Ambrosio1-0/+4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11Return to current album's edit page after admin loginKen D'Ambrosio1-1/+1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10Add slideshow: root-level, shuffle, fullscreen, click-to-albumKen D'Ambrosio3-12/+12
- Root slideshow: all_media_entries walks the full media tree so /slideshow/ shows every photo across all albums; Slideshow button always appears on the root album page - Shuffle and Full screen checkboxes sit next to the Slideshow button on the album page; options pass as ?shuffle=1&fullscreen=1 URL params - Fullscreen uses a tap-to-activate overlay (browsers block auto-entry on page load); webkit-prefixed for Safari; ⛶ button and F key for mid-session toggle - Fullscreen mode hides controls, counter, caption bar, and site header - Exiting fullscreen auto-pauses so the current photo stays visible - Click/tap anywhere in the stage navigates to the photo's album lightbox; reads the live src attribute instead of ssIdx to avoid a race where ssIdx advances during the cross-fade while the old photo is still on screen - layout.erb excluded from slideshow (layout: false) so the site header never appears there - CSS cache-busted with ?v=2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Add info overlay to lightbox showing photo metadataKen D'Ambrosio1-0/+4
Tap "ℹ Info" in the caption bar to toggle a semi-transparent panel at the bottom of the image showing filename (if different from title), date taken, and pixel dimensions. Panel resets to hidden on each photo change. Button is hidden automatically when no metadata is available. Width/height are now included in the ENTRIES payload. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Add show/hide password toggle to admin loginKen D'Ambrosio1-1/+17
SVG eye icon sits inside the right edge of the password field. Tap/click to reveal; tap again to conceal. Helps mobile users confirm what they're typing without a separate "show password" step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Bump album.js cache-buster to force fresh load of search codeKen D'Ambrosio1-1/+1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Add live album filter search boxKen D'Ambrosio1-1/+4
Typing in the search box instantly hides non-matching album cards. Shown only when an album has more than 4 sub-albums (no point otherwise). Pure client-side — no server round-trips. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Replace dynamic cover checkbox with random image dropdown optionKen D'Ambrosio1-4/+1
Adds "— random image —" as a selectable cover option (stored as __random__ sentinel). album_cover() now picks a random eligible file when that value is set, giving a fresh cover on each page load. Removes the cover_dynamic field that was saved but never actually used in display logic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Initial commit — Albumen photo albumKen5-0/+280
Ruby/Sinatra self-hosted photo album with directory hierarchy, per-photo captions and visibility, lightbox, slideshow, admin UI, and Let's Encrypt HTTPS via Apache reverse proxy on prouter. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>