Merged in feat/SW-1472-destination-tracking (pull request #1474)
Feat/SW-1472 destination tracking * feat(SW-1472): Added default tracking for destination overview page * feat(SW-1472): Added default tracking for destination country/city page * feat(SW-1472): moved tracking functions to different files for better overview * feat(SW-1472): added destination page tracking Approved-by: Fredrik Thorsson Approved-by: Matilda Landström
This commit is contained in:
@@ -3,6 +3,10 @@ import { useContext } from "react"
|
||||
import { create, useStore } from "zustand"
|
||||
|
||||
import { DestinationDataContext } from "@/contexts/DestinationData"
|
||||
import {
|
||||
trackFilterChangeEvent,
|
||||
trackSortingChangeEvent,
|
||||
} from "@/utils/tracking/destinationPage"
|
||||
|
||||
import {
|
||||
getBasePathNameWithoutFilters,
|
||||
@@ -50,6 +54,30 @@ export function createDestinationDataStore({
|
||||
: []
|
||||
const sortedCities = getSortedCities(filteredCities, newSort)
|
||||
|
||||
// Tracking
|
||||
if (newSort !== state.activeSort) {
|
||||
trackSortingChangeEvent(newSort)
|
||||
}
|
||||
if (
|
||||
JSON.stringify(filters) !== JSON.stringify(state.activeFilters)
|
||||
) {
|
||||
const facilityFiltersUsed = filters.filter((f) =>
|
||||
state.allFilters.facilityFilters
|
||||
.map((ff) => ff.slug)
|
||||
.includes(f)
|
||||
)
|
||||
const surroundingsFiltersUsed = filters.filter((f) =>
|
||||
state.allFilters.surroundingsFilters
|
||||
.map((sf) => sf.slug)
|
||||
.includes(f)
|
||||
)
|
||||
|
||||
trackFilterChangeEvent(
|
||||
facilityFiltersUsed,
|
||||
surroundingsFiltersUsed
|
||||
)
|
||||
}
|
||||
|
||||
state.activeSort = newSort
|
||||
state.activeFilters = filters
|
||||
state.activeHotels = sortedHotels
|
||||
|
||||
Reference in New Issue
Block a user