diff --git a/client/web/src/cody/chat/CodyChatPage.tsx b/client/web/src/cody/chat/CodyChatPage.tsx index fd2dff0b514..68797f3a683 100644 --- a/client/web/src/cody/chat/CodyChatPage.tsx +++ b/client/web/src/cody/chat/CodyChatPage.tsx @@ -42,6 +42,7 @@ import { PageTitle } from '../../components/PageTitle' import { useFeatureFlag } from '../../featureFlags/useFeatureFlag' import type { SourcegraphContext } from '../../jscontext' import { EventName } from '../../util/constants' +import { CodyProRoutes } from '../codyProRoutes' import { ChatUI } from '../components/ChatUI' import { CodyMarketingPage } from '../components/CodyMarketingPage' import { HistoryList } from '../components/HistoryList' @@ -160,7 +161,7 @@ export const CodyChatPage: React.FunctionComponent = ({ ) } - const codyDashboardLink = isSourcegraphDotCom ? '/cody/manage' : '/cody' + const codyDashboardLink = isSourcegraphDotCom ? CodyProRoutes.Manage : '/cody' return ( @@ -287,7 +288,7 @@ export const CodyChatPage: React.FunctionComponent = ({
{ if (!!data && !data?.currentUser) { - navigate('/sign-in?returnTo=/cody/manage') + navigate(`/sign-in?returnTo=${CodyProRoutes.Manage}`) } }, [data, navigate]) @@ -95,7 +96,7 @@ export const CodyManagementPage: React.FunctionComponent subscriptionSummaryQueryResult.data.teamCurrentMembers : false - const targetUrl = hasFreeSeats ? '/cody/team/manage' : '/cody/manage/subscription/new?addSeats=1' + const targetUrl = hasFreeSeats ? CodyProRoutes.ManageTeam : `${CodyProRoutes.NewProSubscription}?addSeats=1` const label = isSoloUser || hasFreeSeats ? 'Invite co-workers' : 'Add seats' if (!subscriptionSummaryQueryResult?.data) { @@ -141,13 +142,12 @@ export const CodyManagementPage: React.FunctionComponent )} {getTeamInviteButton()}
} > - -
- Dashboard -
+ + + Dashboard @@ -170,7 +170,7 @@ export const CodyManagementPage: React.FunctionComponent You are on the Free tier.{' '} - Upgrade to the Pro tier. + Upgrade to the Pro tier. )} @@ -225,7 +225,7 @@ const UpgradeToProBanner: React.FunctionComponent<{
- + Upgrade now diff --git a/client/web/src/cody/management/subscription/manage/CodySubscriptionManagePage.tsx b/client/web/src/cody/management/subscription/manage/CodySubscriptionManagePage.tsx index ef1002a1a36..357bf0db8ef 100644 --- a/client/web/src/cody/management/subscription/manage/CodySubscriptionManagePage.tsx +++ b/client/web/src/cody/management/subscription/manage/CodySubscriptionManagePage.tsx @@ -69,6 +69,14 @@ const AuthenticatedCodySubscriptionManagePage: React.FC = ({ telemetryRec return ( + + + + + Manage subscription + + + ) @@ -92,14 +100,6 @@ const PageContent: React.FC = () => { return ( <> - - - - - Manage subscription - - - diff --git a/client/web/src/cody/management/subscription/new/CodyProCheckoutForm.tsx b/client/web/src/cody/management/subscription/new/CodyProCheckoutForm.tsx index c58e973a0dc..8f471ac5bc6 100644 --- a/client/web/src/cody/management/subscription/new/CodyProCheckoutForm.tsx +++ b/client/web/src/cody/management/subscription/new/CodyProCheckoutForm.tsx @@ -25,6 +25,7 @@ import { CollapsePanel, } from '@sourcegraph/wildcard' +import { CodyProRoutes } from '../../../codyProRoutes' import { CodyAlert } from '../../../components/CodyAlert' import { useCreateTeam, @@ -230,7 +231,7 @@ export const CodyProCheckoutForm: React.FunctionComponent ( - - -
- {' '} - {isTeam ? 'Give your team Cody Pro' : 'Upgrade to Cody Pro'} -
+ + + {' '} + {isTeam ? 'Give your team Cody Pro' : 'Upgrade to Cody Pro'} - - {children} + + {children}
) diff --git a/client/web/src/cody/subscription/CodySubscriptionPage.tsx b/client/web/src/cody/subscription/CodySubscriptionPage.tsx index cbeb9ec6d1e..2a174cf8a8c 100644 --- a/client/web/src/cody/subscription/CodySubscriptionPage.tsx +++ b/client/web/src/cody/subscription/CodySubscriptionPage.tsx @@ -25,8 +25,9 @@ import { Page } from '../../components/Page' import { PageTitle } from '../../components/PageTitle' import { CodySubscriptionPlan } from '../../graphql-operations' import type { UserCodyPlanResult, UserCodyPlanVariables } from '../../graphql-operations' -import { CodyColorIcon } from '../chat/CodyPageIcon' +import { CodyProRoutes } from '../codyProRoutes' import { ProIcon } from '../components/CodyIcon' +import { PageHeaderIcon } from '../components/PageHeaderIcon' import { isCodyEnabled } from '../isCodyEnabled' import { getManageSubscriptionPageURL, isEmbeddedCodyProUIEnabled, manageSubscriptionRedirectURL } from '../util' @@ -56,7 +57,7 @@ export const CodySubscriptionPage: React.FunctionComponent { if (!!data && !data?.currentUser) { - navigate('/sign-in?returnTo=/cody/subscription') + navigate(`/sign-in?returnTo=${CodyProRoutes.Subscription}`) } }, [data, navigate]) @@ -73,9 +74,9 @@ export const CodySubscriptionPage: React.FunctionComponent - + - -
- Subscription plans -
+ + + Subscription plans
- + Back to Cody Dashboard @@ -227,7 +227,7 @@ export const CodySubscriptionPage: React.FunctionComponent { @@ -247,7 +247,7 @@ export const CodySubscriptionPage: React.FunctionComponent Upgrade yourself to Pro diff --git a/client/web/src/cody/team/CodyManageTeamPage.tsx b/client/web/src/cody/team/CodyManageTeamPage.tsx index dfac499ac97..4fea4ee1036 100644 --- a/client/web/src/cody/team/CodyManageTeamPage.tsx +++ b/client/web/src/cody/team/CodyManageTeamPage.tsx @@ -53,7 +53,7 @@ const AuthenticatedCodyManageTeamPage: React.FunctionComponent { if (subscriptionQueryResult.data?.subscriptionStatus === 'canceled') { - navigate('/cody/subscription') + navigate(CodyProRoutes.Subscription) } }, [navigate, subscriptionQueryResult.data]) @@ -67,7 +67,7 @@ const AuthenticatedCodyManageTeamPage: React.FunctionComponent telemetryRecorder.recordEvent('cody.team.manage.subscription', 'click', { diff --git a/client/web/src/cody/widgets/CodyRecipesWidget.tsx b/client/web/src/cody/widgets/CodyRecipesWidget.tsx index cc9b2fa8a3e..0d7457324b1 100644 --- a/client/web/src/cody/widgets/CodyRecipesWidget.tsx +++ b/client/web/src/cody/widgets/CodyRecipesWidget.tsx @@ -7,6 +7,7 @@ import type { TelemetryRecorder } from '@sourcegraph/shared/src/telemetry' import { EVENT_LOGGER } from '@sourcegraph/shared/src/telemetry/web/eventLogger' import { EventName } from '../../util/constants' +import { CodyProRoutes } from '../codyProRoutes' import type { CodeMirrorEditor } from '../components/CodeMirrorEditor' import type { useCodySidebar } from '../sidebar/Provider' @@ -90,7 +91,11 @@ export const CodyRecipesWidget: React.FC<{ editor?: CodeMirrorEditor; telemetryR onClick={() => void executeRecipe('find-code-smells', { scope: { editor } })} disabled={isMessageInProgress} /> - + ) diff --git a/client/web/src/get-cody/GetCodyPage.tsx b/client/web/src/get-cody/GetCodyPage.tsx index 7d8f63eb01a..1a324058d03 100644 --- a/client/web/src/get-cody/GetCodyPage.tsx +++ b/client/web/src/get-cody/GetCodyPage.tsx @@ -4,6 +4,8 @@ import { useNavigate, useLocation } from 'react-router-dom' import type { AuthenticatedUser } from '@sourcegraph/shared/src/auth' +import { CodyProRoutes } from '../cody/codyProRoutes' + interface GetCodyPageProps { authenticatedUser: AuthenticatedUser | null } @@ -14,7 +16,7 @@ export const GetCodyPage: React.FunctionComponent = ({ authent const [search] = useState(location.search) if (authenticatedUser) { - navigate(`/cody/manage${search || ''}`) + navigate(`${CodyProRoutes.Manage}${search || ''}`) } else { window.location.href = '/cody' }