Add help modal, changelog, map visits, Dockerfile, CI

- Help modal (? button or keyboard shortcut): how-to-play in Swedish,
  flavor text, full changelog sourced from src/data/version.ts
- src/data/version.ts: versioned changelog entries, in-universe Malmö voice
- Map zone clicks: each location on the Leaflet map is now clickable.
  Unlocked cult areas give resources + log entries. Locked locations show
  lore hints. 30s cooldown per location so it's a decision, not a spam button.
- Dockerfile + nginx.conf + docker-compose.yml (port 5684)
- Gitea CI workflow (identical to 2048 — derives image from repo path, needs
  TKNTKN secret, pushes :latest and :sha tags)
- README.md with mechanics summary and docker instructions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Fredrik Johansson
2026-07-07 23:31:37 +02:00
parent f5776f269b
commit 5fcb339408
11 changed files with 420 additions and 3 deletions

View File

@@ -34,7 +34,7 @@ function dreadRadius(level: number): number {
return [6, 10, 16, 24][Math.min(level, 3)];
}
export function initMap(containerId: string): void {
export function initMap(containerId: string, onClick: (id: string) => void): void {
if (!L) return;
map = L.map(containerId, {
center: [55.597, 13.002],
@@ -55,6 +55,7 @@ export function initMap(containerId: string): void {
fillOpacity: 0.3,
weight: 1,
}).addTo(map).bindTooltip(loc.label, { className: 'map-tooltip', permanent: false });
m.on('click', () => onClick(loc.id));
markers.set(loc.id, m);
}
}