feat(BOOK-463): Fetching hotel filters from CMS and using these inside the destination pages and select hotel page
* feat(BOOK-463): Fetching hotel filters from CMS and using these inside the destination pages * fix(BOOK-698): fetch hotel filters from CMS on select hotel page Approved-by: Bianca Widstam
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
import type { DestinationCityListItem } from "@scandic-hotels/trpc/types/destinationCityPage"
|
||||
import type { DestinationFilters } from "@scandic-hotels/trpc/types/destinationsData"
|
||||
import type {
|
||||
CategorizedHotelFilters,
|
||||
HotelListingHotelData,
|
||||
HotelSortItem,
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface DestinationDataProviderProps extends React.PropsWithChildren {
|
||||
allHotels: HotelListingHotelData[]
|
||||
allCities?: DestinationCityListItem[]
|
||||
hotelFilters: CategorizedHotelFilters
|
||||
seoFilters: DestinationFilters
|
||||
filterFromUrl?: string
|
||||
sortItems: HotelSortItem[]
|
||||
pathname: string
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
import type { HotelFilters } from "@scandic-hotels/trpc/routers/hotels/filters/output"
|
||||
import type {
|
||||
CategorizedHotelFilters,
|
||||
HotelListingHotelData,
|
||||
HotelSortItem,
|
||||
} from "@scandic-hotels/trpc/types/hotel"
|
||||
|
||||
export interface HotelListingDataProviderProps extends React.PropsWithChildren {
|
||||
allHotels: HotelListingHotelData[]
|
||||
allFilters: CategorizedHotelFilters
|
||||
allFilters: HotelFilters
|
||||
sortItems: HotelSortItem[]
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
import type {
|
||||
HotelFilter,
|
||||
HotelFilters,
|
||||
} from "@scandic-hotels/trpc/routers/hotels/filters/output"
|
||||
import type { DestinationCityListItem } from "@scandic-hotels/trpc/types/destinationCityPage"
|
||||
import type {
|
||||
DestinationFilter,
|
||||
DestinationFilters,
|
||||
} from "@scandic-hotels/trpc/types/destinationsData"
|
||||
import type {
|
||||
CategorizedHotelFilters,
|
||||
HotelFilter,
|
||||
HotelListingHotelData,
|
||||
HotelSortItem,
|
||||
HotelSortOption,
|
||||
@@ -39,17 +41,20 @@ export interface DestinationDataState {
|
||||
filterFromUrl: HotelFilter | null
|
||||
pendingHotelCount: number
|
||||
pendingCityCount: number
|
||||
allFilters: CategorizedHotelFilters
|
||||
allFilters: HotelFilters
|
||||
filtersWithCount: HotelFilters
|
||||
activeSeoFilter: DestinationFilter | null
|
||||
basePathnameWithoutFilters: string
|
||||
sortItems: HotelSortItem[]
|
||||
isLoading: boolean
|
||||
}
|
||||
|
||||
export interface InitialState
|
||||
extends Pick<DestinationDataState, "allHotels" | "allCities" | "sortItems"> {
|
||||
export interface InitialState extends Pick<
|
||||
DestinationDataState,
|
||||
"allHotels" | "allCities" | "sortItems"
|
||||
> {
|
||||
pathname: string
|
||||
searchParams: ReadonlyURLSearchParams
|
||||
hotelFilters: CategorizedHotelFilters
|
||||
hotelFilters: HotelFilters
|
||||
seoFilters: DestinationFilters
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import type {
|
||||
CategorizedHotelFilters,
|
||||
HotelFilter,
|
||||
HotelFilters,
|
||||
} from "@scandic-hotels/trpc/routers/hotels/filters/output"
|
||||
import type {
|
||||
HotelListingHotelData,
|
||||
HotelSortItem,
|
||||
HotelSortOption,
|
||||
@@ -9,7 +12,7 @@ import type { ReadonlyURLSearchParams } from "next/navigation"
|
||||
interface Actions {
|
||||
updateActiveFiltersAndSort: (filters: string[], sort: string | null) => void
|
||||
setPendingSort: (sort: HotelSortOption) => void
|
||||
togglePendingFilter: (filter: string) => void
|
||||
togglePendingFilter: (filter: HotelFilter) => void
|
||||
clearPendingFilters: () => void
|
||||
resetPendingValues: () => void
|
||||
setIsLoading: (isLoading: boolean) => void
|
||||
@@ -22,19 +25,19 @@ export interface HotelListingDataState {
|
||||
pendingSort: HotelSortOption
|
||||
activeSort: HotelSortOption
|
||||
defaultSort: HotelSortOption
|
||||
pendingFilters: string[]
|
||||
activeFilters: string[]
|
||||
pendingFilters: HotelFilter[]
|
||||
activeFilters: HotelFilter[]
|
||||
pendingHotelCount: number
|
||||
allFilters: CategorizedHotelFilters
|
||||
allFilters: HotelFilters
|
||||
filtersWithCount: HotelFilters
|
||||
allFilterSlugs: string[]
|
||||
sortItems: HotelSortItem[]
|
||||
isLoading: boolean
|
||||
}
|
||||
|
||||
export interface InitialState
|
||||
extends Pick<
|
||||
HotelListingDataState,
|
||||
"allHotels" | "sortItems" | "allFilters"
|
||||
> {
|
||||
export interface InitialState extends Pick<
|
||||
HotelListingDataState,
|
||||
"allHotels" | "sortItems" | "allFilters"
|
||||
> {
|
||||
searchParams: ReadonlyURLSearchParams
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user