Add progressive web app companion for cross-platform access
Vite + TypeScript PWA that mirrors the Android app's core features: - Pre-processed shelter data (build-time UTM33N→WGS84 conversion) - Leaflet map with shelter markers, user location, and offline tiles - Canvas compass arrow (ported from DirectionArrowView.kt) - IndexedDB shelter cache with 7-day staleness check - Service worker with CacheFirst tiles and precached app shell - i18n for en, nb, nn (ported from Android strings.xml) - iOS/Android compass handling with low-pass filter - Respects user map interaction (no auto-snap on pan/zoom) - Build revision cache-breaker for reliable SW updates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
46365b713b
commit
e8428de775
12051 changed files with 1799735 additions and 0 deletions
120
pwa/node_modules/fast-uri/test/fixtures/uri-js-serialize.json
generated
vendored
Normal file
120
pwa/node_modules/fast-uri/test/fixtures/uri-js-serialize.json
generated
vendored
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
[
|
||||
[
|
||||
{
|
||||
"host": "10.10.10.10.example.com"
|
||||
},
|
||||
"//10.10.10.10.example.com"
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "2001:db8::7"
|
||||
},
|
||||
"//[2001:db8::7]"
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "::ffff:129.144.52.38"
|
||||
},
|
||||
"//[::ffff:129.144.52.38]"
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "2606:2800:220:1:248:1893:25c8:1946"
|
||||
},
|
||||
"//[2606:2800:220:1:248:1893:25c8:1946]"
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "10.10.10.10.example.com"
|
||||
},
|
||||
"//10.10.10.10.example.com"
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "10.10.10.10"
|
||||
},
|
||||
"//10.10.10.10"
|
||||
],
|
||||
[
|
||||
{
|
||||
"path": "?query"
|
||||
},
|
||||
"%3Fquery"
|
||||
],
|
||||
[
|
||||
{
|
||||
"path": "foo:bar"
|
||||
},
|
||||
"foo%3Abar"
|
||||
],
|
||||
[
|
||||
{
|
||||
"path": "//path"
|
||||
},
|
||||
"/%2Fpath"
|
||||
],
|
||||
[
|
||||
{
|
||||
"scheme": "uri",
|
||||
"host": "example.com",
|
||||
"port": "9000"
|
||||
},
|
||||
"uri://example.com:9000"
|
||||
],
|
||||
[
|
||||
{
|
||||
"scheme": "uri",
|
||||
"userinfo": "foo:bar",
|
||||
"host": "example.com",
|
||||
"port": 1,
|
||||
"path": "path",
|
||||
"query": "query",
|
||||
"fragment": "fragment"
|
||||
},
|
||||
"uri://foo:bar@example.com:1/path?query#fragment"
|
||||
],
|
||||
[
|
||||
{
|
||||
"scheme": "",
|
||||
"userinfo": "",
|
||||
"host": "",
|
||||
"port": 0,
|
||||
"path": "",
|
||||
"query": "",
|
||||
"fragment": ""
|
||||
},
|
||||
"//@:0?#"
|
||||
],
|
||||
[
|
||||
{},
|
||||
""
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "fe80::a%en1"
|
||||
},
|
||||
"//[fe80::a%25en1]"
|
||||
],
|
||||
[
|
||||
{
|
||||
"host": "fe80::a%25en1"
|
||||
},
|
||||
"//[fe80::a%25en1]"
|
||||
],
|
||||
[
|
||||
{
|
||||
"scheme": "wss",
|
||||
"host": "example.com",
|
||||
"path": "/foo",
|
||||
"query": "bar"
|
||||
},
|
||||
"wss://example.com/foo?bar"
|
||||
],
|
||||
[
|
||||
{
|
||||
"scheme": "scheme",
|
||||
"path": "with:colon"
|
||||
},
|
||||
"scheme:with:colon"
|
||||
]
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue