Files
map/webapp/frontend/src/stores/configStore.js
2025-04-17 18:45:15 -04:00

39 lines
1.1 KiB
JavaScript

import { defineStore } from 'pinia';
// Define your store
export const useConfigStore = defineStore('config', {
state: () => ({
// String values
temperatureFormat: 'fahrenheit', // Default value
// Boolean values
autoUpdatePositionInUrl: true,
enableMapAnimations: true,
hasSeenInfoModal: false,
// Time in seconds (for max age values)
nodesMaxAge: null,
nodesDisconnectedAge: 604800, // Default value
nodesOfflineAge: null,
waypointsMaxAge: 604800, // Default value
// Number values (zoom level, IDs)
goToNodeZoomLevel: 15,
lastSeenAnnouncementId: 1,
// Distance values (for max distances)
neighboursMaxDistance: null,
// Device info ranges (can be persisted)
deviceMetricsTimeRange: '3d',
powerMetricsTimeRange: '3d',
environmentMetricsTimeRange: '3d',
// Map config
enabledOverlayLayers: ['Legend', 'Position History'],
selectedTileLayerName: 'OpenStreetMap'
}),
// Automatically persist the state in localStorage
persist: {
storage: localStorage, // Use localStorage (default is sessionStorage)
},
});