From 924c7fe5b8b9319ebccec34312a2906a1f15a8d1 Mon Sep 17 00:00:00 2001 From: Gabby Gurdin Date: Mon, 25 Mar 2024 11:25:41 -0400 Subject: [PATCH] allow full username in login --- lib/pages/login/login.dart | 19 ++++++++++++------- lib/pages/login/login_view.dart | 4 +++- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index 61a4fe5c8..19ceadf18 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -1,16 +1,15 @@ import 'dart:async'; -import 'package:flutter/material.dart'; - import 'package:adaptive_dialog/adaptive_dialog.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:future_loading_dialog/future_loading_dialog.dart'; -import 'package:matrix/matrix.dart'; - import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/utils/firebase_analytics.dart'; import 'package:fluffychat/utils/localized_exception_extension.dart'; import 'package:fluffychat/widgets/matrix.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:future_loading_dialog/future_loading_dialog.dart'; +import 'package:matrix/matrix.dart'; + import '../../utils/platform_infos.dart'; import 'login_view.dart'; @@ -75,7 +74,13 @@ class LoginController extends State { _coolDown?.cancel(); try { - final username = usernameController.text; + // #Pangea + String username = usernameController.text; + if (RegExp(r'^@(\w+):').hasMatch(username)) { + username = + RegExp(r'^@(\w+):').allMatches(username).elementAt(0).group(1)!; + } + // Pangea# AuthenticationIdentifier identifier; if (username.isEmail) { identifier = AuthenticationThirdPartyIdentifier( diff --git a/lib/pages/login/login_view.dart b/lib/pages/login/login_view.dart index f4d2bf3af..65a297c66 100644 --- a/lib/pages/login/login_view.dart +++ b/lib/pages/login/login_view.dart @@ -89,7 +89,9 @@ class LoginView extends StatelessWidget { readOnly: controller.loading, autocorrect: false, autofocus: true, - onChanged: controller.checkWellKnownWithCoolDown, + // #Pangea + // onChanged: controller.checkWellKnownWithCoolDown, + // Pangea# controller: controller.usernameController, textInputAction: TextInputAction.next, keyboardType: TextInputType.emailAddress,