Merge branch 'krille/username-input-label' into 'main'

Krille/username input label

See merge request famedly/fluffychat!754
This commit is contained in:
Krille Fear 2022-02-19 13:20:51 +00:00
commit 6216f6545a
5 changed files with 42 additions and 27 deletions

View File

@ -2731,5 +2731,6 @@
"unsupportedAndroidVersion": "Unsupported Android version",
"unsupportedAndroidVersionLong": "This feature required a never Android version. Please check for updates or Lineage OS support.",
"videoCallsBetaWarning": "Please note that video calls are currently in beta. They might not work as expected or work at all on all platforms.",
"experimentalVideoCalls": "Experimental video calls"
"experimentalVideoCalls": "Experimental video calls",
"emailOrUsername": "Email or username"
}

View File

@ -153,19 +153,22 @@ class LoginController extends State<Login> {
final input = await showTextInputDialog(
useRootNavigator: false,
context: context,
title: L10n.of(context)!.enterAnEmailAddress,
title: L10n.of(context)!.passwordForgotten,
message: L10n.of(context)!.enterAnEmailAddress,
okLabel: L10n.of(context)!.ok,
cancelLabel: L10n.of(context)!.cancel,
fullyCapitalizedForMaterial: false,
textFields: [
DialogTextField(
initialText:
usernameController.text.isEmail ? usernameController.text : '',
hintText: L10n.of(context)!.enterAnEmailAddress,
keyboardType: TextInputType.emailAddress,
),
],
);
if (input == null) return;
final clientSecret =
Matrix.of(context).client.generateUniqueTransactionId();
final clientSecret = DateTime.now().millisecondsSinceEpoch.toString();
final response = await showFutureLoadingDialog(
context: context,
future: () =>
@ -182,14 +185,17 @@ class LoginController extends State<Login> {
title: L10n.of(context)!.weSentYouAnEmail,
message: L10n.of(context)!.pleaseClickOnLink,
okLabel: L10n.of(context)!.iHaveClickedOnLink,
fullyCapitalizedForMaterial: false,
);
if (ok != OkCancelResult.ok) return;
final password = await showTextInputDialog(
useRootNavigator: false,
context: context,
title: L10n.of(context)!.chooseAStrongPassword,
title: L10n.of(context)!.passwordForgotten,
message: L10n.of(context)!.chooseAStrongPassword,
okLabel: L10n.of(context)!.ok,
cancelLabel: L10n.of(context)!.cancel,
fullyCapitalizedForMaterial: false,
textFields: [
const DialogTextField(
hintText: '******',
@ -200,17 +206,22 @@ class LoginController extends State<Login> {
],
);
if (password == null) return;
final data = <String, dynamic>{
'new_password': password.single,
"auth": AuthenticationThreePidCreds(
type: AuthenticationTypes.emailIdentity,
threepidCreds: ThreepidCreds(
sid: response.result!.sid,
clientSecret: clientSecret,
),
).toJson(),
};
final success = await showFutureLoadingDialog(
context: context,
future: () => Matrix.of(context).getLoginClient().changePassword(
password.single,
auth: AuthenticationThreePidCreds(
type: AuthenticationTypes.emailIdentity,
threepidCreds: ThreepidCreds(
sid: response.result!.sid,
clientSecret: clientSecret,
),
),
future: () => Matrix.of(context).getLoginClient().request(
RequestType.POST,
'/client/r0/account/password',
data: data,
),
);
if (success.error == null) {

View File

@ -38,13 +38,14 @@ class LoginView extends StatelessWidget {
autofocus: true,
onChanged: controller.checkWellKnownWithCoolDown,
controller: controller.usernameController,
keyboardType: TextInputType.emailAddress,
autofillHints:
controller.loading ? null : [AutofillHints.username],
decoration: InputDecoration(
prefixIcon: const Icon(Icons.account_box_outlined),
hintText: L10n.of(context)!.username,
hintText: L10n.of(context)!.emailOrUsername,
errorText: controller.usernameError,
labelText: L10n.of(context)!.username),
labelText: L10n.of(context)!.emailOrUsername),
),
),
Padding(
@ -87,16 +88,18 @@ class LoginView extends StatelessWidget {
),
),
),
Center(
child: TextButton(
onPressed: controller.passwordForgotten,
child: Text(
L10n.of(context)!.passwordForgotten,
style: const TextStyle(
color: Colors.blue,
decoration: TextDecoration.underline,
),
const Divider(height: 32),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 12),
child: ElevatedButton(
onPressed: controller.loading
? null
: controller.passwordForgotten,
style: ElevatedButton.styleFrom(
primary: Theme.of(context).secondaryHeaderColor,
onPrimary: Colors.red,
),
child: Text(L10n.of(context)!.passwordForgotten),
),
),
],

View File

@ -960,7 +960,7 @@ packages:
name: matrix
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.10"
version: "0.8.11"
matrix_api_lite:
dependency: transitive
description:

View File

@ -57,7 +57,7 @@ dependencies:
intl: any
localstorage: ^4.0.0+1
lottie: ^1.2.2
matrix: ^0.8.10
matrix: ^0.8.11
matrix_link_text: ^1.0.2
open_noti_settings: ^0.4.0
package_info_plus: ^1.3.0