Disable kinetic panning on mobile by default, add setting for it
This commit is contained in:
@@ -3,6 +3,7 @@ import { tracked } from '@glimmer/tracking';
|
||||
|
||||
export default class SettingsService extends Service {
|
||||
@tracked overpassApi = 'https://overpass.bke.ro/api/interpreter';
|
||||
@tracked mapKinetic = true;
|
||||
|
||||
overpassApis = [
|
||||
{ name: 'bke.ro', url: 'https://overpass.bke.ro/api/interpreter' },
|
||||
@@ -19,14 +20,30 @@ export default class SettingsService extends Service {
|
||||
}
|
||||
|
||||
loadSettings() {
|
||||
const savedApi = localStorage.getItem('marco-overpass-api');
|
||||
const savedApi = localStorage.getItem('marco:overpass-api');
|
||||
if (savedApi) {
|
||||
this.overpassApi = savedApi;
|
||||
}
|
||||
|
||||
const savedKinetic = localStorage.getItem('marco:map-kinetic');
|
||||
if (savedKinetic !== null) {
|
||||
this.mapKinetic = savedKinetic === 'true';
|
||||
} else {
|
||||
// Default: disabled on small screens (mobile), enabled on desktop
|
||||
// We check for typical mobile width (<= 768px)
|
||||
if (typeof window !== 'undefined') {
|
||||
this.mapKinetic = window.innerWidth > 768;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
updateOverpassApi(url) {
|
||||
this.overpassApi = url;
|
||||
localStorage.setItem('marco-overpass-api', url);
|
||||
localStorage.setItem('marco:overpass-api', url);
|
||||
}
|
||||
|
||||
updateMapKinetic(enabled) {
|
||||
this.mapKinetic = enabled;
|
||||
localStorage.setItem('marco:map-kinetic', String(enabled));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user