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 })