diff --git a/dist/index.js b/dist/index.js index 0acd4f64..719eafcb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -653,6 +653,10 @@ [this.primaryChannel, this.primaryChannelInput], () => this.primaryChannelInput.value == "" || this.primaryChannelInput.value == this.primaryChannel.value ); + cannotAddSecondaryChannel = createProxyState( + [this.newSecondaryChannelInput], + () => this.newSecondaryChannelInput.value == "" + ); cannotSetEncryptionKey; cannotSendMessage; // sorting @@ -992,7 +996,8 @@ { class: "primary", "aria-label": translations.chatPage.settings.addSecondaryChannelButtonAudioLabel, - "on:click": chatViewModel.addSecondaryChannel + "on:click": chatViewModel.addSecondaryChannel, + "toggle:disabled": chatViewModel.cannotAddSecondaryChannel }, /* @__PURE__ */ createElement("span", { class: "icon" }, "add") )), /* @__PURE__ */ createElement( @@ -1045,7 +1050,15 @@ "on:click": setColor } ); - })), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("button", { class: "danger width-input flex-no", "on:click": chatViewModel.remove }, translations.chatPage.settings.deleteChatButton, /* @__PURE__ */ createElement("span", { class: "icon" }, "delete_forever")))); + })), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement( + "button", + { + class: "danger width-input flex-no", + "on:click": chatViewModel.remove + }, + translations.chatPage.settings.deleteChatButton, + /* @__PURE__ */ createElement("span", { class: "icon" }, "delete_forever") + ))); } // src/View/chatPage.tsx diff --git a/src/View/ChatPages/settingsPage.tsx b/src/View/ChatPages/settingsPage.tsx index fd8accf9..3eda6da6 100644 --- a/src/View/ChatPages/settingsPage.tsx +++ b/src/View/ChatPages/settingsPage.tsx @@ -63,6 +63,7 @@ export function SettingsPage(chatViewModel: ChatViewModel) { translations.chatPage.settings.addSecondaryChannelButtonAudioLabel } on:click={chatViewModel.addSecondaryChannel} + toggle:disabled={chatViewModel.cannotAddSecondaryChannel} > add @@ -138,7 +139,10 @@ export function SettingsPage(chatViewModel: ChatViewModel) {
- diff --git a/src/ViewModel/chatViewModel.tsx b/src/ViewModel/chatViewModel.tsx index df41570a..edb3378f 100644 --- a/src/ViewModel/chatViewModel.tsx +++ b/src/ViewModel/chatViewModel.tsx @@ -45,6 +45,11 @@ export default class ChatViewModel { this.primaryChannelInput.value == "" || this.primaryChannelInput.value == this.primaryChannel.value ); + cannotAddSecondaryChannel: React.State = React.createProxyState( + [this.newSecondaryChannelInput], + () => + this.newSecondaryChannelInput.value == "" + ); cannotSetEncryptionKey: React.State; cannotSendMessage: React.State;