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: // Project imports:
import 'package:invoiceninja_flutter/constants.dart'; 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/confirm_email_vm.dart';
import 'package:invoiceninja_flutter/ui/app/help_text.dart'; import 'package:invoiceninja_flutter/ui/app/help_text.dart';
import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart'; import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart';
import 'package:invoiceninja_flutter/utils/dialogs.dart'; import 'package:invoiceninja_flutter/utils/dialogs.dart';
import 'package:invoiceninja_flutter/utils/localization.dart'; import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:invoiceninja_flutter/utils/platforms.dart';
class ConfirmEmail extends StatelessWidget { class ConfirmEmail extends StatelessWidget {
const ConfirmEmail({ const ConfirmEmail({
@ -47,11 +45,8 @@ class ConfirmEmail extends StatelessWidget {
padding: const EdgeInsets.only(top: 16, bottom: 80), padding: const EdgeInsets.only(top: 16, bottom: 80),
child: HelpText(state.user.email), child: HelpText(state.user.email),
), ),
Flex( Wrap(
direction: calculateLayout(context) == AppLayout.desktop alignment: WrapAlignment.center,
? Axis.horizontal
: Axis.vertical,
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.only(bottom: kTableColumnGap), padding: const EdgeInsets.only(bottom: kTableColumnGap),
@ -60,7 +55,6 @@ class ConfirmEmail extends StatelessWidget {
child: Text(localization.resendEmail.toUpperCase()), child: Text(localization.resendEmail.toUpperCase()),
), ),
), ),
SizedBox(width: kTableColumnGap),
Padding( Padding(
padding: const EdgeInsets.only(bottom: kTableColumnGap), padding: const EdgeInsets.only(bottom: kTableColumnGap),
child: TextButton( child: TextButton(
@ -83,7 +77,6 @@ class ConfirmEmail extends StatelessWidget {
child: Text(localization.changeEmail.toUpperCase()), child: Text(localization.changeEmail.toUpperCase()),
), ),
), ),
SizedBox(width: kTableColumnGap),
/* /*
if (state.user.lastEmailAddress.isNotEmpty) ...[ if (state.user.lastEmailAddress.isNotEmpty) ...[
TextButton( TextButton(
@ -102,6 +95,13 @@ class ConfirmEmail extends StatelessWidget {
child: Text(localization.refreshData.toUpperCase()), 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: // Package imports:
import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/redux/auth/auth_actions.dart';
import 'package:redux/redux.dart'; import 'package:redux/redux.dart';
// Project imports: // Project imports:
@ -33,6 +34,7 @@ class ConfirmEmailVM {
this.state, this.state,
this.onRefreshPressed, this.onRefreshPressed,
this.onResendPressed, this.onResendPressed,
this.onLogoutPressed,
this.onUseLastPressed, this.onUseLastPressed,
this.onChangeEmail, this.onChangeEmail,
}); });
@ -40,6 +42,7 @@ class ConfirmEmailVM {
final AppState state; final AppState state;
final Function onResendPressed; final Function onResendPressed;
final Function onRefreshPressed; final Function onRefreshPressed;
final Function onLogoutPressed;
final Function(BuildContext, String, String, String) onChangeEmail; final Function(BuildContext, String, String, String) onChangeEmail;
final Function(BuildContext) onUseLastPressed; final Function(BuildContext) onUseLastPressed;
@ -51,6 +54,9 @@ class ConfirmEmailVM {
onRefreshPressed: () { onRefreshPressed: () {
store.dispatch(RefreshData()); store.dispatch(RefreshData());
}, },
onLogoutPressed: () {
store.dispatch(UserLogout());
},
onResendPressed: () { onResendPressed: () {
store.dispatch(ResendConfirmation()); store.dispatch(ResendConfirmation());
}, },