diff --git a/frontends/main/next.config.js b/frontends/main/next.config.js index 29bb4dff7a..5dce66095d 100644 --- a/frontends/main/next.config.js +++ b/frontends/main/next.config.js @@ -38,6 +38,16 @@ const nextConfig = { }, ] }, + async redirects() { + return [ + { + // can be removed once fastly redirect is in place + source: "/attach/:code", + destination: "/enrollmentcode/:code", + permanent: true, + }, + ] + }, async headers() { return [ diff --git a/frontends/main/src/app-pages/B2BAttachPage/B2BAttachPage.test.tsx b/frontends/main/src/app-pages/EnrollmentCodePage/EnrollmentCodePage.test.tsx similarity index 90% rename from frontends/main/src/app-pages/B2BAttachPage/B2BAttachPage.test.tsx rename to frontends/main/src/app-pages/EnrollmentCodePage/EnrollmentCodePage.test.tsx index 6732bb8e20..a81d6d7757 100644 --- a/frontends/main/src/app-pages/B2BAttachPage/B2BAttachPage.test.tsx +++ b/frontends/main/src/app-pages/EnrollmentCodePage/EnrollmentCodePage.test.tsx @@ -8,7 +8,7 @@ import { } from "api/mitxonline-test-utils" import * as commonUrls from "@/common/urls" import { Permission } from "api/hooks/user" -import B2BAttachPage from "./B2BAttachPage" +import EnrollmentCodePage from "./EnrollmentCodePage" import invariant from "tiny-invariant" // Mock next-nprogress-bar for App Router @@ -19,7 +19,7 @@ jest.mock("next-nprogress-bar", () => ({ }), })) -describe("B2BAttachPage", () => { +describe("EnrollmentCodePage", () => { beforeEach(() => { jest.clearAllMocks() mockPush.mockClear() @@ -33,7 +33,7 @@ describe("B2BAttachPage", () => { setMockResponse.get(mitxOnlineUrls.userMe.get(), null) setMockResponse.post(b2bUrls.b2bAttach.b2bAttachView("test-code"), []) - renderWithProviders(, { + renderWithProviders(, { url: commonUrls.B2B_ATTACH_VIEW, }) @@ -64,7 +64,7 @@ describe("B2BAttachPage", () => { setMockResponse.post(b2bUrls.b2bAttach.b2bAttachView("test-code"), []) - renderWithProviders(, { + renderWithProviders(, { url: commonUrls.B2B_ATTACH_VIEW, }) }) @@ -92,7 +92,7 @@ describe("B2BAttachPage", () => { setMockResponse.post(b2bUrls.b2bAttach.b2bAttachView("test-code"), []) - renderWithProviders(, { + renderWithProviders(, { url: commonUrls.B2B_ATTACH_VIEW, }) diff --git a/frontends/main/src/app-pages/B2BAttachPage/B2BAttachPage.tsx b/frontends/main/src/app-pages/EnrollmentCodePage/EnrollmentCodePage.tsx similarity index 93% rename from frontends/main/src/app-pages/B2BAttachPage/B2BAttachPage.tsx rename to frontends/main/src/app-pages/EnrollmentCodePage/EnrollmentCodePage.tsx index 54d7339e2c..2f95b44ff7 100644 --- a/frontends/main/src/app-pages/B2BAttachPage/B2BAttachPage.tsx +++ b/frontends/main/src/app-pages/EnrollmentCodePage/EnrollmentCodePage.tsx @@ -8,7 +8,7 @@ import { userQueries } from "api/hooks/user" import { useQuery } from "@tanstack/react-query" import { useRouter } from "next-nprogress-bar" -type B2BAttachPageProps = { +type EnrollmentCodePage = { code: string } @@ -17,7 +17,7 @@ const InterstitialMessage = styled(Typography)(({ theme }) => ({ textAlign: "center", })) -const B2BAttachPage: React.FC = ({ code }) => { +const EnrollmentCodePage: React.FC = ({ code }) => { const { mutate: attach, isSuccess, @@ -79,4 +79,4 @@ const B2BAttachPage: React.FC = ({ code }) => { ) } -export default B2BAttachPage +export default EnrollmentCodePage diff --git a/frontends/main/src/app/attach/[code]/page.tsx b/frontends/main/src/app/enrollmentcode/[code]/page.tsx similarity index 60% rename from frontends/main/src/app/attach/[code]/page.tsx rename to frontends/main/src/app/enrollmentcode/[code]/page.tsx index 023194dc92..175b606fc6 100644 --- a/frontends/main/src/app/attach/[code]/page.tsx +++ b/frontends/main/src/app/enrollmentcode/[code]/page.tsx @@ -2,16 +2,18 @@ import React from "react" import { Metadata } from "next" import { standardizeMetadata } from "@/common/metadata" import invariant from "tiny-invariant" -import B2BAttachPage from "@/app-pages/B2BAttachPage/B2BAttachPage" +import EnrollmentCodePage from "@/app-pages/EnrollmentCodePage/EnrollmentCodePage" export const metadata: Metadata = standardizeMetadata({ title: "Use Enrollment Code", }) -const Page: React.FC> = async ({ params }) => { +const Page: React.FC> = async ({ + params, +}) => { const resolved = await params invariant(resolved?.code, "code is required") - return + return } export default Page diff --git a/frontends/main/src/common/urls.ts b/frontends/main/src/common/urls.ts index dbe08c8832..c74d2c693b 100644 --- a/frontends/main/src/common/urls.ts +++ b/frontends/main/src/common/urls.ts @@ -189,7 +189,7 @@ export const auth = (opts: LoginUrlOpts) => { export const ECOMMERCE_CART = "/cart/" as const -export const B2B_ATTACH_VIEW = "/attach/[code]" +export const B2B_ATTACH_VIEW = "/enrollmentcode/[code]" export const b2bAttachView = (code: string) => generatePath(B2B_ATTACH_VIEW, { code: code })