fix: SW-693 Fixed hydration error

This commit is contained in:
Hrishikesh Vaipurkar
2024-10-24 16:50:08 +02:00
parent 76444d6fe9
commit 11e94f42ba
3 changed files with 9 additions and 20 deletions

View File

@@ -25,14 +25,15 @@ import type { Location } from "@/types/trpc/routers/hotel/locations"
const name = "search"
export default function Search({ locations }: SearchProps) {
const [state, dispatch] = useReducer(
reducer,
{ defaultLocations: locations },
init
)
const { register, setValue, trigger } = useFormContext<BookingWidgetSchema>()
const intl = useIntl()
const value = useWatch({ name })
const searchData = useWatch({ name: "location" })
const [state, dispatch] = useReducer(
reducer,
{ defaultLocations: locations, searchData },
init
)
const handleMatchLocations = useCallback(
function (searchValue: string) {

View File

@@ -22,27 +22,14 @@ export function getSearchHistoryFromLocalStorage() {
}
export const sessionStorageKey = "searchData"
export function getSearchDataFromSessionStorage() {
if (typeof window !== "undefined") {
const storageSearchData = window.sessionStorage.getItem(sessionStorageKey)
if (storageSearchData) {
const parsedStorageSearchData: Location = JSON.parse(storageSearchData)
if (parsedStorageSearchData) {
return parsedStorageSearchData
}
}
}
return undefined
}
export function init(initState: InitState): State {
const searchHistory = getSearchHistoryFromLocalStorage()
const searchData = getSearchDataFromSessionStorage()
return {
defaultLocations: initState.defaultLocations,
locations: [],
search: "",
searchData,
searchData: initState.searchData,
searchHistory,
}
}

View File

@@ -60,4 +60,5 @@ export interface State {
searchHistory: Locations | null
}
export interface InitState extends Pick<State, "defaultLocations"> {}
export interface InitState
extends Pick<State, "defaultLocations" | "searchData"> {}