beamershow/src/store.js

39 lines
1.1 KiB
JavaScript
Raw Normal View History

2021-03-30 18:10:12 +00:00
import { writable } from 'svelte/store';
2023-02-05 12:25:22 +00:00
const stored_api_endpoint = localStorage.getItem('api_endpoint');
2021-03-30 18:10:12 +00:00
export const api_endpoint = writable(stored_api_endpoint);
api_endpoint.subscribe((value) => {
2023-02-05 12:25:22 +00:00
if (value != null) {
localStorage.setItem('api_endpoint', value);
}
2021-03-30 18:10:12 +00:00
});
const stored_apikey = localStorage.getItem('apikey');
export const apikey = writable(stored_apikey);
apikey.subscribe((value) => {
2023-02-05 12:25:22 +00:00
if (value != null) {
localStorage.setItem('apikey', value);
}
2021-03-30 18:10:12 +00:00
});
2021-04-07 18:35:46 +00:00
const stored_laptime_track = localStorage.getItem('laptime_track');
export const laptime_track = writable(stored_laptime_track);
laptime_track.subscribe((value) => {
2023-02-05 12:25:22 +00:00
if (value != null) {
localStorage.setItem('laptime_track', value);
}
2021-04-07 18:35:46 +00:00
});
2021-03-30 18:10:12 +00:00
const stored_lang = localStorage.getItem('lang') === 'null' ? navigator.language : localStorage.getItem('lang');
export const lang = writable(stored_lang);
lang.subscribe((value) => {
2023-02-05 12:25:22 +00:00
if (value != null) {
localStorage.setItem('lang', value);
}
2021-03-30 18:10:12 +00:00
});
2023-02-05 12:25:22 +00:00
export function clear() {
api_endpoint.set(null)
2023-02-05 12:25:22 +00:00
api_endpoint.set("")
apikey.set(null);
2023-02-05 12:25:22 +00:00
apikey.set("");
laptime_track.set(null)
localStorage.clear();
}