diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index 3b2b8a6..a432155 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -50,7 +50,7 @@ class LoginPage extends HookConsumerWidget { ); isLoggingIn.value = false; } else { - Navigator.pop(context); + Navigator.of(context).pop(); } passwordFocusNode.requestFocus(); isLoggingIn.value = false; @@ -60,7 +60,7 @@ class LoginPage extends HookConsumerWidget { appBar: Appbar( leading: IconButton( icon: Icon(Icons.arrow_back), - onPressed: () => Navigator.pop(context), + onPressed: () => Navigator.of(context).pop(), ), ), body: AlertDialog( @@ -81,22 +81,16 @@ class LoginPage extends HookConsumerWidget { }, decoration: InputDecoration( label: Text("Username"), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide( - width: hasError.value ? 4 : 2, - color: hasError.value - ? theme.colorScheme.error - : theme.colorScheme.primary, - ), - ), - enabledBorder: OutlineInputBorder( - borderSide: BorderSide( - width: hasError.value ? 4 : 2, - color: hasError.value - ? theme.colorScheme.error - : theme.colorScheme.primary, - ), - ), + focusedBorder: hasError.value + ? OutlineInputBorder( + borderSide: BorderSide(color: theme.colorScheme.error), + ) + : null, + enabledBorder: hasError.value + ? OutlineInputBorder( + borderSide: BorderSide(color: theme.colorScheme.error), + ) + : null, ), controller: username, ), @@ -113,22 +107,16 @@ class LoginPage extends HookConsumerWidget { selectAllOnFocus: true, decoration: InputDecoration( label: Text("Password"), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide( - width: hasError.value ? 4 : 2, - color: hasError.value - ? theme.colorScheme.error - : theme.colorScheme.primary, - ), - ), - enabledBorder: OutlineInputBorder( - borderSide: BorderSide( - width: hasError.value ? 4 : 2, - color: hasError.value - ? theme.colorScheme.error - : theme.colorScheme.primary, - ), - ), + focusedBorder: hasError.value + ? OutlineInputBorder( + borderSide: BorderSide(color: theme.colorScheme.error), + ) + : null, + enabledBorder: hasError.value + ? OutlineInputBorder( + borderSide: BorderSide(color: theme.colorScheme.error), + ) + : null, ), controller: password, obscureText: true, @@ -136,7 +124,10 @@ class LoginPage extends HookConsumerWidget { ], ), actions: [ - TextButton(onPressed: () => tryLogin(), child: Text("Sign In")), + TextButton( + onPressed: hasError.value ? null : () => tryLogin(), + child: Text("Sign In"), + ), ], ), ); diff --git a/lib/pages/select_server_page.dart b/lib/pages/select_server_page.dart index 8a8ac9f..9ef1d49 100644 --- a/lib/pages/select_server_page.dart +++ b/lib/pages/select_server_page.dart @@ -113,28 +113,26 @@ class SelectServerPage extends HookConsumerWidget { decoration: InputDecoration( labelText: "Homeserver URL (e.g. matrix.org)", hintText: "e.g. matrix.org", - focusedBorder: OutlineInputBorder( - borderSide: BorderSide( - width: hasError.value ? 4 : 2, - color: hasError.value - ? theme.colorScheme.error - : theme.colorScheme.primary, - ), - ), - enabledBorder: OutlineInputBorder( - borderSide: BorderSide( - width: hasError.value ? 4 : 2, - color: hasError.value - ? theme.colorScheme.error - : theme.colorScheme.primary, - ), - ), + focusedBorder: hasError.value + ? OutlineInputBorder( + borderSide: BorderSide( + color: theme.colorScheme.error, + ), + ) + : null, + enabledBorder: hasError.value + ? OutlineInputBorder( + borderSide: BorderSide( + color: theme.colorScheme.error, + ), + ) + : null, ), ), ), IconButton.filled( tooltip: "Confirm homeserver choice", - onPressed: isLoading.value + onPressed: isLoading.value || hasError.value ? null : () => setHomeserver( Uri.tryParse(homeserverUrl.text),