"use client" import { usePathname, useSearchParams } from "next/navigation" import { useEffect, useState } from "react" /*** This hook is used to get the current pathname (as reflected in window.location.href) of the page. During ssr, the value from usePathname() * is the value return from NextResponse.rewrite() (e.g. the path from the app directory) instead of the actual pathname from the URL. */ export function useLazyPathname({ includeSearchParams = false } = {}) { const pathName = usePathname() const searchParams = useSearchParams() const [updatedPathName, setUpdatedPathName] = useState(null) useEffect(() => { if (!includeSearchParams) { setUpdatedPathName(pathName) } else { const updatedPathname = searchParams.size ? `${pathName}?${searchParams.toString()}` : pathName setUpdatedPathName(updatedPathname) } }, [pathName, searchParams, includeSearchParams]) return updatedPathName }