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 Uint8List? mainAssetBytes;
final List<Widget> children; final List<Widget> children;
final bool showAppName; final bool showAppName;
final AppBar? customAppBar;
const PangeaLoginScaffold({ const PangeaLoginScaffold({
required this.children, required this.children,
this.mainAssetPath = "assets/pangea/PangeaChat_Glow_Logo.png", this.mainAssetPath = "assets/pangea/PangeaChat_Glow_Logo.png",
this.mainAssetBytes, this.mainAssetBytes,
this.showAppName = true, this.showAppName = true,
this.customAppBar,
super.key, super.key,
}); });
@ -22,7 +24,7 @@ class PangeaLoginScaffold extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SafeArea( return SafeArea(
child: Scaffold( child: Scaffold(
appBar: AppBar(), appBar: customAppBar ?? AppBar(),
body: LayoutBuilder( body: LayoutBuilder(
builder: (context, constraints) { builder: (context, constraints) {
return SingleChildScrollView( 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/pages/user_settings.dart';
import 'package:fluffychat/pangea/login/widgets/full_width_button.dart'; import 'package:fluffychat/pangea/login/widgets/full_width_button.dart';
import 'package:fluffychat/pangea/login/widgets/tos_checkbox.dart'; import 'package:fluffychat/pangea/login/widgets/tos_checkbox.dart';
import 'package:fluffychat/pangea/user/utils/p_logout.dart';
class UserSettingsView extends StatelessWidget { class UserSettingsView extends StatelessWidget {
final UserSettingsState controller; final UserSettingsState controller;
@ -69,6 +70,14 @@ class UserSettingsView extends StatelessWidget {
return Form( return Form(
key: controller.formKey, key: controller.formKey,
child: PangeaLoginScaffold( child: PangeaLoginScaffold(
customAppBar: AppBar(
leading: BackButton(
onPressed: () => pLogoutAction(
context,
bypassWarning: true,
),
),
),
showAppName: false, showAppName: false,
mainAssetPath: controller.selectedAvatarPath ?? "", mainAssetPath: controller.selectedAvatarPath ?? "",
mainAssetBytes: controller.avatar, mainAssetBytes: controller.avatar,

@ -6,7 +6,12 @@ import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.
import 'package:fluffychat/widgets/future_loading_dialog.dart'; import 'package:fluffychat/widgets/future_loading_dialog.dart';
import 'package:fluffychat/widgets/matrix.dart'; import 'package:fluffychat/widgets/matrix.dart';
void pLogoutAction(BuildContext context, {bool? isDestructiveAction}) async { void pLogoutAction(
BuildContext context, {
bool? isDestructiveAction,
bool bypassWarning = false,
}) async {
if (!bypassWarning) {
if (await showOkCancelAlertDialog( if (await showOkCancelAlertDialog(
useRootNavigator: false, useRootNavigator: false,
context: context, context: context,
@ -18,6 +23,8 @@ void pLogoutAction(BuildContext context, {bool? isDestructiveAction}) async {
OkCancelResult.cancel) { OkCancelResult.cancel) {
return; return;
} }
}
final matrix = Matrix.of(context); final matrix = Matrix.of(context);
// before wiping out locally cached construct data, save it to the server // before wiping out locally cached construct data, save it to the server

Loading…
Cancel
Save