2024-07-20 00:22:53 +02:00
|
|
|
// this file is responsible for all settings.
|
|
|
|
|
|
2024-07-22 03:01:04 +02:00
|
|
|
import StorageModel, { filePaths } from "./storageModel";
|
2024-07-20 00:22:53 +02:00
|
|
|
|
|
|
|
|
export default class SettingsModel {
|
|
|
|
|
storageModel: StorageModel;
|
|
|
|
|
|
2024-07-22 02:23:21 +02:00
|
|
|
// data
|
2024-07-20 00:22:53 +02:00
|
|
|
username: string;
|
2024-07-22 01:13:20 +02:00
|
|
|
firstDayOfWeek: string;
|
2024-07-20 00:22:53 +02:00
|
|
|
|
2024-07-22 03:01:04 +02:00
|
|
|
// storage
|
2024-07-20 00:22:53 +02:00
|
|
|
setName(newValue: string): void {
|
|
|
|
|
this.username = newValue;
|
2024-07-22 03:01:04 +02:00
|
|
|
const path = StorageModel.getPath(
|
|
|
|
|
"settingsModel",
|
|
|
|
|
filePaths.settingsModel.username
|
|
|
|
|
);
|
2024-07-21 21:41:19 +02:00
|
|
|
this.storageModel.write(path, newValue);
|
2024-07-20 00:22:53 +02:00
|
|
|
}
|
|
|
|
|
|
2024-07-22 01:13:20 +02:00
|
|
|
setFirstDayOfWeek(newValue: string): void {
|
2024-07-20 00:22:53 +02:00
|
|
|
this.firstDayOfWeek = newValue;
|
2024-07-22 03:01:04 +02:00
|
|
|
const path = StorageModel.getPath(
|
|
|
|
|
"settingsModel",
|
|
|
|
|
filePaths.settingsModel.firstDayOfWeek
|
|
|
|
|
);
|
2024-07-22 01:13:20 +02:00
|
|
|
this.storageModel.write(path, newValue);
|
2024-07-20 00:22:53 +02:00
|
|
|
}
|
|
|
|
|
|
2024-07-21 21:41:19 +02:00
|
|
|
// load
|
|
|
|
|
loadUsernam(): void {
|
2024-07-22 03:01:04 +02:00
|
|
|
const path = StorageModel.getPath(
|
|
|
|
|
"settingsModel",
|
|
|
|
|
filePaths.settingsModel.username
|
|
|
|
|
);
|
2024-07-21 21:41:19 +02:00
|
|
|
const content = this.storageModel.read(path);
|
2024-07-20 02:00:00 +02:00
|
|
|
this.username = content ?? "";
|
2024-07-20 00:22:53 +02:00
|
|
|
}
|
|
|
|
|
|
2024-07-21 21:41:19 +02:00
|
|
|
loadFirstDayofWeek(): void {
|
2024-07-22 03:01:04 +02:00
|
|
|
const path = StorageModel.getPath(
|
|
|
|
|
"settingsModel",
|
|
|
|
|
filePaths.settingsModel.firstDayOfWeek
|
|
|
|
|
);
|
2024-07-22 01:13:20 +02:00
|
|
|
const content = this.storageModel.read(path);
|
|
|
|
|
this.firstDayOfWeek = content ?? "0";
|
2024-07-20 00:22:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// init
|
|
|
|
|
constructor(storageModel: StorageModel) {
|
|
|
|
|
this.storageModel = storageModel;
|
|
|
|
|
|
2024-07-21 21:41:19 +02:00
|
|
|
this.loadUsernam();
|
|
|
|
|
this.loadFirstDayofWeek();
|
2024-07-20 00:22:53 +02:00
|
|
|
}
|
|
|
|
|
}
|