config: use scoped storage

Signed-off-by: Varun Patil <radialapps@gmail.com>
pull/653/head
Varun Patil 2023-05-03 11:54:07 -07:00
parent 50287a2159
commit b889c5f5f7
1 changed files with 6 additions and 2 deletions

View File

@ -2,13 +2,17 @@ import axios from '@nextcloud/axios';
import { showInfo } from '@nextcloud/dialogs'; import { showInfo } from '@nextcloud/dialogs';
import { API } from './API'; import { API } from './API';
import { IConfig } from '../types'; import { IConfig } from '../types';
import { getBuilder } from '@nextcloud/browser-storage';
import type Storage from '@nextcloud/browser-storage/dist/storage';
class StaticConfig { class StaticConfig {
private config: IConfig | null = null; private config: IConfig | null = null;
private initPromises: Array<() => void> = []; private initPromises: Array<() => void> = [];
private default: IConfig | null = null; private default: IConfig | null = null;
private storage: Storage;
public constructor() { public constructor() {
this.storage = getBuilder('memories').clearOnLogout().persist().build();
this.init(); this.init();
} }
@ -66,7 +70,7 @@ class StaticConfig {
this.config[key] = value; this.config[key] = value;
} }
localStorage.setItem(`memories_${key}`, value.toString()); this.storage.setItem(`memories_${key}`, value.toString());
} }
public getDefault(): IConfig { public getDefault(): IConfig {
@ -101,7 +105,7 @@ class StaticConfig {
}; };
for (const key in config) { for (const key in config) {
const val = localStorage.getItem(`memories_${key}`); const val = this.storage.getItem(`memories_${key}`);
if (val !== null) { if (val !== null) {
if (typeof config[key] === 'boolean') { if (typeof config[key] === 'boolean') {
config[key] = val === 'true'; config[key] = val === 'true';