Correct upgrade banner

This commit is contained in:
Hillel Coren 2021-07-16 18:52:10 +03:00
parent bff3cc054a
commit 4a3487abcb
14 changed files with 20 additions and 17 deletions

View File

@ -395,6 +395,20 @@ const String kSettingsTaskStatuses = 'task_status';
const String kSettingsTaskStatusView = 'task_status_view';
const String kSettingsTaskStatusEdit = 'task_status_edit';
const List<String> kAdvancedSettings = [
kSettingsCustomDesignsEdit,
kSettingsGroupSettingsEdit,
kSettingsClientPortal,
kSettingsCustomFields,
kSettingsEmailSettings,
kSettingsGeneratedNumbers,
kSettingsInvoiceDesign,
kSettingsTemplatesAndReminders,
kSettingsWorkflowSettings,
kSettingsSubscriptionsEdit,
kSettingsUserManagementEdit,
];
const String kReportClient = 'client';
const String kReportCredit = 'credit';
const String kReportDocument = 'document';

View File

@ -28,7 +28,6 @@ class EditScaffold extends StatelessWidget {
this.appBarBottom,
this.saveLabel,
this.isFullscreen = false,
this.isAdvancedSettings = false,
this.onActionPressed,
this.actions,
}) : super(key: key);
@ -45,7 +44,6 @@ class EditScaffold extends StatelessWidget {
final Widget bottomNavigationBar;
final String saveLabel;
final bool isFullscreen;
final bool isAdvancedSettings;
@override
Widget build(BuildContext context) {
@ -65,9 +63,9 @@ class EditScaffold extends StatelessWidget {
: localization.ownerUpgradeToPaidPlan;
if (state.account.isTrial) {
final trialStarted = convertSqlDateToDateTime(state.account.trialStarted);
final trialEnds = DateTime.now().add(Duration(days: 14));
final trialEnds = trialStarted.add(Duration(days: 14));
final countDays = trialEnds.difference(trialStarted).inDays;
if (countDays == 1) {
if (countDays <= 1) {
upgradeMessage = localization.freeTrialEndsToday;
} else {
upgradeMessage = localization.freeTrialEndsInDays
@ -76,7 +74,7 @@ class EditScaffold extends StatelessWidget {
}
if (!state.isProPlan || state.account.isTrial) {
if (isAdvancedSettings) {
if (kAdvancedSettings.contains(state.uiState.subRoute)) {
showUpgradeBanner = true;
if (!state.isProPlan && isEnabled) {
isCancelEnabled = true;

View File

@ -725,7 +725,9 @@ class SidebarFooter extends StatelessWidget {
),
IconButton(
icon: Icon(Icons.help_outline),
onPressed: () => launch(kDocsUrl),
onPressed: () {
launch(kDocsUrl);
},
tooltip: localization.help,
),
IconButton(

View File

@ -220,7 +220,6 @@ class _DesignEditState extends State<DesignEdit>
return EditScaffold(
isFullscreen: true,
isAdvancedSettings: true,
title: design.isNew ? localization.newDesign : localization.editDesign,
onCancelPressed: (context) => viewModel.onCancelPressed(context),
appBarBottom: isMobile(context)

View File

@ -79,7 +79,6 @@ class _GroupEditState extends State<GroupEdit> {
return EditScaffold(
onCancelPressed: (context) => viewModel.onCancelPressed(context),
title: group.isNew ? localization.newGroup : localization.editGroup,
isAdvancedSettings: true,
onSavePressed: (context) {
final bool isValid = _formKey.currentState.validate();

View File

@ -234,7 +234,6 @@ class _ClientPortalState extends State<ClientPortal>
return EditScaffold(
title: localization.clientPortal,
isAdvancedSettings: true,
onSavePressed: (context) => _onSavePressed(context),
appBarBottom: TabBar(
key: ValueKey(state.settingsUIState.updatedAt),

View File

@ -83,7 +83,6 @@ class _CustomFieldsState extends State<CustomFields>
return EditScaffold(
title: localization.customFields,
isAdvancedSettings: true,
onSavePressed: viewModel.onSavePressed,
appBarBottom: TabBar(
key: ValueKey(state.settingsUIState.updatedAt),

View File

@ -134,7 +134,6 @@ class _EmailSettingsState extends State<EmailSettings> {
return EditScaffold(
title: localization.emailSettings,
isAdvancedSettings: true,
onSavePressed: disableSave ? null : _onSavePressed,
body: AppForm(
formKey: _formKey,

View File

@ -179,7 +179,6 @@ class _GeneratedNumbersState extends State<GeneratedNumbers>
return EditScaffold(
title: localization.generatedNumbers,
isAdvancedSettings: true,
onSavePressed: _onSavePressed,
appBarBottom: TabBar(
key: ValueKey(state.settingsUIState.updatedAt),

View File

@ -85,7 +85,6 @@ class _InvoiceDesignState extends State<InvoiceDesign>
return EditScaffold(
title: localization.invoiceDesign,
isAdvancedSettings: true,
onSavePressed: viewModel.onSavePressed,
appBarBottom: TabBar(
key: ValueKey(state.settingsUIState.updatedAt),

View File

@ -229,7 +229,6 @@ class _TemplatesAndRemindersState extends State<TemplatesAndReminders>
return EditScaffold(
title: localization.templatesAndReminders,
isAdvancedSettings: true,
onSavePressed: viewModel.onSavePressed,
appBarBottom: TabBar(
key: ValueKey(state.settingsUIState.updatedAt),

View File

@ -68,7 +68,6 @@ class _WorkflowSettingsState extends State<WorkflowSettings>
return EditScaffold(
title: localization.workflowSettings,
isAdvancedSettings: true,
onSavePressed: viewModel.onSavePressed,
appBarBottom: TabBar(
key: ValueKey(state.settingsUIState.updatedAt),

View File

@ -182,7 +182,6 @@ class _SubscriptionEditState extends State<SubscriptionEdit>
title: subscription.isNew
? localization.newSubscription
: localization.editSubscription,
isAdvancedSettings: true,
onCancelPressed: (context) => viewModel.onCancelPressed(context),
onSavePressed: (context) {
final bool isValid = _formKey.currentState.validate();

View File

@ -147,7 +147,6 @@ class _UserEditState extends State<UserEdit>
entity: user,
title:
viewModel.user.isNew ? localization.newUser : localization.editUser,
isAdvancedSettings: true,
appBarBottom: TabBar(
controller: _controller,
isScrollable: isMobile(context),