Merged in feat/sw-2863-move-contentstack-router-to-trpc-package (pull request #2389)

feat(SW-2863): Move contentstack router to trpc package

* Add exports to packages and lint rule to prevent relative imports

* Add env to trpc package

* Add eslint to trpc package

* Apply lint rules

* Use direct imports from trpc package

* Add lint-staged config to trpc

* Move lang enum to common

* Restructure trpc package folder structure

* WIP first step

* update internal imports in trpc

* Fix most errors in scandic-web

Just 100 left...

* Move Props type out of trpc

* Fix CategorizedFilters types

* Move more schemas in hotel router

* Fix deps

* fix getNonContentstackUrls

* Fix import error

* Fix entry error handling

* Fix generateMetadata metrics

* Fix alertType enum

* Fix duplicated types

* lint:fix

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package

* Fix broken imports

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-06-26 07:53:01 +00:00
parent 0263ab8c87
commit 002d093af4
921 changed files with 3112 additions and 3008 deletions

View File

@@ -1,10 +0,0 @@
import type { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
export const baseUrls: LanguageSwitcherData = {
da: { url: "/da/" },
de: { url: "/de/" },
en: { url: "/en/" },
fi: { url: "/fi/" },
no: { url: "/no/" },
sv: { url: "/sv/" },
}

View File

@@ -1,4 +1,4 @@
import type { LangRoute } from "@/types/routes"
import type { LangRoute } from "@scandic-hotels/common/constants/routes/langRoute"
export const employeeBenefits: LangRoute = {
en: "/en/employee-benefits",

View File

@@ -1,24 +0,0 @@
/**
* @file Due to these records being used in next.config.js, and that is required
* to be a js file, we use jsdoc to type these.
*/
/** @type {import('@/types/routes').LangRoute} */
export const findMyBooking = {
da: "/da/hotelreservation/hent-booking",
de: "/de/hotelreservation/mein-bereich",
en: "/en/hotelreservation/get-booking",
fi: "/fi/hotelreservation/hae-varaus",
no: "/no/hotelreservation/get-booking",
sv: "/sv/hotelreservation/hitta-bokning",
}
/** @type {import('@/types/routes').LangRoute} */
export const findMyBookingCurrentWebPath = {
da: "/hotelreservation/hent-booking",
de: "/hotelreservation/mein-bereich",
en: "/hotelreservation/get-booking",
fi: "/varaa-hotelli/hae-varaus",
no: "/hotelreservation/get-booking",
sv: "/hotelreservation/hitta-bokning",
}

View File

@@ -2,7 +2,7 @@
* These are routes for login, logout, signup, etc.
*/
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const login = {
da: "/da/log-pa",
de: "/de/anmeldung",
@@ -12,7 +12,7 @@ export const login = {
sv: "/sv/logga-in",
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const loginUnLocalized = {
da: "/da/login",
de: "/de/login",
@@ -22,7 +22,7 @@ export const loginUnLocalized = {
sv: "/sv/login",
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const logout = {
da: "/da/log-ud",
de: "/de/ausloggen",
@@ -32,7 +32,7 @@ export const logout = {
sv: "/sv/logga-ut",
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const logoutUnLocalized = {
da: "/da/logout",
de: "/de/logout",
@@ -42,7 +42,7 @@ export const logoutUnLocalized = {
sv: "/sv/logout",
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const verifymagiclink = {
da: "/da/verifymagiclink",
de: "/de/verifymagiclink",

View File

@@ -7,7 +7,7 @@
* These are routes that define code entries for My pages
*/
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const scandicFriends = {
da: "/da/scandic-friends",
de: "/de/scandic-friends",
@@ -17,7 +17,7 @@ export const scandicFriends = {
sv: "/sv/scandic-friends",
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const myPages = {
da: `${scandicFriends.da}/mine-sider`,
de: `${scandicFriends.de}/mein-bereich`,
@@ -27,7 +27,7 @@ export const myPages = {
sv: `${scandicFriends.sv}/mina-sidor`,
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const overview = {
da: `${myPages.da}/oversigt`,
de: `${myPages.de}/uberblick`,
@@ -38,7 +38,7 @@ export const overview = {
}
/** TODO: Update to relevant paths */
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const profile = {
da: `${myPages.da}/profil`,
de: `${myPages.de}/profil`,
@@ -48,7 +48,7 @@ export const profile = {
sv: `${myPages.sv}/profil`,
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const profileEdit = {
da: `${profile.da}/rediger`,
de: `${profile.de}/bearbeiten`,
@@ -58,7 +58,7 @@ export const profileEdit = {
sv: `${profile.sv}/redigera`,
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const points = {
da: `${myPages.da}/point`,
de: `${myPages.de}/punkte`,
@@ -68,7 +68,7 @@ export const points = {
sv: `${myPages.sv}/poang`,
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const benefits = {
da: `${myPages.da}/fordele`,
de: `${myPages.de}/vorteile`,
@@ -78,7 +78,7 @@ export const benefits = {
sv: `${myPages.sv}/formaner`,
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const stays = {
da: `${myPages.da}/ophold`,
de: `${myPages.de}/aufenthalte`,
@@ -88,7 +88,7 @@ export const stays = {
sv: `${myPages.sv}/vistelser`,
}
/** @type {import('@/types/routes').LangRoute} */
/** @type {import('@scandic-hotels/common/constants/routes/langRoute').LangRoute} */
export const partnerSas = {
da: `${myPages.da}/sas-eurobonus`,
de: `${myPages.de}/sas-eurobonus`,

View File

@@ -1,24 +0,0 @@
/**
* @file Due to these records being used in next.config.js, and that is required
* to be a js file, we use jsdoc to type these.
*/
/** @type {import('@/types/routes').LangRoute} */
export const myStay = {
da: "/da/hotelreservation/min-ophold",
de: "/de/hotelreservation/meine-aufenthalte",
en: "/en/hotelreservation/my-stay",
fi: "/fi/hotelreservation/min-vistelma",
no: "/no/hotelreservation/min-ophold",
sv: "/sv/hotelreservation/min-vistelse",
}
/** @type {import('@/types/routes').LangRoute} */
export const preliminaryReceipt = {
da: `${myStay.da}/receipt`,
de: `${myStay.de}/receipt`,
en: `${myStay.en}/receipt`,
fi: `${myStay.fi}/receipt`,
no: `${myStay.no}/receipt`,
sv: `${myStay.sv}/receipt`,
}

View File

@@ -1,4 +1,4 @@
import type { LangRoute } from "@/types/routes"
import type { LangRoute } from "@scandic-hotels/common/constants/routes/langRoute"
export const signup: LangRoute = {
en: "/en/scandic-friends/join",