feat: add option to go back from user settings signup page by logging out (#1870)
This commit is contained in:
parent
8a4ca7ee98
commit
2012c45900
3 changed files with 30 additions and 12 deletions
|
|
@ -9,12 +9,14 @@ class PangeaLoginScaffold extends StatelessWidget {
|
|||
final Uint8List? mainAssetBytes;
|
||||
final List<Widget> children;
|
||||
final bool showAppName;
|
||||
final AppBar? customAppBar;
|
||||
|
||||
const PangeaLoginScaffold({
|
||||
required this.children,
|
||||
this.mainAssetPath = "assets/pangea/PangeaChat_Glow_Logo.png",
|
||||
this.mainAssetBytes,
|
||||
this.showAppName = true,
|
||||
this.customAppBar,
|
||||
super.key,
|
||||
});
|
||||
|
||||
|
|
@ -22,7 +24,7 @@ class PangeaLoginScaffold extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return SafeArea(
|
||||
child: Scaffold(
|
||||
appBar: AppBar(),
|
||||
appBar: customAppBar ?? AppBar(),
|
||||
body: LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
return SingleChildScrollView(
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import 'package:fluffychat/pangea/login/pages/pangea_login_scaffold.dart';
|
|||
import 'package:fluffychat/pangea/login/pages/user_settings.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/full_width_button.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/tos_checkbox.dart';
|
||||
import 'package:fluffychat/pangea/user/utils/p_logout.dart';
|
||||
|
||||
class UserSettingsView extends StatelessWidget {
|
||||
final UserSettingsState controller;
|
||||
|
|
@ -69,6 +70,14 @@ class UserSettingsView extends StatelessWidget {
|
|||
return Form(
|
||||
key: controller.formKey,
|
||||
child: PangeaLoginScaffold(
|
||||
customAppBar: AppBar(
|
||||
leading: BackButton(
|
||||
onPressed: () => pLogoutAction(
|
||||
context,
|
||||
bypassWarning: true,
|
||||
),
|
||||
),
|
||||
),
|
||||
showAppName: false,
|
||||
mainAssetPath: controller.selectedAvatarPath ?? "",
|
||||
mainAssetBytes: controller.avatar,
|
||||
|
|
|
|||
|
|
@ -6,18 +6,25 @@ import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.
|
|||
import 'package:fluffychat/widgets/future_loading_dialog.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
||||
void pLogoutAction(BuildContext context, {bool? isDestructiveAction}) async {
|
||||
if (await showOkCancelAlertDialog(
|
||||
useRootNavigator: false,
|
||||
context: context,
|
||||
title: L10n.of(context).areYouSureYouWantToLogout,
|
||||
message: L10n.of(context).dontForgetPassword,
|
||||
okLabel: L10n.of(context).logout,
|
||||
cancelLabel: L10n.of(context).cancel,
|
||||
) ==
|
||||
OkCancelResult.cancel) {
|
||||
return;
|
||||
void pLogoutAction(
|
||||
BuildContext context, {
|
||||
bool? isDestructiveAction,
|
||||
bool bypassWarning = false,
|
||||
}) async {
|
||||
if (!bypassWarning) {
|
||||
if (await showOkCancelAlertDialog(
|
||||
useRootNavigator: false,
|
||||
context: context,
|
||||
title: L10n.of(context).areYouSureYouWantToLogout,
|
||||
message: L10n.of(context).dontForgetPassword,
|
||||
okLabel: L10n.of(context).logout,
|
||||
cancelLabel: L10n.of(context).cancel,
|
||||
) ==
|
||||
OkCancelResult.cancel) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
final matrix = Matrix.of(context);
|
||||
|
||||
// before wiping out locally cached construct data, save it to the server
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue