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>
42 lines
634 B
JavaScript
42 lines
634 B
JavaScript
'use strict';
|
|
|
|
const KNOWN_ASSET_TYPES = [
|
|
// images
|
|
"apng",
|
|
"bmp",
|
|
"png",
|
|
"jpe?g",
|
|
"jfif",
|
|
"pjpeg",
|
|
"pjp",
|
|
"gif",
|
|
"svg",
|
|
"ico",
|
|
"webp",
|
|
"avif",
|
|
// media
|
|
"mp4",
|
|
"webm",
|
|
"ogg",
|
|
"mp3",
|
|
"wav",
|
|
"flac",
|
|
"aac",
|
|
// fonts
|
|
"woff2?",
|
|
"eot",
|
|
"ttf",
|
|
"otf",
|
|
// other
|
|
"webmanifest",
|
|
"pdf",
|
|
"txt"
|
|
];
|
|
const KNOWN_ASSET_RE = new RegExp(
|
|
`\\.(${KNOWN_ASSET_TYPES.join("|")})$`
|
|
);
|
|
const CSS_LANGS_RE = /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/;
|
|
|
|
exports.CSS_LANGS_RE = CSS_LANGS_RE;
|
|
exports.KNOWN_ASSET_RE = KNOWN_ASSET_RE;
|
|
exports.KNOWN_ASSET_TYPES = KNOWN_ASSET_TYPES;
|