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>
11 lines
114 B
Plaintext
11 lines
114 B
Plaintext
*.bak-*
|
|
dist/
|
|
node_modules/
|
|
*.predeploy-*
|
|
__pycache__/
|
|
static/assets/
|
|
static/index.html
|
|
static/next/
|
|
photos/
|
|
.env
|