diff --git a/packages/server/src/api/index.ts b/packages/server/src/api/index.ts index f60de22d2..13de30877 100644 --- a/packages/server/src/api/index.ts +++ b/packages/server/src/api/index.ts @@ -38,7 +38,6 @@ import ExchangeRates from '@/api/controllers/ExchangeRates'; import Media from '@/api/controllers/Media'; import Ping from '@/api/controllers/Ping'; import Subscription from '@/api/controllers/Subscription'; -import Licenses from '@/api/controllers/Subscription/Licenses'; import InventoryAdjustments from '@/api/controllers/Inventory/InventoryAdjustments'; import asyncRenderMiddleware from './middleware/AsyncRenderMiddleware'; import Jobs from './controllers/Jobs'; @@ -73,7 +72,6 @@ export default () => { app.use('/auth', Container.get(Authentication).router()); app.use('/invite', Container.get(InviteUsers).nonAuthRouter()); - app.use('/licenses', Container.get(Licenses).router()); app.use('/subscription', Container.get(Subscription).router()); app.use('/organization', Container.get(Organization).router()); app.use('/ping', Container.get(Ping).router()); diff --git a/packages/webapp/src/constants/registerWizard.tsx b/packages/webapp/src/constants/registerWizard.tsx index e901d5202..f1d971d2e 100644 --- a/packages/webapp/src/constants/registerWizard.tsx +++ b/packages/webapp/src/constants/registerWizard.tsx @@ -2,6 +2,9 @@ import intl from 'react-intl-universal'; export const getSetupWizardSteps = () => [ + { + label: intl.get('setup.plan.plans'), + }, { label: intl.get('setup.plan.getting_started'), }, diff --git a/packages/webapp/src/containers/Setup/SetupRightSection.tsx b/packages/webapp/src/containers/Setup/SetupRightSection.tsx index c0ea49ef0..a4c880252 100644 --- a/packages/webapp/src/containers/Setup/SetupRightSection.tsx +++ b/packages/webapp/src/containers/Setup/SetupRightSection.tsx @@ -7,6 +7,7 @@ import SetupWizardContent from './SetupWizardContent'; import withOrganization from '@/containers/Organization/withOrganization'; import withCurrentOrganization from '@/containers/Organization/withCurrentOrganization'; import withSetupWizard from '@/store/organizations/withSetupWizard'; +import withSubscriptions from '../Subscriptions/withSubscriptions'; import { compose } from '@/utils'; @@ -22,6 +23,9 @@ function SetupRightSection({ // #withSetupWizard setupStepId, setupStepIndex, + + // #withSubscriptions + isSubscriptionActive, }) { return (
@@ -53,6 +57,12 @@ export default compose( isOrganizationBuildRunning, }), ), + withSubscriptions( + ({ isSubscriptionActive }) => ({ + isSubscriptionActive, + }), + 'main', + ), withSetupWizard(({ setupStepId, setupStepIndex }) => ({ setupStepId, setupStepIndex, diff --git a/packages/webapp/src/containers/Setup/SetupWizardContent.tsx b/packages/webapp/src/containers/Setup/SetupWizardContent.tsx index 6e0a32b8c..57b162ccf 100644 --- a/packages/webapp/src/containers/Setup/SetupWizardContent.tsx +++ b/packages/webapp/src/containers/Setup/SetupWizardContent.tsx @@ -4,6 +4,7 @@ import React from 'react'; import SetupSteps from './SetupSteps'; import WizardSetupSteps from './WizardSetupSteps'; +import SetupSubscription from './SetupSubscription'; import SetupOrganizationPage from './SetupOrganizationPage'; import SetupInitializingForm from './SetupInitializingForm'; import SetupCongratsPage from './SetupCongratsPage'; @@ -18,6 +19,7 @@ export default function SetupWizardContent({ setupStepIndex, setupStepId }) {
+ diff --git a/packages/webapp/src/containers/Setup/WizardSetupSteps.tsx b/packages/webapp/src/containers/Setup/WizardSetupSteps.tsx index 0381d11d9..36b53a37e 100644 --- a/packages/webapp/src/containers/Setup/WizardSetupSteps.tsx +++ b/packages/webapp/src/containers/Setup/WizardSetupSteps.tsx @@ -25,7 +25,6 @@ export default function WizardSetupSteps({ currentStep = 1 }) { ))} diff --git a/packages/webapp/src/hooks/query/organization.tsx b/packages/webapp/src/hooks/query/organization.tsx index 3945de70f..aea3ab96c 100644 --- a/packages/webapp/src/hooks/query/organization.tsx +++ b/packages/webapp/src/hooks/query/organization.tsx @@ -1,11 +1,11 @@ // @ts-nocheck -import { omit } from 'lodash'; import { useMutation, useQueryClient } from 'react-query'; import { batch } from 'react-redux'; import t from './types'; import useApiRequest from '../useRequest'; import { useRequestQuery } from '../useQueryRequest'; -import { useSetOrganizations } from '../state'; +import { useSetOrganizations, useSetSubscriptions } from '../state'; +import { omit } from 'lodash'; /** * Retrieve organizations of the authenticated user. @@ -32,6 +32,7 @@ export function useOrganizations(props) { */ export function useCurrentOrganization(props) { const setOrganizations = useSetOrganizations(); + const setSubscriptions = useSetSubscriptions(); return useRequestQuery( [t.ORGANIZATION_CURRENT], @@ -43,6 +44,9 @@ export function useCurrentOrganization(props) { const organization = omit(data, ['subscriptions']); batch(() => { + // Sets subscriptions. + setSubscriptions(data.subscriptions); + // Sets organizations. setOrganizations([organization]); }); diff --git a/packages/webapp/src/store/organizations/withSetupWizard.tsx b/packages/webapp/src/store/organizations/withSetupWizard.tsx index 1a0b27f5b..7f39a2466 100644 --- a/packages/webapp/src/store/organizations/withSetupWizard.tsx +++ b/packages/webapp/src/store/organizations/withSetupWizard.tsx @@ -6,15 +6,18 @@ export default (mapState) => { const { isOrganizationSetupCompleted, isOrganizationReady, + isSubscriptionActive, isOrganizationBuildRunning } = props; const condits = { isCongratsStep: isOrganizationSetupCompleted, + isSubscriptionStep: !isSubscriptionActive, isInitializingStep: isOrganizationBuildRunning, isOrganizationStep: !isOrganizationReady && !isOrganizationBuildRunning, }; const scenarios = [ + { condition: condits.isSubscriptionStep, step: 'subscription' }, { condition: condits.isOrganizationStep, step: 'organization' }, { condition: condits.isInitializingStep, step: 'initializing' }, { condition: condits.isCongratsStep, step: 'congrats' },