"use client" import { useParams } from "next/navigation" import { useEffect } from "react" import { useDestinationDataStore } from "@/stores/destination-data" export default function DestinationDataProviderContent({ children, }: React.PropsWithChildren) { const params = useParams() const { basePath, updateActiveFiltersAndSort } = useDestinationDataStore( (state) => ({ basePath: state.basePathnameWithoutFilters, updateActiveFiltersAndSort: state.actions.updateActiveFiltersAndSort, }) ) useEffect(() => { const currentUrl = new URL(window.location.href) const searchParams = currentUrl.searchParams const currentPathname = currentUrl.pathname const currentHash = currentUrl.hash const sort = searchParams.get("sort") const filters = [] const pathParts = currentPathname.split("/") const lastPathPart = pathParts[pathParts.length - 1] if (basePath !== currentPathname) { filters.push(lastPathPart) } if (currentHash) { const hashValue = currentHash.substring(1) filters.push(...hashValue.split("&")) } updateActiveFiltersAndSort(filters, sort) }, [params, updateActiveFiltersAndSort, basePath]) return <>{children} }