@@ -17,55 +17,25 @@ export const isShowingPoints = writable(defaults.showPoints);
1717export const initialViewport = writable ( defaults . viewport ) ;
1818export const navMode = writable ( NavMode . autofit ) ;
1919
20- export function getStoreApiKeys ( ) {
21- if ( localStorage . getItem ( 'store-api-key' ) ) {
22- try {
23- // if we saved it, return it (as a boolean)
24- return localStorage . getItem ( 'store-api-key' ) === 'true' ;
25- } catch {
26- // if parsing fails, saved value is bad, so clear it out
27- localStorage . removeItem ( 'store-api-key' ) ;
28- }
29- }
30- // if parsing fails, return default of 'false'
31- return false ;
32- }
33-
34- export function getApiKey ( ) {
35- if ( localStorage . getItem ( 'api-key' ) ) {
36- try {
37- return localStorage . getItem ( 'api-key' ) ! ;
38- } catch {
39- localStorage . removeItem ( 'api-key' ) ;
40- }
41- }
42- return '' ;
43- }
44-
45- export const storeApiKeys = writable ( getStoreApiKeys ( ) ) ;
20+ export const storeApiKeys = writable ( localStorage . getItem ( 'store-api-key' ) === 'true' ) ;
4621storeApiKeys . subscribe ( ( val ) => {
47- if ( ! val ) {
48- // reset local storage if user decides not to store API keys
49- localStorage . removeItem ( 'api-key' ) ;
22+ localStorage . setItem ( 'store-api-key' , val . toString ( ) ) ;
23+ if ( val ) {
24+ // persist key from session to local storage
25+ localStorage . setItem ( 'api-key' , sessionStorage . getItem ( 'api-key' ) || '' ) ;
5026 } else {
51- // persist API key if user decides to store API keys
52- const apiKey = sessionStorage . getItem ( 'api-key' ) ! ;
53- if ( apiKey ) {
54- localStorage . setItem ( 'api-key' , apiKey ) ;
55- }
27+ // remove key from local storage
28+ localStorage . removeItem ( 'api-key' ) ;
5629 }
57- // store the preference either way
58- localStorage . setItem ( 'store-api-key' , val . toString ( ) ) ;
5930} ) ;
6031
61- export const apiKey = writable ( getApiKey ( ) ) ;
32+ export const apiKey = writable ( localStorage . getItem ( 'api-key' ) ! || '' ) ;
6233apiKey . subscribe ( ( val ) => {
34+ // always keep key around in session storage (resets on page refresh)
35+ sessionStorage . setItem ( 'api-key' , val ) ;
6336 if ( localStorage . getItem ( 'store-api-key' ) === 'true' ) {
6437 // store it in local storage (persistent)
65- localStorage . setItem ( 'api-key' , val . toString ( ) ) ;
66- } else {
67- // keep it around in session storage (resets on page refresh)
68- sessionStorage . setItem ( 'api-key' , val . toString ( ) ) ;
38+ localStorage . setItem ( 'api-key' , val ) ;
6939 }
7040} ) ;
7141
0 commit comments