feat(train): OpenFreeMap's dark style in a dark theme, and MAP_DARK_STYLE_URL for a provider's

The maps follow the theme where the source names a dark style, which
only the instance's own map did: OpenFreeMap, the default source, had
none, so a dark phone showed Liberty's bright map. The default now
hands OpenFreeMap's Dark style beside Liberty, and an operator setting
MAP_STYLE_URL may set MAP_DARK_STYLE_URL (HTTPS, else none) beside it,
passed on by compose.train.yaml and named in .env.example.
ADR 0030, D65.

Whats-New: The map is dark in a dark theme.
Whats-New-De: Die Karte ist im dunklen Design dunkel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-04 20:44:47 +01:00
commit 1c67310c93
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1725,6 +1725,12 @@ Strava. What was found, 27 Oct:
map showing in the corners. The bar names the activity (Running), not the
workout, whose name is the sheet's first line: once in sight, not twice (D63 had
the bar take the sheet's title).
- **A dark map on OpenFreeMap too**: the maps followed the theme where the source
has a dark style (D50), which only the instance's own map had. OpenFreeMap's
default source now hands its Dark style beside Liberty, and an operator's
provider takes one from `MAP_DARK_STYLE_URL` (HTTPS, else none: the light style
in both themes). A dark Liberty made in the app (its colours inverted) was the
alternative, a style of the app's own for a provider's tiles it can't know.
## Consequences
- Train's sensors are one pattern: open profiles read by the app itself, on the phone;