39 lines
1.1 KiB
JavaScript
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)
|
|
},
|
|
}); |