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

@@ -2,6 +2,8 @@
import { useRef, useState } from "react"
import { type Reward } from "@scandic-hotels/trpc/types/rewards"
import { REWARDS_PER_PAGE } from "@/constants/rewards"
import { trpc } from "@/lib/trpc/client"
@@ -19,7 +21,6 @@ import Redeem from "../Redeem"
import styles from "./current.module.css"
import type { CurrentRewardsClientProps } from "@/types/components/myPages/myPage/accountPage"
import type { Reward } from "@/types/components/myPages/rewards"
export default function ClientCurrentRewards({
rewards: initialData,

View File

@@ -1,6 +1,7 @@
import { Lock } from "react-feather"
import { MembershipLevelEnum } from "@/constants/membershipLevels"
import { MembershipLevelEnum } from "@scandic-hotels/common/constants/membershipLevels"
import { getMembershipLevel } from "@/lib/trpc/memoizedRequests"
import { serverClient } from "@/lib/trpc/server"

View File

@@ -14,7 +14,7 @@ import { RewardIcon } from "../../RewardIcon"
import styles from "../redeem.module.css"
import type { Campaign } from "@/types/components/myPages/rewards"
import type { Campaign } from "@scandic-hotels/trpc/types/rewards"
export default function Campaign({ reward }: { reward: Campaign }) {
const intl = useIntl()

View File

@@ -16,7 +16,7 @@ import useRedeemFlow from "../useRedeemFlow"
import styles from "../redeem.module.css"
import type { Surprise, Tier } from "@/types/components/myPages/rewards"
import type { Surprise, Tier } from "@scandic-hotels/trpc/types/rewards"
export default function Tier({
reward,

View File

@@ -2,10 +2,9 @@
import { useIntl } from "react-intl"
import { dt } from "@scandic-hotels/common/dt"
import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon"
import { dt } from "@/lib/dt"
import Countdown from "@/components/Countdown"
import Caption from "@/components/TempDesignSystem/Text/Caption"

View File

@@ -25,12 +25,13 @@ import { RedeemContext } from "./useRedeemFlow"
import styles from "./redeem.module.css"
import type { Reward } from "@scandic-hotels/trpc/types/rewards"
import type {
RedeemModalState,
RedeemProps,
RedeemStep,
} from "@/types/components/myPages/myPage/accountPage"
import type { Reward } from "@/types/components/myPages/rewards"
const MotionOverlay = motion.create(ModalOverlay)
const MotionModal = motion.create(Modal)

View File

@@ -6,8 +6,9 @@ import { trpc } from "@/lib/trpc/client"
import { getFirstRedeemableCoupon } from "@/utils/rewards"
import type { Reward } from "@scandic-hotels/trpc/types/rewards"
import type { RedeemFlowContext } from "@/types/components/myPages/myPage/accountPage"
import type { Reward } from "@/types/components/myPages/rewards"
export const RedeemContext = createContext<RedeemFlowContext>({
redeemStep: "initial",

View File

@@ -1,4 +1,6 @@
import { REWARD_IDS } from "@/constants/rewards"
// import { REWARD_IDS } from "@scandic-hotels/trpc/types/rewards"
import { REWARD_IDS, type RewardId } from "@scandic-hotels/trpc/types/rewards"
import { IconName } from "@/components/Icons/iconName"
import { IllustrationByIconName } from "@/components/Icons/IllustrationByIconName"
@@ -7,7 +9,7 @@ import { isValidRewardId } from "@/utils/rewards"
import type { IconProps } from "@scandic-hotels/design-system/Icons"
import type { FC } from "react"
import type { RewardId } from "@/types/components/myPages/rewards"
// import type { RewardId } from "@/types/components/myPages/rewards"
function getIconForRewardId(rewardId: RewardId): IconName {
switch (rewardId) {

View File

@@ -1,6 +1,11 @@
import { mapRewardToIcon } from "./data"
import type { RewardIconProps } from "@/types/components/myPages/rewards"
import type { LogoAndIllustrationProps } from "@scandic-hotels/design-system/Icons"
export interface RewardIconProps extends LogoAndIllustrationProps {
rewardId: string
iconSize?: "small" | "medium" | "large"
}
// Original SVG aspect ratio is 358:202 (≈1.77:1)
const sizeMap = {