mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2024-11-05 11:39:30 +01:00
Merge branch 'krille/username-input-label' into 'main'
Krille/username input label See merge request famedly/fluffychat!754
This commit is contained in:
commit
6216f6545a
@ -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"
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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),
|
||||
),
|
||||
),
|
||||
],
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user