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:
Ole-Morten Duesund 2026-03-08 17:41:38 +01:00
commit e8428de775
12051 changed files with 1799735 additions and 0 deletions

View file

@ -0,0 +1,60 @@
module.exports = new Set([
// Non-binary properties:
'General_Category',
'Script',
'Script_Extensions',
// Binary properties:
'Alphabetic',
'Any',
'ASCII',
'ASCII_Hex_Digit',
'Assigned',
'Bidi_Control',
'Bidi_Mirrored',
'Case_Ignorable',
'Cased',
'Changes_When_Casefolded',
'Changes_When_Casemapped',
'Changes_When_Lowercased',
'Changes_When_NFKC_Casefolded',
'Changes_When_Titlecased',
'Changes_When_Uppercased',
'Dash',
'Default_Ignorable_Code_Point',
'Deprecated',
'Diacritic',
'Emoji',
'Emoji_Component',
'Emoji_Modifier',
'Emoji_Modifier_Base',
'Emoji_Presentation',
'Extended_Pictographic',
'Extender',
'Grapheme_Base',
'Grapheme_Extend',
'Hex_Digit',
'ID_Continue',
'ID_Start',
'Ideographic',
'IDS_Binary_Operator',
'IDS_Trinary_Operator',
'Join_Control',
'Logical_Order_Exception',
'Lowercase',
'Math',
'Noncharacter_Code_Point',
'Pattern_Syntax',
'Pattern_White_Space',
'Quotation_Mark',
'Radical',
'Regional_Indicator',
'Sentence_Terminal',
'Soft_Dotted',
'Terminal_Punctuation',
'Unified_Ideograph',
'Uppercase',
'Variation_Selector',
'White_Space',
'XID_Continue',
'XID_Start'
]);