disable button for previous connections when empty
This commit is contained in:
@@ -51,6 +51,7 @@ export function HomePage(
|
||||
class="flex justify-center"
|
||||
aria-label={translations.homePage.manageConnectionsAudioLabel}
|
||||
on:click={connectionViewModel.showConnectionModal}
|
||||
toggle:disabled={connectionViewModel.hasNoPreviousConnections}
|
||||
>
|
||||
<span class="icon">history</span>
|
||||
</button>
|
||||
|
||||
@@ -15,7 +15,7 @@ export default class ConnectionViewModel {
|
||||
|
||||
previousAddresses: React.ListState<string> = new React.ListState();
|
||||
|
||||
// toggles
|
||||
// guards
|
||||
cannotConnect: React.State<boolean> = React.createProxyState(
|
||||
[this.serverAddressInput, this.isConnected],
|
||||
() =>
|
||||
@@ -27,6 +27,10 @@ export default class ConnectionViewModel {
|
||||
[this.isConnected],
|
||||
() => this.isConnected.value == false
|
||||
);
|
||||
hasNoPreviousConnections: React.State<boolean> = React.createProxyState(
|
||||
[this.previousAddresses],
|
||||
() => this.previousAddresses.value.size == 0
|
||||
);
|
||||
|
||||
// handlers
|
||||
connectionChangeHandler = (): void => {
|
||||
@@ -45,11 +49,11 @@ export default class ConnectionViewModel {
|
||||
connect = (): void => {
|
||||
this.connectToAddress(this.serverAddressInput.value);
|
||||
};
|
||||
|
||||
|
||||
connectToAddress = (address: string): void => {
|
||||
this.connectionModel.connect(address);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
disconnect = (): void => {
|
||||
this.connectionModel.disconnect();
|
||||
};
|
||||
@@ -57,7 +61,7 @@ export default class ConnectionViewModel {
|
||||
removePreviousAddress = (address: string): void => {
|
||||
this.connectionModel.removeAddress(address);
|
||||
this.updatePreviousAddresses();
|
||||
}
|
||||
};
|
||||
|
||||
// view methods
|
||||
showConnectionModal = (): void => {
|
||||
@@ -71,7 +75,7 @@ export default class ConnectionViewModel {
|
||||
updatePreviousAddresses = (): void => {
|
||||
this.previousAddresses.clear();
|
||||
this.previousAddresses.add(...this.connectionModel.addresses);
|
||||
}
|
||||
};
|
||||
|
||||
// init
|
||||
constructor(storageModel: StorageModel) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class SettingsViewModel {
|
||||
nameInput: React.State<string> = new React.State("");
|
||||
firstDayOfWeekInput: React.State<number> = new React.State(0);
|
||||
|
||||
// toggles
|
||||
// guards
|
||||
cannotSetName: React.State<boolean> = React.createProxyState(
|
||||
[this.nameInput],
|
||||
() =>
|
||||
|
||||
Reference in New Issue
Block a user