33 lines
1016 B
JavaScript
33 lines
1016 B
JavaScript
async function initializeSettings(remoteStorage) {
|
|
//
|
|
// API Keys (remoteStorage)
|
|
//
|
|
['opencage', 'mapbox'].forEach(async service => {
|
|
let inputEl = document.querySelector(`input.api-key.${service}`);
|
|
|
|
await remoteStorage.apiKeys.get(service).then(credentials => {
|
|
if (credentials) inputEl.value = credentials.token;
|
|
})
|
|
|
|
inputEl.addEventListener('change', e => {
|
|
if (e.target.value.length > 0) {
|
|
remoteStorage.apiKeys.set(service, { token: e.target.value });
|
|
} else {
|
|
remoteStorage.apiKeys.remove(service);
|
|
}
|
|
})
|
|
});
|
|
|
|
//
|
|
// Map settings (localStorage)
|
|
//
|
|
const zoomFactorSelectEl = document.querySelector('.settings .map-zoom-factor');
|
|
const zoomFactor = localStorage.getItem('rs-location:map-zoom-factor');
|
|
if (zoomFactor) zoomFactorSelectEl.value = zoomFactor;
|
|
zoomFactorSelectEl.addEventListener('change', e => {
|
|
localStorage.setItem('rs-location:map-zoom-factor', e.target.value);
|
|
});
|
|
}
|
|
|
|
export default initializeSettings;
|