mirror of
				https://gitlab.com/famedly/fluffychat.git
				synced 2025-11-04 06:17:26 +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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user