feat(BOOK-53): Added component for SEO filters and support filter switching
Approved-by: Chuma Mcphoy (We Ahead)
This commit is contained in:
@@ -69,7 +69,7 @@ export function createDestinationDataStore({
|
||||
|
||||
return create<DestinationDataState>((set) => ({
|
||||
actions: {
|
||||
updateActiveFiltersAndSort(filterSlugs, sort) {
|
||||
updateActiveFiltersAndSort(filterSlugs, sort, filterSlugFromUrl) {
|
||||
return set(
|
||||
produce((state: DestinationDataState) => {
|
||||
const newSort =
|
||||
@@ -79,6 +79,10 @@ export function createDestinationDataStore({
|
||||
const filters = flattenedFilters.filter((filter) =>
|
||||
filterSlugs.includes(filter.slug)
|
||||
)
|
||||
const filterFromUrl =
|
||||
flattenedFilters.find(
|
||||
(filter) => filter.slug === filterSlugFromUrl
|
||||
) ?? null
|
||||
const filteredHotels = getFilteredHotels(state.allHotels, filters)
|
||||
const sortedHotels = getSortedHotels(filteredHotels, newSort)
|
||||
const filteredCities = state.allHotels.length
|
||||
@@ -121,6 +125,7 @@ export function createDestinationDataStore({
|
||||
state.activeHotels = sortedHotels
|
||||
state.activeCities = sortedCities
|
||||
|
||||
state.filterFromUrl = filterFromUrl
|
||||
state.pendingFilters = filters
|
||||
state.pendingSort = newSort
|
||||
state.pendingHotelCount = filteredHotels.length
|
||||
|
||||
Reference in New Issue
Block a user