mapdash/frontend
aaverbitskiy 8e6c19e9a4 feat: surface photos in the map balloon + fullscreen lightbox (v0.2.7)
Photos live on disk as photos/<board_key>/<file>.{jpg,jpeg,png} (a read-only
volume). A cached directory index (60s TTL) attaches a `photos` URL list to each
surface in /api/map; a /photos StaticFiles mount serves the files. Photos are
public — shown to anonymous visitors and managers alike.

The balloon renders a gallery (main image + thumbnail strip + "1 / N" counter);
clicking a thumbnail swaps the main image, and clicking the main image / "+N"
opens a fullscreen lightbox over the map (prev/next, Esc, backdrop close).
Surfaces without photos render exactly as before.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-15 08:00:10 +00:00
..
public auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00
src feat: surface photos in the map balloon + fullscreen lightbox (v0.2.7) 2026-08-15 08:00:10 +00:00
index.html ui: green "Размещено" default + green circle favicon (v0.2.6) 2026-08-14 20:14:01 +00:00
package-lock.json auth: Keycloak OIDC — anonymous (truncated) vs manager (full) tiers 2026-08-14 11:05:47 +00:00
package.json feat: surface photos in the map balloon + fullscreen lightbox (v0.2.7) 2026-08-15 08:00:10 +00:00
tsconfig.json frontend: Vite+TypeScript scaffold (types, api) — not wired to static yet 2026-07-17 15:41:13 +00:00
vite.config.ts frontend: full modular migration (collisions/dropdown/timeline/styles), staged at /next/, prod unchanged 2026-07-17 16:17:00 +00:00