feat: Implement new sign in flow

This commit is contained in:
Christian Kußowski 2026-02-01 17:57:03 +01:00
commit 4d7f0295ca
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
19 changed files with 944 additions and 559 deletions

View file

@ -17,7 +17,7 @@ import 'package:fluffychat/pages/chat_members/chat_members.dart';
import 'package:fluffychat/pages/chat_permissions_settings/chat_permissions_settings.dart';
import 'package:fluffychat/pages/chat_search/chat_search_page.dart';
import 'package:fluffychat/pages/device_settings/device_settings.dart';
import 'package:fluffychat/pages/homeserver_picker/homeserver_picker.dart';
import 'package:fluffychat/pages/intro/intro_page.dart';
import 'package:fluffychat/pages/invitation_selection/invitation_selection.dart';
import 'package:fluffychat/pages/login/login.dart';
import 'package:fluffychat/pages/new_group/new_group.dart';
@ -32,6 +32,7 @@ import 'package:fluffychat/pages/settings_notifications/settings_notifications.d
import 'package:fluffychat/pages/settings_password/settings_password.dart';
import 'package:fluffychat/pages/settings_security/settings_security.dart';
import 'package:fluffychat/pages/settings_style/settings_style.dart';
import 'package:fluffychat/pages/sign_in/sign_in_page.dart';
import 'package:fluffychat/widgets/config_viewer.dart';
import 'package:fluffychat/widgets/layouts/empty_page.dart';
import 'package:fluffychat/widgets/layouts/two_column_layout.dart';
@ -66,13 +67,22 @@ abstract class AppRoutes {
),
GoRoute(
path: '/home',
pageBuilder: (context, state) => defaultPageBuilder(
context,
state,
const HomeserverPicker(addMultiAccount: false),
),
pageBuilder: (context, state) =>
defaultPageBuilder(context, state, const IntroPage()),
redirect: loggedInRedirect,
routes: [
GoRoute(
path: 'sign_in',
pageBuilder: (context, state) =>
defaultPageBuilder(context, state, SignInPage(signUp: false)),
redirect: loggedInRedirect,
),
GoRoute(
path: 'sign_up',
pageBuilder: (context, state) =>
defaultPageBuilder(context, state, SignInPage(signUp: true)),
redirect: loggedInRedirect,
),
GoRoute(
path: 'login',
pageBuilder: (context, state) => defaultPageBuilder(
@ -252,12 +262,27 @@ abstract class AppRoutes {
GoRoute(
path: 'addaccount',
redirect: loggedOutRedirect,
pageBuilder: (context, state) => defaultPageBuilder(
context,
state,
const HomeserverPicker(addMultiAccount: true),
),
pageBuilder: (context, state) =>
defaultPageBuilder(context, state, const IntroPage()),
routes: [
GoRoute(
path: 'sign_in',
pageBuilder: (context, state) => defaultPageBuilder(
context,
state,
SignInPage(signUp: false),
),
redirect: loggedOutRedirect,
),
GoRoute(
path: 'sign_up',
pageBuilder: (context, state) => defaultPageBuilder(
context,
state,
SignInPage(signUp: true),
),
redirect: loggedOutRedirect,
),
GoRoute(
path: 'login',
pageBuilder: (context, state) => defaultPageBuilder(