CleanUp and last fixes
- Borders only get overwritten in error case - Navigator.pop(context) -> Navigator.of(context).pop() - Confirm homeserver und Sign in button disabled as long as error is active
This commit is contained in:
parent
004c0cd8f4
commit
248b77e4c5
2 changed files with 41 additions and 52 deletions
|
|
@ -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"),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -113,28 +113,26 @@ class SelectServerPage extends HookConsumerWidget {
|
|||
decoration: InputDecoration(
|
||||
labelText: "Homeserver URL (e.g. matrix.org)",
|
||||
hintText: "e.g. matrix.org",
|
||||
focusedBorder: OutlineInputBorder(
|
||||
focusedBorder: hasError.value
|
||||
? OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
width: hasError.value ? 4 : 2,
|
||||
color: hasError.value
|
||||
? theme.colorScheme.error
|
||||
: theme.colorScheme.primary,
|
||||
color: theme.colorScheme.error,
|
||||
),
|
||||
),
|
||||
enabledBorder: OutlineInputBorder(
|
||||
)
|
||||
: null,
|
||||
enabledBorder: hasError.value
|
||||
? OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
width: hasError.value ? 4 : 2,
|
||||
color: hasError.value
|
||||
? theme.colorScheme.error
|
||||
: theme.colorScheme.primary,
|
||||
),
|
||||
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),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue