diff --git a/packages/app/src/app/pages/Pro/upgrade/utils.ts b/packages/app/src/app/hooks/useCreateCustomerPortal.ts similarity index 89% rename from packages/app/src/app/pages/Pro/upgrade/utils.ts rename to packages/app/src/app/hooks/useCreateCustomerPortal.ts index 838047cf11e..b98f53a4802 100644 --- a/packages/app/src/app/pages/Pro/upgrade/utils.ts +++ b/packages/app/src/app/hooks/useCreateCustomerPortal.ts @@ -2,9 +2,6 @@ import { useState } from 'react'; import { useEffects } from 'app/overmind'; import { dashboard } from '@codesandbox/common/lib/utils/url-generator'; -export type WorkspaceType = 'pro' | 'teamPro'; -export type Interval = 'month' | 'year'; - export const useCreateCustomerPortal = ( activeTeam: string ): [boolean, () => void] => { diff --git a/packages/app/src/app/pages/Dashboard/Content/routes/Settings/TeamSettings/ManageSubscription/stripe.tsx b/packages/app/src/app/pages/Dashboard/Content/routes/Settings/TeamSettings/ManageSubscription/stripe.tsx index a57888c135f..cbc60070db3 100644 --- a/packages/app/src/app/pages/Dashboard/Content/routes/Settings/TeamSettings/ManageSubscription/stripe.tsx +++ b/packages/app/src/app/pages/Dashboard/Content/routes/Settings/TeamSettings/ManageSubscription/stripe.tsx @@ -1,10 +1,9 @@ import React from 'react'; -import { Stack, Text, Link, Button } from '@codesandbox/components'; -import { useAppState } from 'app/overmind'; import { format } from 'date-fns'; - import css from '@styled-system/css'; -import { useCreateCustomerPortal } from 'app/pages/Pro/upgrade/utils'; +import { Stack, Text, Link, Button } from '@codesandbox/components'; +import { useAppState } from 'app/overmind'; +import { useCreateCustomerPortal } from 'app/hooks/useCreateCustomerPortal'; export const Stripe = () => { const { activeTeam, activeTeamInfo: team } = useAppState(); diff --git a/packages/app/src/app/pages/Dashboard/Content/routes/Settings/UserSettings/ManageSubscription/Stripe.tsx b/packages/app/src/app/pages/Dashboard/Content/routes/Settings/UserSettings/ManageSubscription/Stripe.tsx index f586eea1737..ea1605a4ef1 100644 --- a/packages/app/src/app/pages/Dashboard/Content/routes/Settings/UserSettings/ManageSubscription/Stripe.tsx +++ b/packages/app/src/app/pages/Dashboard/Content/routes/Settings/UserSettings/ManageSubscription/Stripe.tsx @@ -4,7 +4,7 @@ import { useAppState } from 'app/overmind'; import { format } from 'date-fns'; import css from '@styled-system/css'; -import { useCreateCustomerPortal } from '../../../../../../Pro/upgrade/utils'; +import { useCreateCustomerPortal } from 'app/hooks/useCreateCustomerPortal'; export const Stripe = () => { const { activeTeam, activeTeamInfo: team } = useAppState(); diff --git a/packages/app/src/app/pages/Dashboard/Sidebar/BottomMessages/TrialExpiring.tsx b/packages/app/src/app/pages/Dashboard/Sidebar/BottomMessages/TrialExpiring.tsx index c9804ee47c4..ee0eb52fbc7 100644 --- a/packages/app/src/app/pages/Dashboard/Sidebar/BottomMessages/TrialExpiring.tsx +++ b/packages/app/src/app/pages/Dashboard/Sidebar/BottomMessages/TrialExpiring.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Stack, Text, Button } from '@codesandbox/components'; -import { useCreateCustomerPortal } from 'app/pages/Pro/upgrade/utils'; +import { useCreateCustomerPortal } from 'app/hooks/useCreateCustomerPortal'; export const TrialExpiring: React.FC<{ activeTeam: string; diff --git a/packages/app/src/app/pages/Pro/legacy.tsx b/packages/app/src/app/pages/Pro/Legacy.tsx similarity index 100% rename from packages/app/src/app/pages/Pro/legacy.tsx rename to packages/app/src/app/pages/Pro/Legacy.tsx diff --git a/packages/app/src/app/pages/Pro/upgrade.tsx b/packages/app/src/app/pages/Pro/Upgrade.tsx similarity index 82% rename from packages/app/src/app/pages/Pro/upgrade.tsx rename to packages/app/src/app/pages/Pro/Upgrade.tsx index ea50495f5c2..0e2372437de 100644 --- a/packages/app/src/app/pages/Pro/upgrade.tsx +++ b/packages/app/src/app/pages/Pro/Upgrade.tsx @@ -4,19 +4,21 @@ import { ThemeProvider, Stack, Element, + Link as StyledLink, Tooltip, + Icon, Text, } from '@codesandbox/components'; import { Helmet } from 'react-helmet'; import { Navigation } from 'app/pages/common/Navigation'; +import { useCreateCustomerPortal } from 'app/hooks/useCreateCustomerPortal'; import css from '@styled-system/css'; import { sortBy } from 'lodash-es'; import { AnimatePresence, motion } from 'framer-motion'; import { dashboard as dashboardUrls } from '@codesandbox/common/lib/utils/url-generator'; -import { useLocation, useHistory } from 'react-router-dom'; +import { useLocation, useHistory, Link as RouterLink } from 'react-router-dom'; import { formatCurrency } from 'app/utils/currency'; import { useCreateCheckout } from 'app/hooks'; -import { useCreateCustomerPortal, Interval } from './upgrade/utils'; import { UpgradeButton, Caption, @@ -24,14 +26,16 @@ import { BoxPlaceholder, SwitchPlan, PlanTitle, -} from './upgrade/elements'; -import { Switcher } from './upgrade/Switcher'; +} from './components/elements'; +import { Switcher } from './components/Switcher'; import { SubscriptionPaymentProvider, SubscriptionType, TeamMemberAuthorization, } from '../../graphql/types'; +type Interval = 'month' | 'year'; + export const ProUpgrade = () => { const { pro: { pageMounted }, @@ -329,32 +333,46 @@ export const ProUpgrade = () => { exit={{ opacity: 0, height: 0 }} style={{ overflow: 'hidden' }} > -