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:
@@ -1,4 +1,4 @@
|
||||
import type { Accordion } from "@/server/routers/contentstack/schemas/blocks/accordion"
|
||||
import type { Accordion } from "@scandic-hotels/trpc/routers/contentstack/schemas/blocks/accordion"
|
||||
|
||||
export type AccordionProps = {
|
||||
accordion: Accordion["accordion"]["accordions"]
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { Block as AccountPageBlock } from "@/types/trpc/routers/contentstack/accountPage"
|
||||
import type { Block as CampaignPageBlock } from "@/types/trpc/routers/contentstack/campaignPage"
|
||||
import type { Block as CollectionPageBlock } from "@/types/trpc/routers/contentstack/collectionPage"
|
||||
import type { Block as ContentPageBlock } from "@/types/trpc/routers/contentstack/contentPage"
|
||||
import type { Block as DestinationCityPageBlock } from "@/types/trpc/routers/contentstack/destinationCityPage"
|
||||
import type { Block as DestinationCountryPageBlock } from "@/types/trpc/routers/contentstack/destinationCountryPage"
|
||||
import type { Block as DestinationOverviewPageBlock } from "@/types/trpc/routers/contentstack/destinationOverviewPage"
|
||||
import type { Block as LoyaltyPageBlock } from "@/types/trpc/routers/contentstack/loyaltyPage"
|
||||
import type { Block as StartPageBlock } from "@/types/trpc/routers/contentstack/startPage"
|
||||
import type { Block as StartPageBlock } from "@scandic-hotels/trpc/routers/contentstack/startPage/query"
|
||||
import type { Block as AccountPageBlock } from "@scandic-hotels/trpc/types/accountPage"
|
||||
import type { Block as CampaignPageBlock } from "@scandic-hotels/trpc/types/campaignPage"
|
||||
import type { Block as CollectionPageBlock } from "@scandic-hotels/trpc/types/collectionPage"
|
||||
import type { Block as ContentPageBlock } from "@scandic-hotels/trpc/types/contentPage"
|
||||
import type { Block as DestinationCityPageBlock } from "@scandic-hotels/trpc/types/destinationCityPage"
|
||||
import type { Block as DestinationCountryPageBlock } from "@scandic-hotels/trpc/types/destinationCountryPage"
|
||||
import type { Block as DestinationOverviewPageBlock } from "@scandic-hotels/trpc/types/destinationOverviewPage"
|
||||
import type { Block as LoyaltyPageBlock } from "@scandic-hotels/trpc/types/loyaltyPage"
|
||||
|
||||
export type Blocks =
|
||||
| AccountPageBlock
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ImageVaultAsset } from "@scandic-hotels/trpc/types/imageVault"
|
||||
import type { VariantProps } from "class-variance-authority"
|
||||
|
||||
import type { ImageVaultAsset } from "@/types/components/imageVault"
|
||||
import type { CardProps } from "@/components/TempDesignSystem/Card/card"
|
||||
import type { cardVariants } from "@/components/TempDesignSystem/Card/variants"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Surprise } from "../myPages/rewards"
|
||||
import type { Surprise } from "@scandic-hotels/trpc/types/rewards"
|
||||
|
||||
export interface SurprisesProps {
|
||||
surprises: Surprise[]
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
export enum ChildBedMapEnum {
|
||||
IN_ADULTS_BED = 0,
|
||||
IN_CRIB = 1,
|
||||
IN_EXTRA_BED = 2,
|
||||
UNKNOWN = 3,
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { AdditionalData, Hotel } from "@/types/hotel"
|
||||
import type { AdditionalData, Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
import type { HotelListing } from "@/types/trpc/routers/contentstack/blocks"
|
||||
|
||||
export interface HotelListingItemProps {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ContactNode } from "@/types/requests/asides/contact"
|
||||
import type { Node } from "@/types/requests/utils/edges"
|
||||
import type { Node } from "@scandic-hotels/trpc/types/edges"
|
||||
|
||||
export type ContactsProps = { contacts: Node<ContactNode>[] }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { NavigationItem } from "@/server/routers/contentstack/base/output"
|
||||
import type { NavigationItem } from "@scandic-hotels/trpc/routers/contentstack/base/output"
|
||||
|
||||
export type FooterNavigationProps = {
|
||||
linkGroups: NavigationItem[]
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { Image } from "@/types/image"
|
||||
import type { Image } from "@scandic-hotels/trpc/types/image"
|
||||
|
||||
import type {
|
||||
CurrentHeaderLink,
|
||||
TopMenuHeaderLink,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Image } from "@/types/image"
|
||||
import type { Image } from "@scandic-hotels/trpc/types/image"
|
||||
|
||||
export type HeroProps = {
|
||||
images: {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
import type { LanguageSwitcherData } from "@scandic-hotels/trpc/types/languageSwitcher"
|
||||
|
||||
export type LanguageSwitcherLink = {
|
||||
href: string
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Embeds } from "@/types/requests/embeds"
|
||||
import type { Node } from "@/types/requests/utils/edges"
|
||||
import type { Node } from "@scandic-hotels/trpc/types/edges"
|
||||
import type { RTENode } from "../rte/node"
|
||||
import type { RenderOptions } from "../rte/option"
|
||||
|
||||
|
||||
@@ -1,19 +1,7 @@
|
||||
import type { SortOption } from "../enums/destinationFilterAndSort"
|
||||
import type { SortOption } from "@scandic-hotels/trpc/enums/destinationFilterAndSort"
|
||||
|
||||
export interface SortItem {
|
||||
label: string
|
||||
value: SortOption
|
||||
isDefault?: boolean
|
||||
}
|
||||
|
||||
export interface Filter {
|
||||
name: string
|
||||
slug: string
|
||||
filterType: string
|
||||
sortOrder: number
|
||||
}
|
||||
|
||||
export interface CategorizedFilters {
|
||||
facilityFilters: Filter[]
|
||||
surroundingsFilters: Filter[]
|
||||
}
|
||||
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
export type City = {
|
||||
id: string
|
||||
name: string
|
||||
hotelIds: string[]
|
||||
hotelCount: number
|
||||
url: string
|
||||
}
|
||||
|
||||
export type DestinationCountry = {
|
||||
country: string
|
||||
countryUrl?: string
|
||||
numberOfHotels: number
|
||||
cities: City[]
|
||||
}
|
||||
|
||||
export type DestinationsData = DestinationCountry[]
|
||||
|
||||
export type DestinationsListProps = {
|
||||
destinations: DestinationsData
|
||||
}
|
||||
|
||||
export type DestinationProps = {
|
||||
country: string
|
||||
countryUrl: string | undefined
|
||||
numberOfHotels: number
|
||||
cities: DestinationCountry["cities"]
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import type { z } from "zod"
|
||||
|
||||
import type {
|
||||
validateFooterConfigSchema,
|
||||
validateFooterRefConfigSchema,
|
||||
validateLinkItem,
|
||||
} from "@/server/routers/contentstack/base/output"
|
||||
|
||||
export type FooterRefDataRaw = z.infer<typeof validateFooterRefConfigSchema>
|
||||
export type FooterDataRaw = z.infer<typeof validateFooterConfigSchema>
|
||||
export type FooterLinkItem = z.infer<typeof validateLinkItem>
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { MenuItem } from "@/types/trpc/routers/contentstack/header"
|
||||
import type { MenuItem } from "@scandic-hotels/trpc/types/header"
|
||||
|
||||
export interface MegaMenuProps {
|
||||
title: MenuItem["title"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Header } from "@/types/trpc/routers/contentstack/header"
|
||||
import type { Header } from "@scandic-hotels/trpc/types/header"
|
||||
|
||||
export interface MobileMenuProps {
|
||||
topLink: Header["header"]["topLink"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { MenuItem } from "@/types/trpc/routers/contentstack/header"
|
||||
import type { MenuItem } from "@scandic-hotels/trpc/types/header"
|
||||
|
||||
export interface NavigationMenuItemProps {
|
||||
item: MenuItem
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { MenuItem } from "@/types/trpc/routers/contentstack/header"
|
||||
import type { MenuItem } from "@scandic-hotels/trpc/types/header"
|
||||
|
||||
export interface NavigationMenuListProps {
|
||||
isMobile: boolean
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Header } from "@/types/trpc/routers/contentstack/header"
|
||||
import type { Header } from "@scandic-hotels/trpc/types/header"
|
||||
|
||||
export interface TopLinkProps {
|
||||
isLoggedIn: boolean
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { dynamicContentSchema } from "@/server/routers/contentstack/schemas/headers/dynamicContent"
|
||||
import type { dynamicContentSchema } from "@scandic-hotels/trpc/routers/contentstack/schemas/headers/dynamicContent"
|
||||
|
||||
export type HeaderDynamicContentProps = z.infer<typeof dynamicContentSchema>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Amenities } from "@/types/hotel"
|
||||
import type { Amenities } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type AmenitiesListProps = {
|
||||
detailedFacilities: Amenities
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import type { Amenities, Facility, HealthFacilities } from "@/types/hotel"
|
||||
import type { ActivitiesCard } from "@/types/trpc/routers/contentstack/hotelPage"
|
||||
import type {
|
||||
Amenities,
|
||||
Facility,
|
||||
HealthFacilities,
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { ActivitiesCard } from "@scandic-hotels/trpc/types/hotelPage"
|
||||
import type { CardProps } from "@/components/TempDesignSystem/Card/card"
|
||||
|
||||
export type FacilitiesProps = {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { PointOfInterest } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { MarkerInfo } from "@scandic-hotels/trpc/types/marker"
|
||||
import type { ReactElement } from "react"
|
||||
|
||||
import type { HotelPin } from "@/types/components/hotelReservation/selectHotel/map"
|
||||
import type { Coordinates } from "@/types/components/maps/coordinates"
|
||||
import type { MarkerInfo } from "@/types/components/maps/marker"
|
||||
import type { PointOfInterest } from "@/types/hotel"
|
||||
|
||||
export interface InteractiveMapProps {
|
||||
coordinates: Coordinates
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { PointOfInterest } from "@/types/hotel"
|
||||
import type { PointOfInterest } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface MapCardProps {
|
||||
hotelName: string
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { PointOfInterest } from "@/types/hotel"
|
||||
import type { PointOfInterest } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { Coordinates } from "../../maps/coordinates"
|
||||
|
||||
export interface SidebarProps {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { MarkerInfo } from "@/types/components/maps/marker"
|
||||
import type { MarkerInfo } from "@scandic-hotels/trpc/types/marker"
|
||||
|
||||
import type { Coordinates } from "../../maps/coordinates"
|
||||
|
||||
export type StaticMapProps = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ApiImage } from "@/types/hotel"
|
||||
import type { ApiImage } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type PreviewImagesProps = {
|
||||
images: ApiImage[]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface RoomCardProps {
|
||||
room: Room
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
import type { Hotel, HotelAddress, HotelLocation } from "@/types/hotel"
|
||||
import type {
|
||||
Hotel,
|
||||
HotelAddress,
|
||||
HotelLocation,
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type AboutTheHotelSidePeekProps = {
|
||||
hotelAddress: HotelAddress
|
||||
|
||||
@@ -3,7 +3,7 @@ import type {
|
||||
DetailedFacility,
|
||||
Hotel,
|
||||
Restaurant,
|
||||
} from "@/types/hotel"
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { ParkingAmenityProps } from "./parking"
|
||||
|
||||
export type AmenitiesSidePeekProps = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type FacilityProps = {
|
||||
data: Hotel["healthFacilities"][number]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { AdditionalData, Hotel } from "@/types/hotel"
|
||||
import type { AdditionalData, Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { MeetingRooms } from "../meetingRooms"
|
||||
|
||||
export type MeetingsAndConferencesSidePeekProps = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Hotel, Parking } from "@/types/hotel"
|
||||
import type { Hotel, Parking } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export enum Periods {
|
||||
allDay = "AllDay",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Restaurant } from "@/types/hotel"
|
||||
import type { Restaurant } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface RestaurantBarSidePeekProps {
|
||||
restaurants: Restaurant[]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface RoomSidePeekProps {
|
||||
room: Room
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type WellnessAndExerciseSidePeekProps = {
|
||||
healthFacilities: Hotel["healthFacilities"]
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import type { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
|
||||
import type { AdditionalData, Hotel, Restaurant } from "@/types/hotel"
|
||||
import type {
|
||||
AdditionalData,
|
||||
Hotel,
|
||||
Restaurant,
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type AmenitiesSidePeekProps = {
|
||||
hotel: Hotel & { url: string | null }
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type {
|
||||
BookingConfirmation,
|
||||
BookingConfirmationSchema,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
|
||||
|
||||
export interface BookingConfirmationRoomsProps
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { breakfastPackagesSchema } from "@scandic-hotels/trpc/routers/hotels/output"
|
||||
import type { breakfastPackageSchema } from "@scandic-hotels/trpc/routers/hotels/schemas/packages"
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { breakfastFormSchema } from "@/components/HotelReservation/EnterDetails/Breakfast/schema"
|
||||
import type { breakfastPackagesSchema } from "@/server/routers/hotels/output"
|
||||
import type { breakfastPackageSchema } from "@/server/routers/hotels/schemas/packages"
|
||||
|
||||
export interface BreakfastFormSchema
|
||||
extends z.output<typeof breakfastFormSchema> {}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { PackageEnum } from "@/types/requests/packages"
|
||||
import type { Product } from "@/types/trpc/routers/hotel/roomAvailability"
|
||||
import type { Product } from "@scandic-hotels/trpc/types/roomAvailability"
|
||||
import type { SafeUser } from "@/types/user"
|
||||
import type { getMultiroomDetailsSchema } from "@/components/HotelReservation/EnterDetails/Details/Multiroom/schema"
|
||||
import type {
|
||||
guestDetailsSchema,
|
||||
signedInDetailsSchema,
|
||||
} from "@/components/HotelReservation/EnterDetails/Details/RoomOne/schema"
|
||||
import type { productTypePointsSchema } from "@/server/routers/hotels/schemas/productTypePrice"
|
||||
import type { productTypePointsSchema } from "@scandic-hotels/trpc/routers/hotels/schemas/productTypePrice"
|
||||
import type { BookingSearchType } from "../booking"
|
||||
import type { Price } from "../price"
|
||||
import type { Child } from "../selectRate/selectRate"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { HotelData } from "@/types/hotel"
|
||||
import type { HotelData } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface HotelHeaderProps {
|
||||
hotelData: HotelData
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { PaymentMethodEnum } from "@scandic-hotels/common/constants/paymentMethod"
|
||||
|
||||
import type { CreditCard } from "@/types/user"
|
||||
import type { PaymentMethodEnum } from "@/constants/booking"
|
||||
|
||||
export interface PaymentProps {
|
||||
otherPaymentOptions: PaymentMethodEnum[]
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import type { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
|
||||
import type { AdditionalData, Hotel, Restaurant } from "@/types/hotel"
|
||||
import type {
|
||||
AdditionalData,
|
||||
Hotel,
|
||||
Restaurant,
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type HotelSidePeekProps = {
|
||||
hotel: Hotel & { url: string | null }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { z } from "zod"
|
||||
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export const cancelStaySchema = z.object({
|
||||
rooms: z.array(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
|
||||
import type { Ancillaries } from "../../myPages/myStay/ancillaries"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { z } from "zod"
|
||||
|
||||
import { CurrencyEnum } from "@/types/enums/currency"
|
||||
import { CurrencyEnum } from "@scandic-hotels/common/constants/currency"
|
||||
|
||||
interface TPrice {
|
||||
additionalPrice?: number
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import type { CategorizedFilters } from "./hotelFilters"
|
||||
import type { CategorizedHotelFilters } from "./hotelFilters"
|
||||
|
||||
export type FilterAndSortModalProps = {
|
||||
filters: CategorizedFilters
|
||||
filters: CategorizedHotelFilters
|
||||
setShowSkeleton?: (showSkeleton: boolean) => void
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { ProductType } from "@/types/trpc/routers/hotel/availability"
|
||||
import type { HotelResponse } from "@/components/HotelReservation/SelectHotel/helpers"
|
||||
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type HotelFilter = Hotel["detailedFacilities"][number] & {
|
||||
hotelId: string
|
||||
hotelIds: string[]
|
||||
}
|
||||
|
||||
export type CategorizedFilters = {
|
||||
export type CategorizedHotelFilters = {
|
||||
facilityFilters: HotelFilter[]
|
||||
surroundingsFilters: HotelFilter[]
|
||||
}
|
||||
|
||||
export type HotelFiltersProps = {
|
||||
filters: CategorizedFilters
|
||||
filters: CategorizedHotelFilters
|
||||
className?: string
|
||||
}
|
||||
|
||||
export type HotelFilterModalProps = {
|
||||
filters: CategorizedFilters
|
||||
filters: CategorizedHotelFilters
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import type { imageSchema } from "@scandic-hotels/trpc/routers/hotels/schemas/image"
|
||||
import type { Amenities } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { Coordinates } from "@/types/components/maps/coordinates"
|
||||
import type { Amenities } from "@/types/hotel"
|
||||
import type { ProductTypeCheque } from "@/types/trpc/routers/hotel/availability"
|
||||
import type { HotelResponse } from "@/components/HotelReservation/SelectHotel/helpers"
|
||||
import type { imageSchema } from "@/server/routers/hotels/schemas/image"
|
||||
import type { CategorizedFilters } from "./hotelFilters"
|
||||
import type { CategorizedHotelFilters } from "./hotelFilters"
|
||||
import type { SelectHotelBooking } from "./selectHotel"
|
||||
|
||||
export interface HotelListingProps {
|
||||
@@ -18,7 +18,7 @@ export interface SelectHotelMapProps {
|
||||
hotelPins: HotelPin[]
|
||||
mapId: string
|
||||
hotels: HotelResponse[]
|
||||
filterList: CategorizedFilters
|
||||
filterList: CategorizedHotelFilters
|
||||
cityCoordinates: Coordinates
|
||||
bookingCode: string | undefined
|
||||
isBookingCodeRateAvailable?: boolean
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export type NoAvailabilityAlertProp = {
|
||||
hotelsLength: number
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { BookingSearchType } from "../booking"
|
||||
import type { Child } from "../selectRate/selectRate"
|
||||
import type { SidePeekEnum } from "../sidePeek"
|
||||
|
||||
export enum AvailabilityEnum {
|
||||
Available = "Available",
|
||||
NotAvailable = "NotAvailable",
|
||||
}
|
||||
|
||||
export interface ReadMoreProps {
|
||||
label: string
|
||||
hotelId: string
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { Hotel } from "@/types/hotel"
|
||||
import type { Hotel } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
import type { SelectRateBooking } from "./selectRate"
|
||||
|
||||
export interface HotelInfoCardProps {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type {
|
||||
Product,
|
||||
RoomConfiguration,
|
||||
} from "@/types/trpc/routers/hotel/roomAvailability"
|
||||
} from "@scandic-hotels/trpc/types/roomAvailability"
|
||||
|
||||
export interface RatesProps {
|
||||
roomConfiguration: RoomConfiguration
|
||||
|
||||
@@ -1,22 +1,6 @@
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { packageSchema } from "@/server/routers/hotels/schemas/packages"
|
||||
import type { packageSchema } from "@scandic-hotels/trpc/routers/hotels/schemas/packages"
|
||||
|
||||
export enum RoomPackageCodeEnum {
|
||||
PET_ROOM = "PETR",
|
||||
ALLERGY_ROOM = "ALLG",
|
||||
ACCESSIBILITY_ROOM = "ACCE",
|
||||
}
|
||||
|
||||
export interface DefaultFilterOptions {
|
||||
code: RoomPackageCodeEnum
|
||||
description: string
|
||||
}
|
||||
|
||||
export type FilterValues = {
|
||||
[K in RoomPackageCodeEnum]?: boolean
|
||||
}
|
||||
|
||||
export type RoomPackage = z.output<typeof packageSchema>
|
||||
type RoomPackage = z.output<typeof packageSchema>
|
||||
export type RoomPackageCodes = RoomPackage["code"]
|
||||
export type RoomPackages = RoomPackage[]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Package } from "@/types/requests/packages"
|
||||
import type { RoomConfiguration } from "@/types/trpc/routers/hotel/roomAvailability"
|
||||
import type { RoomConfiguration } from "@scandic-hotels/trpc/types/roomAvailability"
|
||||
|
||||
export type RoomListItemProps = {
|
||||
roomConfiguration: RoomConfiguration
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { HotelData } from "@/types/hotel"
|
||||
import type { HotelData } from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface RoomsContainerProps
|
||||
extends Pick<HotelData, "roomCategories">,
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import type { RateEnum } from "@/types/enums/rate"
|
||||
import type { PackageEnum, Packages } from "@/types/requests/packages"
|
||||
import type { ChildBedMapEnum } from "@scandic-hotels/trpc/enums/childBedMapEnum"
|
||||
import type { RateEnum } from "@scandic-hotels/trpc/enums/rate"
|
||||
import type {
|
||||
Product,
|
||||
RoomConfiguration,
|
||||
} from "@/types/trpc/routers/hotel/roomAvailability"
|
||||
import type { ChildBedMapEnum } from "../../bookingWidget/enums"
|
||||
} from "@scandic-hotels/trpc/types/roomAvailability"
|
||||
|
||||
import type { PackageEnum, Packages } from "@/types/requests/packages"
|
||||
import type { BookingSearchType } from "../booking"
|
||||
|
||||
export interface Child {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { CurrencyEnum } from "@/types/enums/currency"
|
||||
import type { CurrencyEnum } from "@scandic-hotels/common/constants/currency"
|
||||
import type { Packages } from "@/types/requests/packages"
|
||||
import type { RoomState } from "@/types/stores/enter-details"
|
||||
import type {
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
import type { FocalPoint } from "@scandic-hotels/trpc/types/image"
|
||||
import type { ImageProps as NextImageProps } from "next/image"
|
||||
|
||||
export interface FocalPoint {
|
||||
x: number
|
||||
y: number
|
||||
}
|
||||
|
||||
export interface Dimensions {
|
||||
interface Dimensions {
|
||||
width: number
|
||||
height: number
|
||||
aspectRatio: number
|
||||
}
|
||||
|
||||
export interface Meta {
|
||||
interface Meta {
|
||||
alt: string | undefined | null
|
||||
caption: string | undefined | null
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ImageVaultAsset } from "./imageVault"
|
||||
import type { ImageVaultAsset } from "@scandic-hotels/trpc/types/imageVault"
|
||||
|
||||
export type ImageContainerProps = {
|
||||
leftImage: ImageVaultAsset
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
/**
|
||||
* @file TypeScript typings for ImageVault
|
||||
*
|
||||
* The types in this file are based on the source maps of the downloaded
|
||||
* distribution at https://clientscript.imagevault.se/Installation/ImageVaultInsertMedia
|
||||
*
|
||||
* They have been clean up and amended to.
|
||||
*/
|
||||
|
||||
import { z } from "zod"
|
||||
|
||||
import { imageVaultAssetSchema } from "@/server/routers/contentstack/schemas/imageVault"
|
||||
|
||||
import type { FocalPoint } from "./image"
|
||||
|
||||
export type ImageVaultAssetResponse = z.infer<typeof imageVaultAssetSchema>
|
||||
|
||||
export type ImageVaultAsset = {
|
||||
id: number
|
||||
title: string
|
||||
url: string
|
||||
dimensions: {
|
||||
width: number
|
||||
height: number
|
||||
aspectRatio: number
|
||||
}
|
||||
meta: { alt: string | undefined | null; caption: string | undefined | null }
|
||||
focalPoint: FocalPoint
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
import type { LanguageSwitcherData } from "@scandic-hotels/trpc/types/languageSwitcher"
|
||||
import type { ReactElement } from "react"
|
||||
|
||||
import type { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
|
||||
export enum LanguageSwitcherTypesEnum {
|
||||
MobileHeader = "mobileHeader",
|
||||
DesktopHeader = "desktopHeader",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { mapLocationSchema } from "@/server/routers/contentstack/schemas/mapLocation"
|
||||
import type { mapLocationSchema } from "@scandic-hotels/trpc/routers/contentstack/schemas/mapLocation"
|
||||
|
||||
export type MapLocation = z.output<typeof mapLocationSchema>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { FeatureCollection, Point } from "geojson"
|
||||
|
||||
import type { Amenities } from "@/types/hotel"
|
||||
import type { Amenities } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { GalleryImage } from "../imageGallery"
|
||||
|
||||
export interface DestinationMarker {
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
export type MarkerInfo = {
|
||||
hotelId: string
|
||||
hotelType: string
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { PointOfInterestGroupEnum } from "@scandic-hotels/trpc/enums/pointOfInterest"
|
||||
import type { VariantProps } from "class-variance-authority"
|
||||
|
||||
import type { PointOfInterestGroupEnum } from "@/types/enums/pointOfInterest"
|
||||
import type { poiVariants } from "@/components/Maps/Markers/Poi/variants"
|
||||
|
||||
export interface PoiMarkerProps extends VariantProps<typeof poiVariants> {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { MembershipLevel } from "@scandic-hotels/common/constants/membershipLevels"
|
||||
|
||||
import type { LevelProps } from "@/components/Levels/levels"
|
||||
import type { MembershipLevel } from "@/constants/membershipLevels"
|
||||
|
||||
export type MembershipLevelIconProps = {
|
||||
level: MembershipLevel
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { blocksSchema } from "@scandic-hotels/trpc/routers/contentstack/accountPage/output"
|
||||
import type { Reward } from "@scandic-hotels/trpc/types/rewards"
|
||||
import type { Dispatch, SetStateAction } from "react"
|
||||
import type { z } from "zod"
|
||||
|
||||
import type { DynamicContent } from "@/types/trpc/routers/contentstack/blocks"
|
||||
import type { blocksSchema } from "@/server/routers/contentstack/accountPage/output"
|
||||
import type { Reward } from "../rewards"
|
||||
|
||||
export interface AccountPageContentProps
|
||||
extends Pick<DynamicContent, "dynamic_content"> {}
|
||||
|
||||
@@ -5,7 +5,7 @@ import type { CreditCard, User } from "@/types/user"
|
||||
import type {
|
||||
ancillaryPackagesSchema,
|
||||
packagesSchema,
|
||||
} from "@/server/routers/hotels/output"
|
||||
} from "@scandic-hotels/trpc/routers/hotels/output"
|
||||
|
||||
export type Ancillaries = z.output<typeof ancillaryPackagesSchema>
|
||||
export type Ancillary = Ancillaries[number]
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
import {
|
||||
type RESTAURANT_REWARD_IDS,
|
||||
type REWARD_IDS,
|
||||
} from "@/constants/rewards"
|
||||
|
||||
import type { LogoAndIllustrationProps } from "@scandic-hotels/design-system/Icons"
|
||||
|
||||
import type {
|
||||
ApiReward,
|
||||
BenefitReward,
|
||||
CMSReward,
|
||||
CouponReward,
|
||||
} from "@/types/trpc/routers/contentstack/reward"
|
||||
|
||||
export type { BaseReward, Campaign, Reward, Surprise, Tier }
|
||||
|
||||
export interface RewardIconProps extends LogoAndIllustrationProps {
|
||||
rewardId: string
|
||||
iconSize?: "small" | "medium" | "large"
|
||||
}
|
||||
|
||||
export type RewardId = (typeof REWARD_IDS)[keyof typeof REWARD_IDS]
|
||||
|
||||
export type RestaurantRewardId = (typeof RESTAURANT_REWARD_IDS)[number]
|
||||
|
||||
type BaseReward = ApiReward & CMSReward
|
||||
type Campaign = CouponReward &
|
||||
CMSReward & {
|
||||
rewardType: "Campaign"
|
||||
}
|
||||
type Surprise = CouponReward &
|
||||
CMSReward & {
|
||||
rewardType: "Surprise"
|
||||
}
|
||||
type Tier = BenefitReward &
|
||||
CMSReward & {
|
||||
rewardType: "Tier"
|
||||
}
|
||||
type MemberVoucher = CouponReward &
|
||||
CMSReward & {
|
||||
rewardType: "Member-voucher"
|
||||
}
|
||||
type Reward = Campaign | Surprise | Tier | MemberVoucher
|
||||
@@ -1,9 +1,8 @@
|
||||
import type { MembershipLevel } from "@scandic-hotels/common/constants/membershipLevels"
|
||||
import type { LevelWithRewards } from "@scandic-hotels/trpc/routers/contentstack/loyaltyLevel/output"
|
||||
import type { CMSReward } from "@scandic-hotels/trpc/types/reward"
|
||||
import type { JSX } from "react"
|
||||
|
||||
import type { MembershipLevel } from "@/constants/membershipLevels"
|
||||
import type { LoyaltyLevel } from "@/server/routers/contentstack/loyaltyLevel/output"
|
||||
import type { CMSReward } from "../trpc/routers/contentstack/reward"
|
||||
|
||||
export type OverviewTableClientProps = {
|
||||
activeMembership: MembershipLevel | null
|
||||
levels: ComparisonLevel[]
|
||||
@@ -13,8 +12,6 @@ export type LevelCardProps = {
|
||||
level: LevelWithRewards
|
||||
}
|
||||
|
||||
export type LevelWithRewards = LoyaltyLevel & { rewards: CMSReward[] }
|
||||
|
||||
export type ComparisonLevel = LevelWithRewards
|
||||
|
||||
export type LevelSummaryProps = {
|
||||
|
||||
@@ -3,7 +3,7 @@ import type {
|
||||
DetailedFacility,
|
||||
Parking,
|
||||
Restaurant,
|
||||
} from "@/types/hotel"
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface ParkingAccordionItemProps {
|
||||
parkingPageHref?: string | null
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { SafeUser } from "@/types/user"
|
||||
|
||||
export type BookedRoomSidePeekProps = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Room } from "@/types/hotel"
|
||||
import type { Room } from "@scandic-hotels/trpc/types/hotel"
|
||||
import type { SidePeekEnum } from "../hotelReservation/sidePeek"
|
||||
|
||||
export type RoomSidePeekProps = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { SidebarBlock as ContentPageSidebarBlock } from "@/types/trpc/routers/contentstack/contentPage"
|
||||
import type { SidebarBlock as LoyaltyPageSidebarBlock } from "@/types/trpc/routers/contentstack/loyaltyPage"
|
||||
import type { SidebarBlock as ContentPageSidebarBlock } from "@scandic-hotels/trpc/types/contentPage"
|
||||
import type { SidebarBlock as LoyaltyPageSidebarBlock } from "@scandic-hotels/trpc/types/loyaltyPage"
|
||||
|
||||
export type Blocks = ContentPageSidebarBlock | LoyaltyPageSidebarBlock
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import type { ContactFields } from "@scandic-hotels/trpc/routers/contentstack/base/output"
|
||||
|
||||
import type {
|
||||
Contacts,
|
||||
JoinLoyaltyContact,
|
||||
} from "@/types/trpc/routers/contentstack/sidebar"
|
||||
import type { ContactFields } from "@/server/routers/contentstack/base/output"
|
||||
|
||||
export interface JoinLoyaltyContactProps {
|
||||
block: JoinLoyaltyContact["join_loyalty_contact"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { ImageVaultAsset } from "@scandic-hotels/trpc/types/imageVault"
|
||||
import type { VariantProps } from "class-variance-authority"
|
||||
|
||||
import type { ImageVaultAsset } from "@/types/components/imageVault"
|
||||
import type { CardProps } from "@/components/TempDesignSystem/Card/card"
|
||||
import type { teaserCardVariants } from "@/components/TempDesignSystem/TeaserCard/variants"
|
||||
import type { TeaserCard } from "../trpc/routers/contentstack/blocks"
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import type { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
import type { MembershipLevel } from "@/constants/membershipLevels"
|
||||
import type { RateEnum } from "../enums/rate"
|
||||
import type { MembershipLevel } from "@scandic-hotels/common/constants/membershipLevels"
|
||||
import type { RateEnum } from "@scandic-hotels/trpc/enums/rate"
|
||||
|
||||
export enum TrackingChannelEnum {
|
||||
"scandic-friends" = "scandic-friends",
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import type { ZodDiscriminatedUnionOption, ZodError } from "zod"
|
||||
|
||||
export interface DiscriminatedUnionError {
|
||||
error: ZodError<unknown>
|
||||
}
|
||||
|
||||
export interface Option extends ZodDiscriminatedUnionOption<"__typename"> {}
|
||||
@@ -1,9 +0,0 @@
|
||||
export namespace AccountPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
DynamicContent = "AccountPageContentDynamicContent",
|
||||
ShortCuts = "AccountPageContentShortcuts",
|
||||
TextContent = "AccountPageContentTextContent",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,3 @@
|
||||
export enum AlertTypeEnum {
|
||||
Info = "info",
|
||||
Warning = "warning",
|
||||
Alarm = "alarm",
|
||||
Success = "success",
|
||||
}
|
||||
|
||||
export const AlertName = {
|
||||
HotelChildrenInBooking: "HotelChildrenInBooking",
|
||||
} as const
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
export namespace BlocksEnums {
|
||||
export const enum block {
|
||||
Accordion = "Accordion",
|
||||
CardGallery = "CardGallery",
|
||||
CardsGrid = "CardsGrid",
|
||||
CarouselCards = "CarouselCards",
|
||||
Content = "Content",
|
||||
DynamicContent = "DynamicContent",
|
||||
FullWidthCampaign = "FullWidthCampaign",
|
||||
CampaignPageHotelListing = "CampaignPageHotelListing",
|
||||
ContentPageHotelListing = "ContentPageHotelListing",
|
||||
JoinScandicFriends = "JoinScandicFriends",
|
||||
Shortcuts = "Shortcuts",
|
||||
Table = "Table",
|
||||
TextCols = "TextCols",
|
||||
TextContent = "TextContent",
|
||||
UspGrid = "UspGrid",
|
||||
Essentials = "Essentials",
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
export enum BreakfastPackageEnum {
|
||||
FREE_MEMBER_BREAKFAST = "BRF0",
|
||||
FREE_CHILD_BREAKFAST = "BRFINF",
|
||||
REGULAR_BREAKFAST = "BRF1",
|
||||
CHILD_PAYING_BREAKFAST = "BRF1C",
|
||||
SPECIAL_PACKAGE_BREAKFAST = "F01S",
|
||||
ANCILLARY_REGULAR_BREAKFAST = "BRF2",
|
||||
ANCILLARY_CHILD_PAYING_BREAKFAST = "BRF2C",
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
export namespace CampaignPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
Essentials = "CampaignPageBlocksEssentials",
|
||||
CarouselCards = "CampaignPageBlocksCarouselCards",
|
||||
Accordion = "CampaignPageBlocksAccordion",
|
||||
HotelListing = "CampaignPageBlocksHotelListing",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
export const CardsEnum = {
|
||||
Card: "Card",
|
||||
TeaserCard: "TeaserCard",
|
||||
LoyaltyCard: "LoyaltyCard",
|
||||
InfoCard: "InfoCard",
|
||||
ContentCard: "ContentCard",
|
||||
} as const
|
||||
@@ -1,22 +0,0 @@
|
||||
import { CardsEnum } from "./cards"
|
||||
|
||||
/**
|
||||
* Enums specific to the CardsGrid presentation context.
|
||||
* CardsEnum defines the core card types, while CardsGridEnum defines
|
||||
* which cards are supported in the grid layout.
|
||||
*/
|
||||
export namespace CardsGridEnum {
|
||||
export const cards = {
|
||||
Card: CardsEnum.Card,
|
||||
LoyaltyCard: CardsEnum.LoyaltyCard,
|
||||
TeaserCard: CardsEnum.TeaserCard,
|
||||
InfoCard: CardsEnum.InfoCard,
|
||||
} as const satisfies Partial<typeof CardsEnum>
|
||||
}
|
||||
|
||||
export enum CardsGridLayoutEnum {
|
||||
ONE_COLUMN = "oneColumnGrid",
|
||||
TWO_COLUMNS = "twoColumnGrid",
|
||||
THREE_COLUMNS = "threeColumnGrid",
|
||||
TWO_PLUS_ONE = "twoPlusOne", // Not sure if this is used?
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
export namespace CollectionPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
CardsGrid = "CollectionPageBlocksCardsGrid",
|
||||
DynamicContent = "CollectionPageBlocksDynamicContent",
|
||||
Shortcuts = "CollectionPageBlocksShortcuts",
|
||||
UspGrid = "CollectionPageBlocksUspGrid",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
export namespace ContentEnum {
|
||||
export const enum blocks {
|
||||
AccountPage = "AccountPage",
|
||||
CampaignOverviewPage = "CampaignOverviewPage",
|
||||
CampaignPage = "CampaignPage",
|
||||
CollectionPage = "CollectionPage",
|
||||
ContentPage = "ContentPage",
|
||||
DestinationCityPage = "DestinationCityPage",
|
||||
DestinationCountryPage = "DestinationCountryPage",
|
||||
DestinationOverviewPage = "DestinationOverviewPage",
|
||||
HotelPage = "HotelPage",
|
||||
ImageContainer = "ImageContainer",
|
||||
LoyaltyPage = "LoyaltyPage",
|
||||
StartPage = "StartPage",
|
||||
SysAsset = "SysAsset",
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
export namespace ContentPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
Accordion = "ContentPageBlocksAccordion",
|
||||
CardsGrid = "ContentPageBlocksCardsGrid",
|
||||
Content = "ContentPageBlocksContent",
|
||||
DynamicContent = "ContentPageBlocksDynamicContent",
|
||||
Shortcuts = "ContentPageBlocksShortcuts",
|
||||
TextCols = "ContentPageBlocksTextCols",
|
||||
UspGrid = "ContentPageBlocksUspGrid",
|
||||
Table = "ContentPageBlocksTable",
|
||||
HotelListing = "ContentPageBlocksHotelListing",
|
||||
}
|
||||
|
||||
export const enum sidebar {
|
||||
Content = "ContentPageSidebarContent",
|
||||
DynamicContent = "ContentPageSidebarDynamicContent",
|
||||
JoinLoyaltyContact = "ContentPageSidebarJoinLoyaltyContact",
|
||||
ScriptedCard = "ContentPageSidebarScriptedCard",
|
||||
TeaserCard = "ContentPageSidebarTeaserCard",
|
||||
QuickLinks = "ContentPageSidebarShortcuts",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
import { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
export enum Country {
|
||||
Denmark = "Denmark",
|
||||
Finland = "Finland",
|
||||
Germany = "Germany",
|
||||
Norway = "Norway",
|
||||
Poland = "Poland",
|
||||
Sweden = "Sweden",
|
||||
}
|
||||
|
||||
export const ApiCountry: Record<Lang, Record<Country, string>> = {
|
||||
[Lang.da]: {
|
||||
[Country.Denmark]: "Danmark",
|
||||
[Country.Finland]: "Finland",
|
||||
[Country.Germany]: "Tyskland",
|
||||
[Country.Norway]: "Norge",
|
||||
[Country.Poland]: "Polen",
|
||||
[Country.Sweden]: "Sverige",
|
||||
},
|
||||
[Lang.de]: {
|
||||
[Country.Denmark]: "Dänemark",
|
||||
[Country.Finland]: "Finnland",
|
||||
[Country.Germany]: "Deutschland",
|
||||
[Country.Norway]: "Norwegen",
|
||||
[Country.Poland]: "Polen",
|
||||
[Country.Sweden]: "Schweden",
|
||||
},
|
||||
[Lang.en]: {
|
||||
[Country.Denmark]: "Denmark",
|
||||
[Country.Finland]: "Finland",
|
||||
[Country.Germany]: "Germany",
|
||||
[Country.Norway]: "Norway",
|
||||
[Country.Poland]: "Poland",
|
||||
[Country.Sweden]: "Sweden",
|
||||
},
|
||||
[Lang.fi]: {
|
||||
[Country.Denmark]: "Tanska",
|
||||
[Country.Finland]: "Suomi",
|
||||
[Country.Germany]: "Saksa",
|
||||
[Country.Norway]: "Norja",
|
||||
[Country.Poland]: "Puola",
|
||||
[Country.Sweden]: "Ruotsi",
|
||||
},
|
||||
[Lang.no]: {
|
||||
[Country.Denmark]: "Danmark",
|
||||
[Country.Finland]: "Finland",
|
||||
[Country.Germany]: "Tyskland",
|
||||
[Country.Norway]: "Norge",
|
||||
[Country.Poland]: "Polen",
|
||||
[Country.Sweden]: "Sverige",
|
||||
},
|
||||
[Lang.sv]: {
|
||||
[Country.Denmark]: "Danmark",
|
||||
[Country.Finland]: "Finland",
|
||||
[Country.Germany]: "Tyskland",
|
||||
[Country.Norway]: "Norge",
|
||||
[Country.Poland]: "Polen",
|
||||
[Country.Sweden]: "Sverige",
|
||||
},
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
export enum CurrencyEnum {
|
||||
DKK = "DKK",
|
||||
EUR = "EUR",
|
||||
NOK = "NOK",
|
||||
PLN = "PLN",
|
||||
SEK = "SEK",
|
||||
POINTS = "Points",
|
||||
Voucher = "Voucher",
|
||||
CC = "CC",
|
||||
Unknown = "Unknown",
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
export namespace DestinationCityPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
Accordion = "DestinationCityPageBlocksAccordion",
|
||||
Content = "DestinationCityPageBlocksContent",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
export namespace DestinationCountryPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
Accordion = "DestinationCountryPageBlocksAccordion",
|
||||
Content = "DestinationCountryPageBlocksContent",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
export enum SortOption {
|
||||
Recommended = "recommended",
|
||||
Distance = "distance",
|
||||
Name = "name",
|
||||
TripAdvisorRating = "tripadvisor",
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
export namespace DestinationOverviewPageEnum {
|
||||
export namespace ContentStack {
|
||||
export const enum blocks {
|
||||
CardGallery = "DestinationOverviewPageBlocksCardGallery",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
// Helper type to get a union of an object's string literal values
|
||||
type ValueOf<T> = T[keyof T]
|
||||
|
||||
export namespace DynamicContentEnum {
|
||||
export namespace Blocks {
|
||||
export const components = {
|
||||
current_benefits: "current_benefits",
|
||||
earn_and_burn: "earn_and_burn",
|
||||
expiring_points: "expiring_points",
|
||||
how_it_works: "how_it_works",
|
||||
jobylon_feed: "jobylon_feed",
|
||||
loyalty_levels: "loyalty_levels",
|
||||
membership_overview: "membership_overview",
|
||||
my_points: "my_points",
|
||||
next_benefits: "next_benefits",
|
||||
overview_table: "overview_table",
|
||||
points_overview: "points_overview",
|
||||
previous_stays: "previous_stays",
|
||||
sign_up_form: "sign_up_form",
|
||||
sign_up_verification: "sign_up_verification",
|
||||
soonest_stays: "soonest_stays",
|
||||
upcoming_stays: "upcoming_stays",
|
||||
sas_linked_account: "sas_linked_account",
|
||||
sas_transfer_points: "sas_transfer_points",
|
||||
sas_tier_comparison: "sas_tier_comparison",
|
||||
} as const
|
||||
|
||||
/**
|
||||
* Represents one of the possible component string literal values from Blocks.components.
|
||||
* e.g., "current_benefits" | "earn_and_burn" | ...
|
||||
*/
|
||||
type ComponentValue = ValueOf<typeof components>
|
||||
|
||||
/**
|
||||
* Array of all component string literal values from Blocks.components.
|
||||
* Typed as a non-empty tuple `[ComponentValue, ...ComponentValue[]]`,
|
||||
* to ensure it meets Zod's z.enum() requirements.
|
||||
*/
|
||||
export const enums = Object.values(components) as [
|
||||
ComponentValue,
|
||||
...ComponentValue[],
|
||||
]
|
||||
}
|
||||
|
||||
export namespace Headers {
|
||||
export const components = {
|
||||
dtmc_employee_benefits_call_to_actions:
|
||||
"dtmc_employee_benefits_call_to_actions",
|
||||
} as const
|
||||
|
||||
/**
|
||||
* Represents one of the possible component string literal values from Headers.components.
|
||||
* e.g., "dtmc_employee_benefits_call_to_actions"
|
||||
*/
|
||||
type ComponentValue = ValueOf<typeof components>
|
||||
|
||||
/**
|
||||
* Array of all component string literal values from Headers.components.
|
||||
* Typed as a non-empty tuple `[ComponentValue, ...ComponentValue[]]`,
|
||||
* to ensure it meets Zod's z.enum() requirements.
|
||||
*/
|
||||
export const enums = Object.values(components) as [
|
||||
ComponentValue,
|
||||
...ComponentValue[],
|
||||
]
|
||||
}
|
||||
|
||||
export namespace Sidebar {
|
||||
export const components = {
|
||||
my_pages_navigation: "my_pages_navigation",
|
||||
employee_benefits_auth_card: "employee_benefits_auth_card",
|
||||
} as const
|
||||
|
||||
/**
|
||||
* Represents one of the possible component string literal values from Sidebar.components.
|
||||
* e.g., "my_pages_navigation" | "employee_benefits_auth_card"
|
||||
*/
|
||||
type ComponentValue = ValueOf<typeof components>
|
||||
|
||||
/**
|
||||
* Array of all component string literal values from Sidebar.components.
|
||||
* Typed as a non-empty tuple `[ComponentValue, ...ComponentValue[]]`,
|
||||
* to ensure it meets Zod's z.enum() requirements.
|
||||
*/
|
||||
export const enums = Object.values(components) as [
|
||||
ComponentValue,
|
||||
...ComponentValue[],
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,266 +0,0 @@
|
||||
export enum FacilityEnum {
|
||||
AccessibleBathingControls = 2065,
|
||||
AccessibleBathtubs = 2062,
|
||||
AccessibleElevators = 2067,
|
||||
AccessibleLightSwitch = 2066,
|
||||
AccessibleRoomsAtHotel1 = 2659,
|
||||
AccessibleRoomsAtHotel2 = 3010,
|
||||
AccessibleToilets = 2068,
|
||||
AccessibleWashBasins = 2063,
|
||||
AdaptedRoomDoors = 2080,
|
||||
AdjoiningConventionCentre = 1560,
|
||||
AirConAirCooling = 2660,
|
||||
AirConditioningInRoom = 5763,
|
||||
AirportMaxDistance8Km = 1856,
|
||||
AlarmsContinuouslyMonitored = 1876,
|
||||
AlarmsHaveStrobeLightsForDeafHardHearingInAllGuestRooms = 1877,
|
||||
AlarmsHaveStrobeLightsForDeafHardHearingInAllHallways = 1878,
|
||||
AlarmsHaveStrobeLightsForDeafHardHearingInAllPublicAreas = 1879,
|
||||
AllAudibleSmokeAlarmsHardwired = 1884,
|
||||
AllExteriorDoorsRequireKeyAccessAtNightOrAutomaticallyLock = 2004,
|
||||
AllGuestRoomDoorsHaveViewports = 2006,
|
||||
AllGuestRoomDoorsSelfClosing = 2007,
|
||||
AllParkingAreasPatrolled = 1933,
|
||||
AllParkingAreasWellLit = 2013,
|
||||
AllStairsWellsVentilated = 2053,
|
||||
ArmchairBed = 104126,
|
||||
AudibleAlarms = 1880,
|
||||
AudibleSmokeAlarmsInAllHalls = 1881,
|
||||
AudibleSmokeAlarmsInAllPublicAreas = 1882,
|
||||
AudibleSmokeAlarmsInAllRooms = 1883,
|
||||
AudioVisualEquipmentAvailable = 961,
|
||||
AutolinkFireDepartment = 1886,
|
||||
AutomatedExternalDefibrillatorOnSiteAED = 1917,
|
||||
AutomaticFireDoors = 1887,
|
||||
AutoRecallElevators = 1885,
|
||||
BalconiesAccessibleToAdjoiningRooms = 1962,
|
||||
Ballroom = 1609,
|
||||
Banquet = 1557,
|
||||
Bar = 1014,
|
||||
BasicMedicalEquipmentOnSite = 1920,
|
||||
BathroomsAdaptedForDisabledGuests = 2064,
|
||||
Beach = 1827,
|
||||
Beach0To1Km = 1019,
|
||||
BeautySalon = 1015,
|
||||
BedroomsWithWheelchairAccess = 2081,
|
||||
BikesForLoan = 5550,
|
||||
Bowling = 185105,
|
||||
BrailleLargePrintHotelLiterature = 2069,
|
||||
BrailleLargePrintMenus = 2070,
|
||||
Breakfast = 5807,
|
||||
Business1 = 1385,
|
||||
Business2 = 83715,
|
||||
BusinessCentre = 962,
|
||||
Cafe = 1381,
|
||||
CashFree8pmTill6am = 327877,
|
||||
CashFreeHotel = 345180,
|
||||
ChildrenWelcome = 1828,
|
||||
City = 1857,
|
||||
CoffeeInReceptionAtCharge = 332224,
|
||||
CoffeeShop = 956,
|
||||
CoffeeTeaFacilities = 5776,
|
||||
ColourTVInRoomsAllScandicHotels = 5773,
|
||||
ComplimentaryColdRefreshments = 157965,
|
||||
CongressHall = 1558,
|
||||
ConventionCentre = 963,
|
||||
Couples = 2663,
|
||||
DeadboltsOnConnectingDoors = 1990,
|
||||
DeadboltsSecondaryLocksOnAllGuestRoomDoors = 1985,
|
||||
Defibrillator = 99872,
|
||||
Desk = 5777,
|
||||
DirectDialPhoneInRoomsAllScandic = 5772,
|
||||
DisabledEmergencyPlan1 = 1888,
|
||||
DisabledEmergencyPlan2 = 2074,
|
||||
DisabledParking = 2072,
|
||||
DiscoNightClub = 958,
|
||||
DJLiveMusic = 162587,
|
||||
DO_NOT_USE_Restaurant = 1377,
|
||||
Downtown = 969,
|
||||
DrinkableTapWater = 5553,
|
||||
DVDPlayer = 5778,
|
||||
EBikesChargingStation = 265711,
|
||||
ElectronicKeyCards = 1994,
|
||||
Elevator = 959,
|
||||
EmergencyBackUpGenerators = 1889,
|
||||
EmergencyCallButtonOnPhone = 1998,
|
||||
EmergencyCodesOrButtonsInRooms = 2075,
|
||||
EmergencyEvacuationPlan1 = 1890,
|
||||
EmergencyEvacuationPlan2 = 1895,
|
||||
EmergencyEvaluationDrillFrequency = 1896,
|
||||
EmergencyInfoInAllRooms = 1897,
|
||||
EmergencyLightingAllScandic = 952,
|
||||
EmergencyLightningInAllPublicAreas = 1898,
|
||||
EmergencyServiceResponseTimeInMinutes = 1899,
|
||||
Entertainment = 970,
|
||||
EventVenue = 1559,
|
||||
ExchangeFacility = 1605,
|
||||
ExitMapsInRooms = 1900,
|
||||
ExitSignsLit = 1901,
|
||||
ExtraFamilyFriendly = 242920,
|
||||
Families = 2664,
|
||||
FaxFacilityInRoom = 5764,
|
||||
Financial = 1409,
|
||||
FireDetectorsAllScandic = 1869,
|
||||
FireDetectorsInAllHalls = 1903,
|
||||
FireDetectorsInAllPublicAreas = 1905,
|
||||
FireDetectorsInAllRooms = 1906,
|
||||
FireExtinguishersInAllPublicAreas = 1907,
|
||||
FireExtinguishersInPublicAreasAllScandic = 1870,
|
||||
FireSafetyAllScandic = 1871,
|
||||
FirstAidAvailable = 1915,
|
||||
FoodDrinks247 = 324100,
|
||||
FreeWiFi = 1833,
|
||||
GiftShop = 1376,
|
||||
Golf = 1016,
|
||||
GolfCourse0To30Km = 1607,
|
||||
GuestRoomDoorsHaveASecondLock = 2005,
|
||||
Gym = 1829,
|
||||
GymTrainingFacilities = 2669,
|
||||
Hairdresser = 348860,
|
||||
HairdryerInRoomAllScandic = 5765,
|
||||
HandicapFacilities = 2076,
|
||||
HandrailsInBathrooms = 2078,
|
||||
HearingInductionLoops = 2077,
|
||||
Highway1 = 1858,
|
||||
Highway2 = 1864,
|
||||
Hiking0To3Km = 239346,
|
||||
HotelCompliesWithAAASecurityStandards = 2011,
|
||||
HotelIsFollowingScandicsSafetySecurityPolicy = 5559,
|
||||
HotelWorksAccordingToScandicsAccessibilityConcepts = 5560,
|
||||
IceMachine = 1405,
|
||||
IceMachineReception = 332194,
|
||||
IDRequiredToReplaceAGuestRoomKey = 2024,
|
||||
IfNoWhatAreTheHoursUse24ClockEx0000To0600 = 1912,
|
||||
InCountry = 1867,
|
||||
IndustrialPark = 1859,
|
||||
InternetHighSpeedInternetConnectionAllScandic = 5804,
|
||||
InternetHotSpotsAllScandic = 1832,
|
||||
IroningRoom = 238849,
|
||||
IronIroningBoardAllScandic = 5780,
|
||||
Jacuzzi = 162573,
|
||||
JacuzziInRoom = 5766,
|
||||
KayaksForLoan = 162585,
|
||||
KeyAccessOnlySecuredFloorsAvailable = 2050,
|
||||
KeyAccessOnlyToHealthClubGym = 2061,
|
||||
KidsPlayRoom = 239349,
|
||||
KidsUpToAndIncluding12YearsStayForFree = 5561,
|
||||
KitchenInRoom = 5767,
|
||||
Lake0To1Km = 1865,
|
||||
LakeOrSea0To1Km = 245437,
|
||||
LaptopSafe = 5283,
|
||||
LateCheckOutUntil1400Guaranteed = 324101,
|
||||
LaundryRoom = 326031,
|
||||
LaundryService = 1834,
|
||||
LaundryServiceExpress = 162583,
|
||||
Leisure = 83716,
|
||||
LifestyleConcierge = 162584,
|
||||
LuggageLockers = 324098,
|
||||
LuggageStorageAdditionalCost = 375884,
|
||||
LuggageStorageNoCost = 375885,
|
||||
Massage = 348859,
|
||||
MeetingArea = 1692,
|
||||
MeetingConferenceFacilities = 5806,
|
||||
MeetingRooms = 1017,
|
||||
MinibarInRoom = 5768,
|
||||
MobileLift = 113185,
|
||||
Mountains0To1Km = 1866,
|
||||
MovieChannelsInRoomAllScandic = 5770,
|
||||
MultipleExitsOnEachFloor = 2012,
|
||||
NonSmokingRoomsAllScandic = 5771,
|
||||
OnSiteTrainingFacilities = 3014,
|
||||
OtherExplainInBriefDescription = 1608,
|
||||
OutdoorTerrace = 1382,
|
||||
OvernightSecurity = 1913,
|
||||
ParkingAdditionalCost = 1406,
|
||||
ParkingAttendant = 1914,
|
||||
ParkingElectricCharging = 5554,
|
||||
ParkingFreeParking = 5562,
|
||||
ParkingGarage = 2665,
|
||||
ParkingOutdoor = 162574,
|
||||
PCHookUpInRoom = 5769,
|
||||
PetFriendlyRooms = 1835,
|
||||
PillowAlarmsAvailable = 2079,
|
||||
PlayStationInPlayArea = 175449,
|
||||
Pool = 1831,
|
||||
PoolSwimmingPoolJacuzziAtHotel = 2667,
|
||||
PrintingService = 1380,
|
||||
PropertyMeetsRequirementsFireSafety = 1875,
|
||||
PublicAddressSystem = 2014,
|
||||
RelaxationSuite = 5564,
|
||||
Restaurant = 1383,
|
||||
RestrictedRoomAccessAllScandic = 1872,
|
||||
RooftopBar = 239348,
|
||||
RoomsAccessibleFromTheInterior = 950,
|
||||
RoomService = 1378,
|
||||
RoomWindowsOpen = 2016,
|
||||
RoomWindowsThatOpenHaveLockingDevice = 2020,
|
||||
Rural1 = 1861,
|
||||
Rural2 = 1868,
|
||||
SafeDepositBoxInRoomsAllScandic = 5775,
|
||||
SafeDepositBoxInRoomsCanHoldA17InchLaptop = 200124,
|
||||
SafeDepositBoxInRoomsCannotHoldALaptop = 200123,
|
||||
SafetyChainsOnGuestRoomDoor = 2047,
|
||||
Sauna = 1379,
|
||||
ScandicShop24Hrs = 1408,
|
||||
SecondaryLocksOnSlidingGlassDoors = 2048,
|
||||
SecondaryLocksOnWindows = 2049,
|
||||
Security24Hours = 1911,
|
||||
SecurityEscortsAvailableOnRequest = 1936,
|
||||
SecurityPersonnelOnSite = 1934,
|
||||
SeparateFloorsForWomen = 2051,
|
||||
ServesBreakfastAlwaysIncluded = 1407,
|
||||
ServesBreakfastNotAlwaysIncluded = 5556,
|
||||
ServesOrganicBreakfastAlwaysIncluded = 5557,
|
||||
ServesOrganicBreakfastNotAlwaysIncluded = 5558,
|
||||
ServiceGuideDogsAllowed = 2071,
|
||||
ServiceSecurity24Hrs = 326033,
|
||||
Shopping = 971,
|
||||
SkateboardsForLoan = 162586,
|
||||
Skiing0To1Km = 245031,
|
||||
Skybar = 1606,
|
||||
SmokeDetectorsAllScandic = 1873,
|
||||
Solarium = 1830,
|
||||
SpecialNeedsMenus = 2082,
|
||||
Sports = 83717,
|
||||
SprinklersAllScandic = 1874,
|
||||
SprinklersInAllHalls = 1908,
|
||||
SprinklersInAllPublicAreas = 1909,
|
||||
SprinklersInAllRooms = 1910,
|
||||
StaffInDuplicateKeys = 1942,
|
||||
StaffRedCrossCertifiedInCPR = 1941,
|
||||
StaffTrainedForDisabledGuests = 1928,
|
||||
StaffTrainedInAutomatedExternalDefibrillatorUsageAED = 1940,
|
||||
StaffTrainedInCPR = 1923,
|
||||
StaffTrainedInFirstAid = 1939,
|
||||
StaffTrainedInFirstAidTechniques = 951,
|
||||
StaffTrainedToCaterForDisabledGuestsAllScandic = 2073,
|
||||
Suburbs = 1860,
|
||||
SwingboltLock = 2052,
|
||||
TeleConferencingFacilitiesAvailable = 1018,
|
||||
TelevisionsWithSubtitlesOrClosedCaptions = 2083,
|
||||
Tennis1 = 1836,
|
||||
Tennis2 = 1838,
|
||||
TennisPadel = 239350,
|
||||
Theatre = 1862,
|
||||
TrouserPress = 5779,
|
||||
TVWithChromecast1 = 229127,
|
||||
TVWithChromecast2 = 229144,
|
||||
UniformSecurityOnPremises = 1935,
|
||||
UtilityRoomForIroning = 324097,
|
||||
VendingMachineWithNecessities = 324099,
|
||||
VideoSurveillanceInHallways = 2056,
|
||||
VideoSurveillanceInPublicAreas = 1386,
|
||||
VideoSurveillanceMonitored24HrsADay = 2058,
|
||||
VideoSurveillanceOfAllParkingAreas = 2055,
|
||||
VideoSurveillanceOfExteriorFrontEntrance = 2054,
|
||||
VideoSurveillanceRecorded24HrsADayParkingArea = 2059,
|
||||
WallMountedCycleRack = 199642,
|
||||
WellLitWalkways = 2060,
|
||||
WellnessAndSaunaEntranceFeeAdmission16PlusYears = 267806,
|
||||
WellnessPoolSaunaEntranceFeeAdmission16PlusYears = 307754,
|
||||
WheelchairAccess = 2084,
|
||||
WideCorridors = 2086,
|
||||
WideEntrance = 2085,
|
||||
WideRestaurantEntrance = 2087,
|
||||
WiFiWirelessInternetAccessAllScandic = 5774,
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user