From d209291f37ab520b23646dc4ea8310ea261b04a5 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Sat, 20 Jul 2024 00:22:53 +0200 Subject: [PATCH] add settingsModel --- src/Model/settingsModel.ts | 45 +++++++++++++++++++++++++++++++++++++- src/Model/storageModel.ts | 2 +- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/Model/settingsModel.ts b/src/Model/settingsModel.ts index fbccf411..8715a1e3 100644 --- a/src/Model/settingsModel.ts +++ b/src/Model/settingsModel.ts @@ -1 +1,44 @@ -// this file is responsible for all settings. \ No newline at end of file +// this file is responsible for all settings. + +import StorageModel, { storageKeys } from "./storageModel"; + +export default class SettingsModel { + storageModel: StorageModel; + + username: string; + firstDayOfWeek: number; + + // set + setName(newValue: string): void { + this.username = newValue; + const path = storageKeys.username; + this.storageModel.store(path, newValue); + } + + setFirstDayOfWeek(newValue: number): void { + this.firstDayOfWeek = newValue; + const path = storageKeys.firstDayOfWeek; + this.storageModel.storeStringifiable(path, newValue); + } + + // restore + restoreUsername(): void { + const path = storageKeys.username; + const content = this.storageModel.restore(path); + this.username == content ?? ""; + } + + restoreFirstDayofWeek(): void { + const path = storageKeys.firstDayOfWeek; + const content = this.storageModel.restoreStringifiable(path); + this.firstDayOfWeek == content ?? 0; + } + + // init + constructor(storageModel: StorageModel) { + this.storageModel = storageModel; + + this.restoreUsername(); + this.restoreFirstDayofWeek(); + } +} diff --git a/src/Model/storageModel.ts b/src/Model/storageModel.ts index f9a237ac..4526a6b3 100644 --- a/src/Model/storageModel.ts +++ b/src/Model/storageModel.ts @@ -95,7 +95,7 @@ export const storageKeys = { socketAddress: `${DATA_VERSION}/connection/socket-address`, // settings - userName: `${DATA_VERSION}/settings/user-name`, + username: `${DATA_VERSION}/settings/user-name`, firstDayOfWeek: `${DATA_VERSION}/settings/first-day-of-week`, // history