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:
@@ -8,6 +8,7 @@ import BedSofaExtraIcon from "@scandic-hotels/design-system/Icons/BedSofaExtraIc
|
||||
import BedTwinIcon from "@scandic-hotels/design-system/Icons/BedTwinIcon"
|
||||
import BedWallExtraIcon from "@scandic-hotels/design-system/Icons/BedWallExtraIcon"
|
||||
|
||||
import type { PaymentMethodEnum } from "@scandic-hotels/common/constants/paymentMethod"
|
||||
import type { IconProps } from "@scandic-hotels/design-system/Icons"
|
||||
import type { JSX } from "react"
|
||||
|
||||
@@ -28,13 +29,6 @@ export enum BookingStatusEnum {
|
||||
PendingPayment = "PendingPayment",
|
||||
}
|
||||
|
||||
export enum ChildBedTypeEnum {
|
||||
Crib = "Crib",
|
||||
ExtraBed = "ExtraBed",
|
||||
ParentsBed = "ParentsBed",
|
||||
Unknown = "Unknown",
|
||||
}
|
||||
|
||||
export const FamilyAndFriendsCodes = ["D000029555", "D000029271", "D000029195"]
|
||||
|
||||
export const REDEMPTION = "redemption"
|
||||
@@ -43,28 +37,6 @@ export const SEARCHTYPE = "searchtype"
|
||||
|
||||
export const MEMBERSHIP_FAILED_ERROR = "MembershipFailedError"
|
||||
|
||||
export enum PaymentMethodEnum {
|
||||
card = "card",
|
||||
swish = "swish",
|
||||
vipps = "vipps",
|
||||
mobilePay = "mobilePay",
|
||||
applePay = "applePay",
|
||||
googlePay = "googlePay",
|
||||
alipayPlus = "alipayPlus",
|
||||
weChatPay = "weChatPay",
|
||||
payPal = "payPal",
|
||||
klarna = "klarna",
|
||||
americanExpress = "americanExpress",
|
||||
dankort = "dankort",
|
||||
dinersClub = "dinersClub",
|
||||
jcb = "jcb",
|
||||
masterCard = "masterCard",
|
||||
visa = "visa",
|
||||
maestro = "maestro",
|
||||
chinaUnionPay = "chinaUnionPay",
|
||||
discover = "discover",
|
||||
}
|
||||
|
||||
export enum BookingErrorCodeEnum {
|
||||
InternalError = "InternalError",
|
||||
ReservationError = "ReservationError",
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { MembershipLevelEnum } from "@scandic-hotels/common/constants/membershipLevels"
|
||||
|
||||
import type { EurobonusTier } from "@/types/user"
|
||||
|
||||
export const FriendsMembershipLevels = [
|
||||
@@ -20,16 +22,6 @@ export enum membershipLevels {
|
||||
L7 = 7,
|
||||
}
|
||||
|
||||
export enum MembershipLevelEnum {
|
||||
L1 = "L1",
|
||||
L2 = "L2",
|
||||
L3 = "L3",
|
||||
L4 = "L4",
|
||||
L5 = "L5",
|
||||
L6 = "L6",
|
||||
L7 = "L7",
|
||||
}
|
||||
|
||||
/**
|
||||
* @note Membership levels should always be in English.
|
||||
*/
|
||||
@@ -43,8 +35,6 @@ export const TIER_TO_FRIEND_MAP: Record<MembershipLevelEnum, string> = {
|
||||
[MembershipLevelEnum.L7]: "Best Friend",
|
||||
}
|
||||
|
||||
export type MembershipLevel = keyof typeof MembershipLevelEnum
|
||||
|
||||
export const SAS_EUROBONUS_TIER_TO_NAME_MAP: Record<EurobonusTier, string> = {
|
||||
EBB: "Member",
|
||||
EBS: "Silver",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { LangRoute } from "@/types/routes"
|
||||
import type { LangRoute } from "@scandic-hotels/common/constants/routes/langRoute"
|
||||
|
||||
export const missingPoints: LangRoute = {
|
||||
da: "https://www.scandichotels.dk/form/manglende-point",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { LangRoute } from "@/types/routes"
|
||||
import type { LangRoute } from "@scandic-hotels/common/constants/routes/langRoute"
|
||||
|
||||
export const myBookingPath: LangRoute = {
|
||||
da: "/hotelreservation/min-booking",
|
||||
|
||||
@@ -1,41 +1 @@
|
||||
export const REWARD_IDS = {
|
||||
// Food & Beverage
|
||||
TenPercentFood: "tier_10_percent_food_tier",
|
||||
TwoForOneBreakfast: "tier_2_for_one_breakfast",
|
||||
FifteenPercentFood: "tier_15_percent_food",
|
||||
FreeKidsDrink: "tier_free_kids_drink",
|
||||
FreeBreakfast: "tier_free_breakfast",
|
||||
|
||||
// Monetary Vouchers
|
||||
Bonus50SEK: "tier_50_SEK_bonus_voucher",
|
||||
Bonus75SEK: "tier_75_SEK_bonus_voucher",
|
||||
Bonus100SEK: "tier_100_SEK_bonus_voucher",
|
||||
Bonus150SEK: "tier_150_SEK_bonus_voucher",
|
||||
Bonus200SEK: "tier_200_SEK_bonus_voucher",
|
||||
|
||||
// Hotel Perks
|
||||
EarlyCheckin: "tier_early_checkin_tier",
|
||||
LateCheckout: "tier_late_checkout",
|
||||
FreeUpgrade: "tier_free_upgrade",
|
||||
RoomGuarantee48H: "tier_48_h_room_guarantee",
|
||||
// GymAccess: "tier_gym_access",
|
||||
|
||||
// Earning & Points
|
||||
EarnRate25Percent: "tier_25_percent_earn_rate",
|
||||
EarnRate50Percent: "tier_50_percent_earn_rate",
|
||||
StayBoostForKids: "tier_stay_boost_for_kids",
|
||||
MemberRate: "tier_member_rate",
|
||||
|
||||
// Special
|
||||
YearlyExclusiveGift: "tier_yearly_exclusive_gift",
|
||||
} as const
|
||||
|
||||
export const RESTAURANT_REWARD_IDS = [
|
||||
REWARD_IDS.TenPercentFood,
|
||||
REWARD_IDS.TwoForOneBreakfast,
|
||||
REWARD_IDS.FifteenPercentFood,
|
||||
REWARD_IDS.FreeKidsDrink,
|
||||
REWARD_IDS.FreeBreakfast,
|
||||
] as const
|
||||
|
||||
export const REWARDS_PER_PAGE = 6
|
||||
|
||||
@@ -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/" },
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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`,
|
||||
|
||||
@@ -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`,
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
import type { LangRoute } from "@/types/routes"
|
||||
import type { LangRoute } from "@scandic-hotels/common/constants/routes/langRoute"
|
||||
|
||||
export const bookingTermsAndConditions: LangRoute = {
|
||||
da: `/${Lang.da}/kundeservice/priser-og-bookingvilkar/vilkar-og-betingelser3`,
|
||||
|
||||
Reference in New Issue
Block a user