add guard cannotSendMessage

This commit is contained in:
marlon-erler
2024-07-20 21:04:41 +02:00
parent 9f93856829
commit f3e4be375f
6 changed files with 51 additions and 18 deletions
+10 -7
View File
@@ -6,21 +6,23 @@ export default class SettingsViewModel {
settingsModel: SettingsModel;
// state
nameInput: React.State<string> = new React.State("");
username: React.State<string> = new React.State("");
usernameInput: React.State<string> = new React.State("");
firstDayOfWeekInput: React.State<number> = new React.State(0);
// guards
cannotSetName: React.State<boolean> = React.createProxyState(
[this.nameInput],
[this.usernameInput],
() =>
this.nameInput.value == "" ||
this.nameInput.value == this.settingsModel.username
this.usernameInput.value == "" ||
this.usernameInput.value == this.settingsModel.username
);
// set
setName = (): void => {
this.settingsModel.setName(this.nameInput.value);
this.nameInput.callSubscriptions();
this.settingsModel.setName(this.usernameInput.value);
this.username.value = this.settingsModel.username;
this.usernameInput.callSubscriptions();
};
setFirstDayofWeek = (): void => {
@@ -31,7 +33,8 @@ export default class SettingsViewModel {
constructor(settingsModel: SettingsModel) {
this.settingsModel = settingsModel;
this.nameInput.value = settingsModel.username;
this.username.value = settingsModel.username;
this.usernameInput.value = settingsModel.username;
this.firstDayOfWeekInput.value = settingsModel.firstDayOfWeek;
// subscriptions