Skip to content

Commit 485d4dc

Browse files
authored
fix API key persistence (#98)
* make sure sessionStorage initially gets populated with api-key from localStorage by swapping eval order for 'api-key' and 'store-api-key' blocks
1 parent 1da2863 commit 485d4dc

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/store.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ formSelections.subscribe((val) => {
3535
sessionStorage.setItem('form', JSON.stringify(val));
3636
});
3737

38+
export const apiKey = writable(localStorage.getItem('api-key')! || '');
39+
apiKey.subscribe((val) => {
40+
// always keep key in session storage (resets on window close)
41+
sessionStorage.setItem('api-key', val);
42+
if (localStorage.getItem('store-api-key') === 'true') {
43+
// if flag set, also store key in local persistent storage
44+
localStorage.setItem('api-key', val);
45+
}
46+
});
47+
3848
export const storeApiKeys = writable(localStorage.getItem('store-api-key') === 'true');
3949
storeApiKeys.subscribe((val) => {
4050
localStorage.setItem('store-api-key', val.toString());
@@ -47,16 +57,6 @@ storeApiKeys.subscribe((val) => {
4757
}
4858
});
4959

50-
export const apiKey = writable(localStorage.getItem('api-key')! || '');
51-
apiKey.subscribe((val) => {
52-
// always keep key around in session storage (resets on page refresh)
53-
sessionStorage.setItem('api-key', val);
54-
if (localStorage.getItem('store-api-key') === 'true') {
55-
// store it in local storage (persistent)
56-
localStorage.setItem('api-key', val);
57-
}
58-
});
59-
6060
export function addDataSet(dataset: DataSet | DataGroup): void {
6161
const root = get(datasetTree);
6262
root.datasets.push(dataset);

0 commit comments

Comments
 (0)