0
0
Fork 0

Move push notifications settings (regression from #5879) (#5941)

* Move push notifications settings

* fix typo `setf` -> `set`
This commit is contained in:
Yamagishi Kazutoshi 2017-12-09 22:18:45 +09:00 committed by Eugen Rochko
parent 3a52c90de1
commit cdae7e4c8b
3 changed files with 54 additions and 27 deletions

View file

@ -0,0 +1,46 @@
export default class Settings {
constructor(keyBase = null) {
this.keyBase = keyBase;
}
generateKey(id) {
return this.keyBase ? [this.keyBase, `id${id}`].join('.') : id;
}
set(id, data) {
const key = this.generateKey(id);
try {
const encodedData = JSON.stringify(data);
localStorage.setItem(key, encodedData);
return data;
} catch (e) {
return null;
}
}
get(id) {
const key = this.generateKey(id);
try {
const rawData = localStorage.getItem(key);
return JSON.parse(rawData);
} catch (e) {
return null;
}
}
remove(id) {
const data = this.get(id);
if (data) {
const key = this.generateKey(id);
try {
localStorage.removeItem(key);
} catch (e) {
}
}
return data;
}
}
export const pushNotificationsSetting = new Settings('mastodon_push_notification_data');