2023-05-25 07:36:01 +12:00
|
|
|
import getDb from "./getDb";
|
2022-03-03 10:16:30 +13:00
|
|
|
|
|
|
|
class Prefs {
|
2023-05-25 07:36:01 +12:00
|
|
|
constructor(db) {
|
|
|
|
this.db = db;
|
|
|
|
}
|
|
|
|
|
2022-03-06 18:02:27 +13:00
|
|
|
async setSound(sound) {
|
2023-05-25 07:36:01 +12:00
|
|
|
this.db.prefs.put({ key: "sound", value: sound.toString() });
|
2022-03-03 10:16:30 +13:00
|
|
|
}
|
|
|
|
|
2022-03-06 18:02:27 +13:00
|
|
|
async sound() {
|
2023-05-25 07:36:01 +12:00
|
|
|
const sound = await this.db.prefs.get("sound");
|
2022-03-10 09:58:21 +13:00
|
|
|
return sound ? sound.value : "ding";
|
2022-03-03 10:16:30 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
async setMinPriority(minPriority) {
|
2023-05-25 07:36:01 +12:00
|
|
|
this.db.prefs.put({ key: "minPriority", value: minPriority.toString() });
|
2022-03-03 10:16:30 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
async minPriority() {
|
2023-05-25 07:36:01 +12:00
|
|
|
const minPriority = await this.db.prefs.get("minPriority");
|
2022-03-03 10:16:30 +13:00
|
|
|
return minPriority ? Number(minPriority.value) : 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
async setDeleteAfter(deleteAfter) {
|
2023-05-25 07:36:01 +12:00
|
|
|
this.db.prefs.put({ key: "deleteAfter", value: deleteAfter.toString() });
|
2022-03-03 10:16:30 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
async deleteAfter() {
|
2023-05-25 07:36:01 +12:00
|
|
|
const deleteAfter = await this.db.prefs.get("deleteAfter");
|
2022-03-03 10:16:30 +13:00
|
|
|
return deleteAfter ? Number(deleteAfter.value) : 604800; // Default is one week
|
|
|
|
}
|
2023-05-25 07:36:01 +12:00
|
|
|
|
|
|
|
async webPushDefaultEnabled() {
|
|
|
|
const obj = await this.db.prefs.get("webPushDefaultEnabled");
|
|
|
|
return obj?.value ?? "initial";
|
|
|
|
}
|
|
|
|
|
|
|
|
async setWebPushDefaultEnabled(enabled) {
|
|
|
|
await this.db.prefs.put({ key: "webPushDefaultEnabled", value: enabled ? "enabled" : "disabled" });
|
|
|
|
}
|
2022-03-03 10:16:30 +13:00
|
|
|
}
|
|
|
|
|
2023-05-25 07:36:01 +12:00
|
|
|
export default new Prefs(getDb());
|