@@ -1,12 +1,12 @@
|
|||||||
export const breadcrumbs = {
|
export const breadcrumbs = {
|
||||||
"/my-pages2": [
|
"/my-pages": [
|
||||||
{
|
{
|
||||||
title: "My Pages",
|
title: "My Pages",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"/my-pages2/profile": [
|
"/my-pages/profile": [
|
||||||
{
|
{
|
||||||
href: "/my-pages2",
|
href: "/my-pages",
|
||||||
title: "My Pages",
|
title: "My Pages",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
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} />
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
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} />
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
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} />
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
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} />
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
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} />
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
export const breadcrumbs = {
|
|
||||||
"/my-pages2": [
|
|
||||||
{
|
|
||||||
title: "My Pages",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"/my-pages2/profile": [
|
|
||||||
{
|
|
||||||
href: "/my-pages2",
|
|
||||||
title: "My Pages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "My Profile",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
.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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
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>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
.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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
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>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import CommunicationPreferences from "@/components/MyProfile/CommunicationPreferences"
|
|
||||||
|
|
||||||
export default function Communication() {
|
|
||||||
return <CommunicationPreferences />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import CommunicationPreferences from "@/components/MyProfile/CommunicationPreferences"
|
|
||||||
|
|
||||||
export default function Communication() {
|
|
||||||
return <CommunicationPreferences />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import CreditCards from "@/components/MyProfile/CreditCards"
|
|
||||||
|
|
||||||
export default function CreditCardSlot() {
|
|
||||||
return <CreditCards />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import CreditCards from "@/components/MyProfile/CreditCards"
|
|
||||||
|
|
||||||
export default function CreditCardSlot() {
|
|
||||||
return <CreditCards />
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
"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>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Page() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import MembershipCard from "@/components/MyProfile/MembershipCard"
|
|
||||||
|
|
||||||
export default function MembershipCardSlot() {
|
|
||||||
return <MembershipCard />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import MembershipCard from "@/components/MyProfile/MembershipCard"
|
|
||||||
|
|
||||||
export default function MembershipCardSlot() {
|
|
||||||
return <MembershipCard />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import Password from "@/components/MyProfile/Password"
|
|
||||||
|
|
||||||
export default function PasswordSlot() {
|
|
||||||
return <Password />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import Password from "@/components/MyProfile/Password"
|
|
||||||
|
|
||||||
export default function PasswordSlot() {
|
|
||||||
return <Password />
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import EditProfile from "@/components/MyProfile/Profile/Edit"
|
|
||||||
|
|
||||||
export default function EditProfileSlot() {
|
|
||||||
return <EditProfile />
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
"use client"
|
|
||||||
|
|
||||||
import type { ErrorPage } from "@/types/next/error"
|
|
||||||
|
|
||||||
export default function ProfileError({ error }: ErrorPage) {
|
|
||||||
console.error(error)
|
|
||||||
return <h1>Error happened, Profile</h1>
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import Profile from "@/components/MyProfile/Profile"
|
|
||||||
|
|
||||||
export default function ProfileInfo() {
|
|
||||||
return <Profile />
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function Default() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export default function EditPage() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
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>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import Wishes from "@/components/MyProfile/Wishes"
|
|
||||||
|
|
||||||
export default function WishesSlot() {
|
|
||||||
return <Wishes />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import Wishes from "@/components/MyProfile/Wishes"
|
|
||||||
|
|
||||||
export default function WishesSlot() {
|
|
||||||
return <Wishes />
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import "../profileLayout.css"
|
|
||||||
|
|
||||||
export default function EditProfilePage() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
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>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import "./profileLayout.css"
|
|
||||||
|
|
||||||
export default function ProfilePage() {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/**
|
|
||||||
* 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,6 +1,9 @@
|
|||||||
"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"
|
||||||
@@ -12,6 +15,10 @@ 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-pages2",
|
en: "/en/my-pages",
|
||||||
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-pages2?${searchParams.toString()}`, nextUrl)
|
new URL(`/${lang}/my-pages?${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-pages2/benefits",
|
destination: "/da/my-pages/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.de,
|
source: benefits.de,
|
||||||
destination: "/de/my-pages2/benefits",
|
destination: "/de/my-pages/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.fi,
|
source: benefits.fi,
|
||||||
destination: "/fi/my-pages2/benefits",
|
destination: "/fi/my-pages/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.no,
|
source: benefits.no,
|
||||||
destination: "/no/my-pages2/benefits",
|
destination: "/no/my-pages/benefits",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
source: benefits.sv,
|
source: benefits.sv,
|
||||||
destination: "/sv/my-pages2/benefits",
|
destination: "/sv/my-pages/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-pages2/overview" },
|
{ source: myPages.da, destination: "/da/my-pages/overview" },
|
||||||
{ source: myPages.de, destination: "/de/my-pages2/overview" },
|
{ source: myPages.de, destination: "/de/my-pages/overview" },
|
||||||
{ source: myPages.fi, destination: "/fi/my-pages2/overview" },
|
{ source: myPages.fi, destination: "/fi/my-pages/overview" },
|
||||||
{ source: myPages.no, destination: "/no/my-pages2/overview" },
|
{ source: myPages.no, destination: "/no/my-pages/overview" },
|
||||||
{ source: myPages.sv, destination: "/sv/my-pages2/overview" },
|
{ source: myPages.sv, destination: "/sv/my-pages/overview" },
|
||||||
|
|
||||||
{ source: overview.da, destination: "/da/my-pages2/overview" },
|
{ source: overview.da, destination: "/da/my-pages/overview" },
|
||||||
{ source: overview.de, destination: "/de/my-pages2/overview" },
|
{ source: overview.de, destination: "/de/my-pages/overview" },
|
||||||
{ source: overview.fi, destination: "/fi/my-pages2/overview" },
|
{ source: overview.fi, destination: "/fi/my-pages/overview" },
|
||||||
{ source: overview.no, destination: "/no/my-pages2/overview" },
|
{ source: overview.no, destination: "/no/my-pages/overview" },
|
||||||
{ source: overview.sv, destination: "/sv/my-pages2/overview" },
|
{ source: overview.sv, destination: "/sv/my-pages/overview" },
|
||||||
|
|
||||||
{ source: profile.da, destination: "/da/my-pages2/profile" },
|
{ source: profile.da, destination: "/da/my-pages/profile" },
|
||||||
{ source: profile.de, destination: "/de/my-pages2/profile" },
|
{ source: profile.de, destination: "/de/my-pages/profile" },
|
||||||
{ source: profile.fi, destination: "/fi/my-pages2/profile" },
|
{ source: profile.fi, destination: "/fi/my-pages/profile" },
|
||||||
{ source: profile.no, destination: "/no/my-pages2/profile" },
|
{ source: profile.no, destination: "/no/my-pages/profile" },
|
||||||
{ source: profile.sv, destination: "/sv/my-pages2/profile" },
|
{ source: profile.sv, destination: "/sv/my-pages/profile" },
|
||||||
|
|
||||||
{ source: profileEdit.da, destination: "/da/my-pages2/profile/edit" },
|
{ source: profileEdit.da, destination: "/da/my-pages/profile/edit" },
|
||||||
{ source: profileEdit.de, destination: "/de/my-pages2/profile/edit" },
|
{ source: profileEdit.de, destination: "/de/my-pages/profile/edit" },
|
||||||
{ source: profileEdit.fi, destination: "/fi/my-pages2/profile/edit" },
|
{ source: profileEdit.fi, destination: "/fi/my-pages/profile/edit" },
|
||||||
{ source: profileEdit.no, destination: "/no/my-pages2/profile/edit" },
|
{ source: profileEdit.no, destination: "/no/my-pages/profile/edit" },
|
||||||
{ source: profileEdit.sv, destination: "/sv/my-pages2/profile/edit" },
|
{ source: profileEdit.sv, destination: "/sv/my-pages/profile/edit" },
|
||||||
|
|
||||||
{ source: stays.da, destination: "/da/my-pages2/stays" },
|
{ source: stays.da, destination: "/da/my-pages/stays" },
|
||||||
{ source: stays.de, destination: "/de/my-pages2/stays" },
|
{ source: stays.de, destination: "/de/my-pages/stays" },
|
||||||
{ source: stays.fi, destination: "/fi/my-pages2/stays" },
|
{ source: stays.fi, destination: "/fi/my-pages/stays" },
|
||||||
{ source: stays.no, destination: "/no/my-pages2/stays" },
|
{ source: stays.no, destination: "/no/my-pages/stays" },
|
||||||
{ source: stays.sv, destination: "/sv/my-pages2/stays" },
|
{ source: stays.sv, destination: "/sv/my-pages/stays" },
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user