feat: add option to go back from user settings signup page by logging out (#1870)

pull/1688/head
ggurdin 9 months ago committed by GitHub
parent 8a4ca7ee98
commit 2012c45900
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -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…
Cancel
Save