Add logout to confirm screen

This commit is contained in:
Hillel Coren 2022-02-24 15:07:58 +02:00
parent db07947578
commit 8c522d45b8
2 changed files with 15 additions and 9 deletions

View File

@ -3,13 +3,11 @@ import 'package:flutter/material.dart';
// Project imports:
import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/redux/ui/pref_state.dart';
import 'package:invoiceninja_flutter/ui/app/confirm_email_vm.dart';
import 'package:invoiceninja_flutter/ui/app/help_text.dart';
import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart';
import 'package:invoiceninja_flutter/utils/dialogs.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:invoiceninja_flutter/utils/platforms.dart';
class ConfirmEmail extends StatelessWidget {
const ConfirmEmail({
@ -47,11 +45,8 @@ class ConfirmEmail extends StatelessWidget {
padding: const EdgeInsets.only(top: 16, bottom: 80),
child: HelpText(state.user.email),
),
Flex(
direction: calculateLayout(context) == AppLayout.desktop
? Axis.horizontal
: Axis.vertical,
mainAxisAlignment: MainAxisAlignment.center,
Wrap(
alignment: WrapAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(bottom: kTableColumnGap),
@ -60,7 +55,6 @@ class ConfirmEmail extends StatelessWidget {
child: Text(localization.resendEmail.toUpperCase()),
),
),
SizedBox(width: kTableColumnGap),
Padding(
padding: const EdgeInsets.only(bottom: kTableColumnGap),
child: TextButton(
@ -83,7 +77,6 @@ class ConfirmEmail extends StatelessWidget {
child: Text(localization.changeEmail.toUpperCase()),
),
),
SizedBox(width: kTableColumnGap),
/*
if (state.user.lastEmailAddress.isNotEmpty) ...[
TextButton(
@ -102,6 +95,13 @@ class ConfirmEmail extends StatelessWidget {
child: Text(localization.refreshData.toUpperCase()),
),
),
Padding(
padding: const EdgeInsets.only(bottom: kTableColumnGap),
child: TextButton(
onPressed: viewModel.onLogoutPressed,
child: Text(localization.logout.toUpperCase()),
),
),
],
)
],

View File

@ -3,6 +3,7 @@ import 'package:flutter/widgets.dart';
// Package imports:
import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/redux/auth/auth_actions.dart';
import 'package:redux/redux.dart';
// Project imports:
@ -33,6 +34,7 @@ class ConfirmEmailVM {
this.state,
this.onRefreshPressed,
this.onResendPressed,
this.onLogoutPressed,
this.onUseLastPressed,
this.onChangeEmail,
});
@ -40,6 +42,7 @@ class ConfirmEmailVM {
final AppState state;
final Function onResendPressed;
final Function onRefreshPressed;
final Function onLogoutPressed;
final Function(BuildContext, String, String, String) onChangeEmail;
final Function(BuildContext) onUseLastPressed;
@ -51,6 +54,9 @@ class ConfirmEmailVM {
onRefreshPressed: () {
store.dispatch(RefreshData());
},
onLogoutPressed: () {
store.dispatch(UserLogout());
},
onResendPressed: () {
store.dispatch(ResendConfirmation());
},