1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-10-23 15:03:22 +00:00
comunicmobile/lib/ui/routes/account_settings/account_security_settings.dart

71 lines
1.9 KiB
Dart
Raw Normal View History

2020-04-30 16:19:01 +00:00
import 'package:comunic/helpers/settings_helper.dart';
import 'package:comunic/ui/dialogs/input_new_password_dialog.dart';
2020-04-30 11:32:22 +00:00
import 'package:comunic/ui/dialogs/input_user_password_dialog.dart';
2020-04-29 15:28:47 +00:00
import 'package:comunic/utils/intl_utils.dart';
2020-04-30 16:19:01 +00:00
import 'package:comunic/utils/ui_utils.dart';
2020-04-29 15:28:47 +00:00
import 'package:flutter/material.dart';
2020-04-30 11:32:22 +00:00
import 'package:settings_ui/settings_ui.dart';
2020-04-29 15:28:47 +00:00
/// Account security settings
///
/// @author Pierre HUBERT
class AccountSecuritySettingsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(tr("Security settings")),
),
2020-04-30 11:32:22 +00:00
body: _AccountSecuritySettingsScreenBody(),
2020-04-29 15:28:47 +00:00
);
}
}
2020-04-30 11:32:22 +00:00
class _AccountSecuritySettingsScreenBody extends StatefulWidget {
@override
__AccountSecuritySettingsScreenBodyState createState() =>
__AccountSecuritySettingsScreenBodyState();
}
class __AccountSecuritySettingsScreenBodyState
extends State<_AccountSecuritySettingsScreenBody> {
@override
Widget build(BuildContext context) {
return SettingsList(
sections: [
SettingsSection(
title: tr("Password"),
tiles: [
SettingsTile(
title: tr("Change password"),
onTap: _changePassword,
),
],
)
],
);
}
/// Change current user password
void _changePassword() async {
2020-04-30 16:19:01 +00:00
try {
final currPassword = await showUserPasswordDialog(context);
if (currPassword == null) return;
final newPassword = await showInputNewPassword(context);
if (newPassword == null) return;
await SettingsHelper.changePassword(currPassword, newPassword);
showSimpleSnack(
context, tr("Your password has been successfully changed!"));
} catch (e, stack) {
print("Could not update current user password! $e\n$stack");
showSimpleSnack(context, tr("Could not update password!"));
}
2020-04-30 11:32:22 +00:00
}
}