chore(debug): auth
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
export const breadcrumbs = {
|
export const breadcrumbs = {
|
||||||
"/my-pages": [
|
"/my-pages2": [
|
||||||
{
|
{
|
||||||
title: "My Pages",
|
title: "My Pages",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"/my-pages/profile": [
|
"/my-pages2/profile": [
|
||||||
{
|
{
|
||||||
href: "/my-pages",
|
href: "/my-pages2",
|
||||||
title: "My Pages",
|
title: "My Pages",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { benefits } from "@/constants/routes/myPages"
|
||||||
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
|
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default async function BenefitsBreadcrumbs({
|
||||||
|
params,
|
||||||
|
}: PageArgs<LangParams>) {
|
||||||
|
const href = benefits[params.lang].replace(`/${params.lang}`, "")
|
||||||
|
const breadcrumbs = await serverClient().contentstack.breadcrumbs.get({
|
||||||
|
href,
|
||||||
|
locale: params.lang,
|
||||||
|
})
|
||||||
|
return <Breadcrumbs breadcrumbs={breadcrumbs} />
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { overview } from "@/constants/routes/myPages"
|
||||||
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
|
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default async function OverviewBreadcrumbs({
|
||||||
|
params,
|
||||||
|
}: PageArgs<LangParams>) {
|
||||||
|
const href = overview[params.lang].replace(`/${params.lang}`, "")
|
||||||
|
const breadcrumbs = await serverClient().contentstack.breadcrumbs.get({
|
||||||
|
href,
|
||||||
|
locale: params.lang,
|
||||||
|
})
|
||||||
|
return <Breadcrumbs breadcrumbs={breadcrumbs} />
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { profile } from "@/constants/routes/myPages"
|
||||||
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
|
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default async function ProfileBreadcrumbs({
|
||||||
|
params,
|
||||||
|
}: PageArgs<LangParams>) {
|
||||||
|
const href = profile[params.lang].replace(`/${params.lang}`, "")
|
||||||
|
const breadcrumbs = await serverClient().contentstack.breadcrumbs.get({
|
||||||
|
href,
|
||||||
|
locale: params.lang,
|
||||||
|
})
|
||||||
|
return <Breadcrumbs breadcrumbs={breadcrumbs} />
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { profile } from "@/constants/routes/myPages"
|
||||||
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
|
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default async function ProfileBreadcrumbs({
|
||||||
|
params,
|
||||||
|
}: PageArgs<LangParams>) {
|
||||||
|
const href = profile[params.lang].replace(`/${params.lang}`, "")
|
||||||
|
const breadcrumbs = await serverClient().contentstack.breadcrumbs.get({
|
||||||
|
href,
|
||||||
|
locale: params.lang,
|
||||||
|
})
|
||||||
|
return <Breadcrumbs breadcrumbs={breadcrumbs} />
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import { stays } from "@/constants/routes/myPages"
|
||||||
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
|
import Breadcrumbs from "@/components/MyPages/Breadcrumbs"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default async function StaysBreadcrumbs({
|
||||||
|
params,
|
||||||
|
}: PageArgs<LangParams>) {
|
||||||
|
const href = stays[params.lang].replace(`/${params.lang}`, "")
|
||||||
|
const breadcrumbs = await serverClient().contentstack.breadcrumbs.get({
|
||||||
|
href,
|
||||||
|
locale: params.lang,
|
||||||
|
})
|
||||||
|
return <Breadcrumbs breadcrumbs={breadcrumbs} />
|
||||||
|
}
|
||||||
16
app/[lang]/(live)/(protected)/my-pages2/_constants.ts
Normal file
16
app/[lang]/(live)/(protected)/my-pages2/_constants.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
export const breadcrumbs = {
|
||||||
|
"/my-pages2": [
|
||||||
|
{
|
||||||
|
title: "My Pages",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"/my-pages2/profile": [
|
||||||
|
{
|
||||||
|
href: "/my-pages2",
|
||||||
|
title: "My Pages",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "My Profile",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
27
app/[lang]/(live)/(protected)/my-pages2/layout.module.css
Normal file
27
app/[lang]/(live)/(protected)/my-pages2/layout.module.css
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
.layout {
|
||||||
|
--header-height: 4.5rem;
|
||||||
|
|
||||||
|
display: grid;
|
||||||
|
font-family: var(--ff-fira-sans);
|
||||||
|
grid-template-rows: var(--header-height) auto 1fr;
|
||||||
|
min-height: 100dvh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: grid;
|
||||||
|
padding-bottom: 7.7rem;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 950px) {
|
||||||
|
.content {
|
||||||
|
gap: 10rem;
|
||||||
|
grid-template-columns: 25rem 1fr;
|
||||||
|
padding-bottom: 17.5rem;
|
||||||
|
padding-left: 2.4rem;
|
||||||
|
padding-right: 2.4rem;
|
||||||
|
padding-top: 5.8rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
26
app/[lang]/(live)/(protected)/my-pages2/layout.tsx
Normal file
26
app/[lang]/(live)/(protected)/my-pages2/layout.tsx
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import { firaMono, firaSans } from "@/app/[lang]/(live)/fonts"
|
||||||
|
import Header from "@/components/MyPages/Header"
|
||||||
|
import Sidebar from "@/components/MyPages/Sidebar"
|
||||||
|
|
||||||
|
import styles from "./layout.module.css"
|
||||||
|
|
||||||
|
import type { MyPagesLayoutProps } from "@/types/components/myPages/layout"
|
||||||
|
|
||||||
|
export default async function MyPagesLayout({
|
||||||
|
breadcrumbs,
|
||||||
|
children,
|
||||||
|
params,
|
||||||
|
}: React.PropsWithChildren<MyPagesLayoutProps>) {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={`${firaMono.variable} ${firaSans.variable} ${styles.layout}`}
|
||||||
|
>
|
||||||
|
<Header lang={params.lang} />
|
||||||
|
{breadcrumbs}
|
||||||
|
<div className={styles.content}>
|
||||||
|
<Sidebar lang={params.lang} />
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
15
app/[lang]/(live)/(protected)/my-pages2/page.module.css
Normal file
15
app/[lang]/(live)/(protected)/my-pages2/page.module.css
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
.blocks {
|
||||||
|
display: grid;
|
||||||
|
gap: 4.2rem;
|
||||||
|
padding-top: 4rem;
|
||||||
|
padding-left: 2rem;
|
||||||
|
padding-right: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 950px) {
|
||||||
|
.blocks {
|
||||||
|
gap: 6.4rem;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
35
app/[lang]/(live)/(protected)/my-pages2/page.tsx
Normal file
35
app/[lang]/(live)/(protected)/my-pages2/page.tsx
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import { redirect } from "next/navigation"
|
||||||
|
|
||||||
|
import { myPages, overview } from "@/constants/routes/myPages"
|
||||||
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
|
import MaxWidth from "@/components/MaxWidth"
|
||||||
|
import Content from "@/components/MyPages/AccountPage/Content"
|
||||||
|
|
||||||
|
import styles from "./page.module.css"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs, UriParams } from "@/types/params"
|
||||||
|
|
||||||
|
export default async function MyPages({
|
||||||
|
params,
|
||||||
|
searchParams,
|
||||||
|
}: PageArgs<LangParams, UriParams>) {
|
||||||
|
if (!searchParams.uri) {
|
||||||
|
throw new Error("Bad URI")
|
||||||
|
}
|
||||||
|
|
||||||
|
const myPagesRoot = myPages[params.lang].replace(`/${params.lang}`, "")
|
||||||
|
if (searchParams.uri === myPagesRoot) {
|
||||||
|
redirect(overview[params.lang])
|
||||||
|
}
|
||||||
|
const accountPage = await serverClient().contentstack.accountPage.get({
|
||||||
|
url: searchParams.uri,
|
||||||
|
lang: params.lang,
|
||||||
|
})
|
||||||
|
|
||||||
|
return (
|
||||||
|
<MaxWidth className={styles.blocks} tag="main">
|
||||||
|
<Content lang={params.lang} content={accountPage.content} />
|
||||||
|
</MaxWidth>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import CommunicationPreferences from "@/components/MyProfile/CommunicationPreferences"
|
||||||
|
|
||||||
|
export default function Communication() {
|
||||||
|
return <CommunicationPreferences />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import CommunicationPreferences from "@/components/MyProfile/CommunicationPreferences"
|
||||||
|
|
||||||
|
export default function Communication() {
|
||||||
|
return <CommunicationPreferences />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import CreditCards from "@/components/MyProfile/CreditCards"
|
||||||
|
|
||||||
|
export default function CreditCardSlot() {
|
||||||
|
return <CreditCards />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import CreditCards from "@/components/MyProfile/CreditCards"
|
||||||
|
|
||||||
|
export default function CreditCardSlot() {
|
||||||
|
return <CreditCards />
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
"use client"
|
||||||
|
import { profile } from "@/constants/routes/myPages"
|
||||||
|
import { _ } from "@/lib/translation"
|
||||||
|
import { useProfileStore } from "@/stores/edit-profile"
|
||||||
|
|
||||||
|
import Button from "@/components/TempDesignSystem/Button"
|
||||||
|
import Link from "@/components/TempDesignSystem/Link"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default function EditProfile({ params }: PageArgs<LangParams>) {
|
||||||
|
const isPending = useProfileStore((store) => store.pending)
|
||||||
|
const isValid = useProfileStore((store) => store.valid)
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Button
|
||||||
|
aria-label="Cancel"
|
||||||
|
asChild
|
||||||
|
bgcolor="white"
|
||||||
|
form="edit-profile"
|
||||||
|
size="small"
|
||||||
|
type="reset"
|
||||||
|
>
|
||||||
|
<Link href={profile[params.lang]}>{_("Cancel")}</Link>
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
bgcolor="quarternary"
|
||||||
|
disabled={!isValid || isPending}
|
||||||
|
form="edit-profile"
|
||||||
|
size="small"
|
||||||
|
type="submit"
|
||||||
|
weight="regular"
|
||||||
|
>
|
||||||
|
{_("Save")}
|
||||||
|
</Button>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Page() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import MembershipCard from "@/components/MyProfile/MembershipCard"
|
||||||
|
|
||||||
|
export default function MembershipCardSlot() {
|
||||||
|
return <MembershipCard />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import MembershipCard from "@/components/MyProfile/MembershipCard"
|
||||||
|
|
||||||
|
export default function MembershipCardSlot() {
|
||||||
|
return <MembershipCard />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import Password from "@/components/MyProfile/Password"
|
||||||
|
|
||||||
|
export default function PasswordSlot() {
|
||||||
|
return <Password />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import Password from "@/components/MyProfile/Password"
|
||||||
|
|
||||||
|
export default function PasswordSlot() {
|
||||||
|
return <Password />
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import EditProfile from "@/components/MyProfile/Profile/Edit"
|
||||||
|
|
||||||
|
export default function EditProfileSlot() {
|
||||||
|
return <EditProfile />
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
"use client"
|
||||||
|
|
||||||
|
import type { ErrorPage } from "@/types/next/error"
|
||||||
|
|
||||||
|
export default function ProfileError({ error }: ErrorPage) {
|
||||||
|
console.error(error)
|
||||||
|
return <h1>Error happened, Profile</h1>
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import Profile from "@/components/MyProfile/Profile"
|
||||||
|
|
||||||
|
export default function ProfileInfo() {
|
||||||
|
return <Profile />
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
export default function EditPage() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import { profileEdit } from "@/constants/routes/myPages"
|
||||||
|
import { _ } from "@/lib/translation"
|
||||||
|
|
||||||
|
import Button from "@/components/TempDesignSystem/Button"
|
||||||
|
import Link from "@/components/TempDesignSystem/Link"
|
||||||
|
|
||||||
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
|
export default function ProfileView({ params }: PageArgs<LangParams>) {
|
||||||
|
return (
|
||||||
|
<Button asChild bgcolor="quarternary" size="small" weight="regular">
|
||||||
|
<Link href={profileEdit[params.lang]}>{_("Edit")}</Link>
|
||||||
|
</Button>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import Wishes from "@/components/MyProfile/Wishes"
|
||||||
|
|
||||||
|
export default function WishesSlot() {
|
||||||
|
return <Wishes />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import Wishes from "@/components/MyProfile/Wishes"
|
||||||
|
|
||||||
|
export default function WishesSlot() {
|
||||||
|
return <Wishes />
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import "../profileLayout.css"
|
||||||
|
|
||||||
|
export default function EditProfilePage() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
33
app/[lang]/(live)/(protected)/my-pages2/profile/layout.tsx
Normal file
33
app/[lang]/(live)/(protected)/my-pages2/profile/layout.tsx
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import MaxWidth from "@/components/MaxWidth"
|
||||||
|
|
||||||
|
import type { ProfileLayoutProps } from "@/types/components/myPages/myProfile/layout"
|
||||||
|
|
||||||
|
export default function ProfileLayout({
|
||||||
|
children,
|
||||||
|
communication,
|
||||||
|
creditCards,
|
||||||
|
edit,
|
||||||
|
membershipCard,
|
||||||
|
password,
|
||||||
|
profile,
|
||||||
|
view,
|
||||||
|
wishes,
|
||||||
|
}: React.PropsWithChildren<ProfileLayoutProps>) {
|
||||||
|
return (
|
||||||
|
<MaxWidth className="profile-page" tag="main">
|
||||||
|
<div className="profile-btns">
|
||||||
|
{edit}
|
||||||
|
{view}
|
||||||
|
</div>
|
||||||
|
{profile}
|
||||||
|
{children}
|
||||||
|
<section className="profile-cards">
|
||||||
|
{communication}
|
||||||
|
{wishes}
|
||||||
|
{membershipCard}
|
||||||
|
{creditCards}
|
||||||
|
{password}
|
||||||
|
</section>
|
||||||
|
</MaxWidth>
|
||||||
|
)
|
||||||
|
}
|
||||||
5
app/[lang]/(live)/(protected)/my-pages2/profile/page.tsx
Normal file
5
app/[lang]/(live)/(protected)/my-pages2/profile/page.tsx
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import "./profileLayout.css"
|
||||||
|
|
||||||
|
export default function ProfilePage() {
|
||||||
|
return null
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* Due to css import issues with parallell routes we are forced to
|
||||||
|
* use a regular css file and import it in the page.tsx
|
||||||
|
*/
|
||||||
|
.profile-page {
|
||||||
|
display: grid;
|
||||||
|
gap: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-btns {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
gap: 1rem;
|
||||||
|
justify-content: flex-end;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
/* Creates the 16px gap from design */
|
||||||
|
top: -1.6rem;
|
||||||
|
/* Moves itself to top of container to avoid calc */
|
||||||
|
transform: translateY(-100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-cards {
|
||||||
|
display: grid;
|
||||||
|
gap: 0.4rem;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
"use client"
|
"use client"
|
||||||
import { cva } from "class-variance-authority"
|
import { cva } from "class-variance-authority"
|
||||||
|
|
||||||
import { Lang } from "@/constants/languages"
|
|
||||||
import { trpc } from "@/lib/trpc/client"
|
|
||||||
|
|
||||||
import styles from "./maxWidth.module.css"
|
import styles from "./maxWidth.module.css"
|
||||||
|
|
||||||
import type { MaxWidthProps } from "@/types/components/max-width"
|
import type { MaxWidthProps } from "@/types/components/max-width"
|
||||||
@@ -15,10 +12,6 @@ export default function MaxWidth({
|
|||||||
tag = "section",
|
tag = "section",
|
||||||
...props
|
...props
|
||||||
}: MaxWidthProps) {
|
}: MaxWidthProps) {
|
||||||
const d = trpc.contentstack.breadcrumbs.get.useQuery({
|
|
||||||
locale: Lang.en,
|
|
||||||
href: "/my-pages/overview",
|
|
||||||
})
|
|
||||||
const Cmp = tag
|
const Cmp = tag
|
||||||
return <Cmp className={maxWidthVariants({ className })} {...props} />
|
return <Cmp className={maxWidthVariants({ className })} {...props} />
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
export const myPages = {
|
export const myPages = {
|
||||||
da: "/da/mine-sider",
|
da: "/da/mine-sider",
|
||||||
de: "/de/mein-profil",
|
de: "/de/mein-profil",
|
||||||
en: "/en/my-pages",
|
en: "/en/my-pages2",
|
||||||
fi: "/fi/minun-sivujani",
|
fi: "/fi/minun-sivujani",
|
||||||
no: "/no/mine-sider",
|
no: "/no/mine-sider",
|
||||||
sv: "/sv/mina-sidor",
|
sv: "/sv/mina-sidor",
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export const middleware = auth(async (request) => {
|
|||||||
searchParams.set("uri", pathNameWithoutLang)
|
searchParams.set("uri", pathNameWithoutLang)
|
||||||
|
|
||||||
return NextResponse.rewrite(
|
return NextResponse.rewrite(
|
||||||
new URL(`/${lang}/my-pages?${searchParams.toString()}`, nextUrl)
|
new URL(`/${lang}/my-pages2?${searchParams.toString()}`, nextUrl)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return NextResponse.next()
|
return NextResponse.next()
|
||||||
|
|||||||
@@ -77,23 +77,23 @@ const nextConfig = {
|
|||||||
beforeFiles: [
|
beforeFiles: [
|
||||||
{
|
{
|
||||||
source: benefits.da,
|
source: benefits.da,
|
||||||
destination: "/da/my-pages/benefits",
|
destination: "/da/my-pages2/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.de,
|
source: benefits.de,
|
||||||
destination: "/de/my-pages/benefits",
|
destination: "/de/my-pages2/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.fi,
|
source: benefits.fi,
|
||||||
destination: "/fi/my-pages/benefits",
|
destination: "/fi/my-pages2/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.no,
|
source: benefits.no,
|
||||||
destination: "/no/my-pages/benefits",
|
destination: "/no/my-pages2/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.sv,
|
source: benefits.sv,
|
||||||
destination: "/sv/my-pages/benefits",
|
destination: "/sv/my-pages2/benefits",
|
||||||
},
|
},
|
||||||
|
|
||||||
{ source: login.da, destination: "/da/login" },
|
{ source: login.da, destination: "/da/login" },
|
||||||
@@ -102,35 +102,35 @@ const nextConfig = {
|
|||||||
{ source: login.no, destination: "/no/login" },
|
{ source: login.no, destination: "/no/login" },
|
||||||
{ source: login.sv, destination: "/sv/login" },
|
{ source: login.sv, destination: "/sv/login" },
|
||||||
|
|
||||||
{ source: myPages.da, destination: "/da/my-pages/overview" },
|
{ source: myPages.da, destination: "/da/my-pages2/overview" },
|
||||||
{ source: myPages.de, destination: "/de/my-pages/overview" },
|
{ source: myPages.de, destination: "/de/my-pages2/overview" },
|
||||||
{ source: myPages.fi, destination: "/fi/my-pages/overview" },
|
{ source: myPages.fi, destination: "/fi/my-pages2/overview" },
|
||||||
{ source: myPages.no, destination: "/no/my-pages/overview" },
|
{ source: myPages.no, destination: "/no/my-pages2/overview" },
|
||||||
{ source: myPages.sv, destination: "/sv/my-pages/overview" },
|
{ source: myPages.sv, destination: "/sv/my-pages2/overview" },
|
||||||
|
|
||||||
{ source: overview.da, destination: "/da/my-pages/overview" },
|
{ source: overview.da, destination: "/da/my-pages2/overview" },
|
||||||
{ source: overview.de, destination: "/de/my-pages/overview" },
|
{ source: overview.de, destination: "/de/my-pages2/overview" },
|
||||||
{ source: overview.fi, destination: "/fi/my-pages/overview" },
|
{ source: overview.fi, destination: "/fi/my-pages2/overview" },
|
||||||
{ source: overview.no, destination: "/no/my-pages/overview" },
|
{ source: overview.no, destination: "/no/my-pages2/overview" },
|
||||||
{ source: overview.sv, destination: "/sv/my-pages/overview" },
|
{ source: overview.sv, destination: "/sv/my-pages2/overview" },
|
||||||
|
|
||||||
{ source: profile.da, destination: "/da/my-pages/profile" },
|
{ source: profile.da, destination: "/da/my-pages2/profile" },
|
||||||
{ source: profile.de, destination: "/de/my-pages/profile" },
|
{ source: profile.de, destination: "/de/my-pages2/profile" },
|
||||||
{ source: profile.fi, destination: "/fi/my-pages/profile" },
|
{ source: profile.fi, destination: "/fi/my-pages2/profile" },
|
||||||
{ source: profile.no, destination: "/no/my-pages/profile" },
|
{ source: profile.no, destination: "/no/my-pages2/profile" },
|
||||||
{ source: profile.sv, destination: "/sv/my-pages/profile" },
|
{ source: profile.sv, destination: "/sv/my-pages2/profile" },
|
||||||
|
|
||||||
{ source: profileEdit.da, destination: "/da/my-pages/profile/edit" },
|
{ source: profileEdit.da, destination: "/da/my-pages2/profile/edit" },
|
||||||
{ source: profileEdit.de, destination: "/de/my-pages/profile/edit" },
|
{ source: profileEdit.de, destination: "/de/my-pages2/profile/edit" },
|
||||||
{ source: profileEdit.fi, destination: "/fi/my-pages/profile/edit" },
|
{ source: profileEdit.fi, destination: "/fi/my-pages2/profile/edit" },
|
||||||
{ source: profileEdit.no, destination: "/no/my-pages/profile/edit" },
|
{ source: profileEdit.no, destination: "/no/my-pages2/profile/edit" },
|
||||||
{ source: profileEdit.sv, destination: "/sv/my-pages/profile/edit" },
|
{ source: profileEdit.sv, destination: "/sv/my-pages2/profile/edit" },
|
||||||
|
|
||||||
{ source: stays.da, destination: "/da/my-pages/stays" },
|
{ source: stays.da, destination: "/da/my-pages2/stays" },
|
||||||
{ source: stays.de, destination: "/de/my-pages/stays" },
|
{ source: stays.de, destination: "/de/my-pages2/stays" },
|
||||||
{ source: stays.fi, destination: "/fi/my-pages/stays" },
|
{ source: stays.fi, destination: "/fi/my-pages2/stays" },
|
||||||
{ source: stays.no, destination: "/no/my-pages/stays" },
|
{ source: stays.no, destination: "/no/my-pages2/stays" },
|
||||||
{ source: stays.sv, destination: "/sv/my-pages/stays" },
|
{ source: stays.sv, destination: "/sv/my-pages2/stays" },
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user