Server selection and login are on different pages. #33

Manually merged
Henry-Hiles merged 8 commits from istalri/nexus:better-login into better-login 2026-06-05 16:44:35 -04:00
2 changed files with 12 additions and 9 deletions
Showing only changes of commit 28be105552 - Show all commits

Fixed inconsistency with focus change in error case on login page.

istalri 2026-06-02 21:56:43 +02:00

View file

@ -81,6 +81,14 @@ class LoginPage extends HookConsumerWidget {
}, },
decoration: InputDecoration( decoration: InputDecoration(
label: Text("Username"), label: Text("Username"),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
width: hasError.value ? 4 : 2,
color: hasError.value
? theme.colorScheme.error
: theme.colorScheme.primary,
),
),
enabledBorder: OutlineInputBorder( enabledBorder: OutlineInputBorder(
borderSide: BorderSide( borderSide: BorderSide(
width: hasError.value ? 4 : 2, width: hasError.value ? 4 : 2,

View file

@ -49,20 +49,15 @@ class SelectServerPage extends HookConsumerWidget {
); );
} else { } else {
homeserverUrl.text = newHomeserver!.origin; homeserverUrl.text = newHomeserver!.origin;
Henry-Hiles marked this conversation as resolved

Instead of setting homeserver in client state controller, can we just Navigator.of(context).push the LoginPage, passing in a homeserver as an argument?

Instead of setting homeserver in client state controller, can we just `Navigator.of(context).push` the `LoginPage`, passing in a `homeserver` as an argument?
Navigator.push( await Navigator.of(context).push(
context, MaterialPageRoute(builder: (_) => LoginPage(homeserver: newUrl)),
MaterialPageRoute(
builder: (_) => LoginPage(homeserver: Uri.parse(newUrl)),
),
); );
} }
} }
if (context.mounted) {
homeserverFocusNode.requestFocus(); homeserverFocusNode.requestFocus();
isLoading.value = false; isLoading.value = false;
} }
}
return Scaffold( return Scaffold(
appBar: Appbar(), appBar: Appbar(),