* Serve config.js network-first so deploy-time edits aren't frozen by the service worker
* Simplify documentation and do not support subpath deployments
* Add theme select to settings view
* WIP: dark mode colors
* Use system theme by default
* Fix eslint error
* Move variables unrelated to theme back to SharedStyles.js
* Move theme css variables to separate file
* Revert light theme colors
* WIP: replace hardcoded colors with variables
* Add commas to rgb values for vs code to show color decorators
* Fix invalid color code
* Remove unused css
* WIP: replace hardcoded colors with variables
* WIP: replace hardcoded colors with variables
* WIP: replace hardcoded colors with variables
* WIP: replace hardcoded colors with variables
* WIP: replace hardcoded colors with variables
* WIP: replace hardcoded colors with variables
* Set dark theme colors for legacy material components
* Set dark theme colors for legacy checkbox component
* Change primary color for dark theme
* Imrove fan chart text colors for dark mode
* Set dark theme outline colors for legacy button component
* Fix light mode background colors when dialog is open
* Change primary color for dark theme
* Sync map theme with gramps theme
* Make theme selector translatable
* Improve contrast for mwc-dialog in dark theme
* Replace hardcoded colors with variables
* Fix contrast for broken image in dark theme
* Migrate map rendering from Leaflet to MapLibre GL (#673)
* refactor: migrate from Leaflet to MapLibre GL for map rendering
- Removed Leaflet dependencies and related code from GrampsjsMap, GrampsjsMapMarker, and GrampsjsMapOverlay components.
- Integrated MapLibre GL for map rendering and marker management.
- Updated map style switching functionality to support MapLibre GL styles.
- Enhanced marker and overlay handling using MapLibre GL's API.
- Updated package dependencies to use MapLibre GL version 5.6.0 and removed obsolete packages.
* refactor: remove unnecessary import of maplibregl from GrampsjsMap and GrampsjsMapMarker
* Update src/components/GrampsjsMap.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: update attribution control handling in GrampsjsMap
* refactor: remove unused Leaflet CSS file
* fix: update style positioning for map style switcher
* refactor: replace Leaflet methods with MapLibre GL JS equivalents and update bounds format
* fix: correct bounds order for MapLibre coordinates in GrampsjsMapOverlay
* refactor: remove redundant attribution update logic in style change handler
* fix: remove debug log from map click handler
* fix: ensure correct overlay addition and layer management in GrampsjsMapOverlay
* fix: adjust width of style switcher container in GrampsjsMap
* fix: remove unused CSS file from copy targets in rollup configuration
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Use OpenFreeMap, add icon to layer switcher
* Fix appstate in map
* Use material for layer switcher
* Tweak style of layer switcher
* Fix edit lat long, partially fix edit map layer
* Modify layer switcher
* Fix map bounds
* Fix year filter for OHM on layer change
* Refactor layer switcher into component
* Make layer switcher work for overlays
* Remove debug log statement
* Use local CSS for MapLibre
---------
Co-authored-by: Muhammad Imran Siddique <muimsd@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fixes#517
By default, index.html is cached by the service worker. This is
breaks the application if it's hosted behind an authentifying proxy
which requires periodic revalidation of an auth token.
Specifically, once the auth token expires
1. The index.html is still served from the service worker cache.
2. Subsequent requests (e.g for JS resources) are redirected to the
login page of the proxy.
3. That login page is never displayed to the user as index.html has been
successfully loaded.
4. All requests but index.html fail, and the app displays a blank page.
This change fixes this behavior by preventing index.html from being
cached by the service worker. With that change, once the auth token from
the proxy expires:
1. The request for index.html is not served from the service worker
cache.
2. Instead, a network request for index.html is made, and the user is
properly redirected to the proxy login page.
3. The user logs in, and index.html is served as normal.
4. Subsequent requests (e.g for JS resources) succeed as now the auth
token has been refreshed.
* add new translations and fix existing
* add index file to handle exporting all translations so we can import them as a single line in string.js
* Added some plugins to handle json translation files.
Rollup now converts them to javascript objects during application build
* upgrade rollup to 2.60.2 to fix build issues
* Add more translation strings