From b8807320870e05ee70f9af3017dd2bbcd83a8128 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Mon, 4 Apr 2022 23:52:29 +0200 Subject: [PATCH] feat: add billing plans. --- src/lang/en/index.json | 35 +++++- src/store/plans/plans.reducer.js | 116 +++++++++++------- .../pages/Subscription/BillingPlans.scss | 2 +- 3 files changed, 105 insertions(+), 48 deletions(-) diff --git a/src/lang/en/index.json b/src/lang/en/index.json index eb8483918..0483d6c90 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1259,12 +1259,41 @@ "setup.initializing.please_refresh_the_page": "Please refresh the page", "setup.organization.title": "Let’s Get Started", "setup.organization.description": "Tell the system a little bit about your organization.", + "plan.capital_basic.title": "Capital Basic", + "plan.feature.sales_invoices": "Sales Invoices.", + "plan.feature.sales_estimates": "Sales Estimates.", + "plan.feature.customers": "Customers.", + "plan.feature.credit_notes": "Credit notes.", + "plan.feature.manual_journals": "Manual Journals.", + "plan.feature.expenses_tracking": "Expenses Tracking", + "plan.feature.basic_financial_reports": "Basic Financial Reports.", + "plan.capital_plus.title": "Capital Plus", + "plan.feature.all_capital_basic": "All Capital Basic features.", + "plan.feature.predefined_user_roles": "Predefined User Roles.", + "plan.feature.custom_tables_views": "Custom Tables Views.", + "plan.feature.transactions_locking": "Transactions Locking.", + "plan.feature.plus_financial_reports": "Plus Financial Reports.", + "plan.feature.custom_fields_resources": "Custom Fields & Resources.", + "plan.essential.title": "Capital Essential", + "plan.feature.all_capital_plus": "All Capital Basic features.", + "plan.feature.sales_purchases_order": "Sales & Purchases Order.", + "plan.feature.purchase_invoices": "Purchase Invoices.", + "plan.feature.inventory_tracking": "Inventory Tracking.", + "plan.feature.custom_roles": "Custom Roles.", + "plan.feature.multiply_currency_transcations": "Multiply Currency Transcations.", + "plan.feature.inventory_reports": "Inventory Reports.", + "plan.feature.landed_cost": "Landed cost.", + "plan.capital_enterprise.title": "Capital Enterprise", + "plan.feature.all_capital_essential": "All Capital Essential features.", + "plan.feature.multiply_branches": "Multiply Branches.", + "plan.feature.multiply_warehouses": "Multiply Warehouses.", + "plan.feature.accounting_dimensions": "Accounting Dimensions.", + "plan.feature.warehouses_reports": "Warehouses Reports.", + "plan.feature.branches_reports": "Branches Reports.", "plan.professional.title": "Pro", - "plan.essential.title": "Essential", "plan.plus.title": "Plus+", "plan.feature.sale_purchase_invoice": "Sale and purchase invoices.", "plan.feature.receivable_payable_accounts": "Customers/vendors accounts.", - "plan.feature.expenses_tracking": "Expenses tracking", "plan.feature.manual_journal": "Manual journals.", "plan.feature.financial_reports": "Financial reports.", "plan.feature.one_user_with_accountant": "For one user and accountant", @@ -1275,9 +1304,7 @@ "plan.feature.three_users": "Three users with your accountant", "plan.feature.advanced_financial_reports": "Advanced financial reports", "plan.feature.tracking_multi_locations": "Track multi-branches and locations", - "plan.feature.all_capital_essential": "All Capital Essential features.", "plan.feature.projects_accounting": "Projects accounting and timesheets", - "plan.feature.accounting_dimensions": "Accounting dimensions.", "plan.monthly": "Monthly", "plan.yearly": "Yearly", "payment_via_voucher.success_message": "Payment has been done successfully.", diff --git a/src/store/plans/plans.reducer.js b/src/store/plans/plans.reducer.js index 154baf721..a8178fbc7 100644 --- a/src/store/plans/plans.reducer.js +++ b/src/store/plans/plans.reducer.js @@ -2,7 +2,6 @@ import { createReducer } from '@reduxjs/toolkit'; import intl from 'react-intl-universal'; import t from 'store/types'; - const getSubscriptionPeriods = () => [ { slug: 'month', @@ -15,79 +14,110 @@ const getSubscriptionPeriods = () => [ ]; const getSubscriptionPlans = () => [ + { + name: intl.get('plan.capital_basic.title'), + slug: 'capital_basic', + description: [ + intl.get('plan.feature.sales_invoices'), + intl.get('plan.feature.sales_estimates'), + intl.get('plan.feature.customers'), + intl.get('plan.feature.credit_notes'), + intl.get('plan.feature.manual_journals'), + intl.get('plan.feature.expenses_tracking'), + intl.get('plan.feature.basic_financial_reports'), + ], + price: '55', + periods: [ + { + slug: 'month', + label: intl.get('plan.monthly'), + price: '55', + }, + { + slug: 'year', + label: intl.get('plan.yearly'), + price: '595', + }, + ], + currencyCode: 'LYD', + }, + { + name: intl.get('plan.capital_plus.title'), + slug: 'capital_plus', + description: [ + intl.get('plan.feature.all_capital_basic'), + intl.get('plan.feature.predefined_user_roles'), + intl.get('plan.feature.custom_tables_views'), + intl.get('plan.feature.transactions_locking'), + intl.get('plan.feature.plus_financial_reports'), + intl.get('plan.feature.custom_fields_resources'), + ], + price: '75', + periods: [ + { + slug: 'month', + label: intl.get('plan.monthly'), + price: '75', + }, + { + slug: 'year', + label: intl.get('plan.yearly'), + price: '795', + }, + ], + currencyCode: 'LYD', + }, { name: intl.get('plan.essential.title'), slug: 'essentials', description: [ - intl.get('plan.feature.sale_purchase_invoice'), - intl.get('plan.feature.receivable_payable_accounts'), - intl.get('plan.feature.expenses_tracking'), - intl.get('plan.feature.manual_journal'), - intl.get('plan.feature.financial_reports'), - intl.get('plan.feature.one_user_with_accountant'), + intl.get('plan.feature.all_capital_plus'), + intl.get('plan.feature.sales_purchases_order'), + intl.get('plan.feature.purchase_invoices'), + intl.get('plan.feature.inventory_tracking'), + intl.get('plan.feature.custom_roles'), + intl.get('plan.feature.multiply_currency_transcations'), + intl.get('plan.feature.inventory_reports'), + intl.get('plan.feature.landed_cost'), ], - price: '100', + price: '95', periods: [ { slug: 'month', label: intl.get('plan.monthly'), - price: '100' + price: '95', }, { slug: 'year', label: intl.get('plan.yearly'), - price: '1,200', + price: '995', }, ], currencyCode: 'LYD', }, { - name: intl.get('plan.professional.title'), - slug: 'plus', - description: [ - intl.get('plan.feature.all_capital_essential'), - intl.get('plan.feature.multi_currency'), - intl.get('plan.feature.purchase_sell_orders'), - intl.get('plan.feature.multi_inventory_managment'), - intl.get('plan.feature.three_users'), - intl.get('plan.feature.advanced_financial_reports'), - ], - price: '200', - currencyCode: 'LYD', - periods: [ - { - slug: 'month', - label: intl.get('plan.monthly'), - price: '200' - }, - { - slug: 'year', - label: intl.get('plan.yearly'), - price: '1,200', - }, - ], - }, - { - name: intl.get('plan.plus.title'), + name: intl.get('plan.capital_enterprise.title'), slug: 'enterprise', description: [ - intl.get('plan.feture.all_capital_professional_features'), - intl.get('plan.feature.tracking_multi_locations'), - intl.get('plan.feature.projects_accounting'), + intl.get('plan.feature.all_capital_essential'), + intl.get('plan.feature.multiply_branches'), + intl.get('plan.feature.multiply_warehouses'), intl.get('plan.feature.accounting_dimensions'), + intl.get('plan.feature.warehouses_reports'), + intl.get('plan.feature.branches_reports'), ], - price: '300', + price: '120', currencyCode: 'LYD', periods: [ { slug: 'month', label: intl.get('plan.monthly'), - price: '300' + price: '120', }, { slug: 'year', label: intl.get('plan.yearly'), - price: '1,200', + price: '1,195', }, ], }, diff --git a/src/style/pages/Subscription/BillingPlans.scss b/src/style/pages/Subscription/BillingPlans.scss index cc9948b53..f5d2bbe5c 100644 --- a/src/style/pages/Subscription/BillingPlans.scss +++ b/src/style/pages/Subscription/BillingPlans.scss @@ -1,6 +1,6 @@ .billing-plans{ - + max-width: 753px; .paragraph{ font-size: 15px; }