feat: billing page in dashboard and setup.

This commit is contained in:
a.bouhuolia
2021-01-31 13:16:01 +02:00
parent 732c3bbfd7
commit e093be0663
60 changed files with 1505 additions and 1073 deletions

View File

@@ -0,0 +1,52 @@
import { createReducer } from '@reduxjs/toolkit';
const initialState = {
plans: [
{
name: 'Free',
slug: 'free',
description: [
'Sales/purchases module.',
'Expense module.',
'Inventory module.',
'Unlimited status pages.',
'Unlimited status pages.',
],
price: {
month: '100',
year: '1200',
},
currencyCode: 'LYD',
},
{
name: 'Pro',
slug: 'pro',
description: [
'Sales/purchases module.',
'Expense module.',
'Inventory module.',
'Unlimited status pages.',
'Unlimited status pages.',
],
price: {
month: '200',
year: '2400',
},
currencyCode: 'LYD',
},
],
periods: [
{
slug: 'month',
label: 'Monthly',
},
{
slug: 'year',
label: 'Yearly',
},
],
};
export default createReducer(initialState, {
});

View File

@@ -0,0 +1,29 @@
import { createSelector } from 'reselect';
const plansSelector = (state) => state.plans.plans;
const planSelector = (state, props) => state.plans.plans
.find((plan) => plan.slug === props.planSlug);
const plansPeriodsSelector = (state) => state.plans.periods;
// Retrieve manual jounral current page results.
export const getPlansSelector = () => createSelector(
plansSelector,
(plans) => {
return plans;
},
);
// Retrieve manual jounral current page results.
export const getPlansPeriodsSelector = () => createSelector(
plansPeriodsSelector,
(periods) => {
return periods;
},
);
// Retrieve plan details.
export const getPlanSelector = () => createSelector(
planSelector,
(plan) => plan,
)