Files
heygermany-e2e-mrg2zk24/apps/website/framework/navigation.ts
e2e 373b42a994
Some checks failed
Main / Setup and Test (push) Has been cancelled
Main / Build Website (push) Has been cancelled
chore: heygermany customer project
2026-07-11 10:06:51 +02:00

34 lines
849 B
TypeScript

'use client'
import {
useLocation,
useNavigate,
useParams as useRouteParams,
useRouter as useTanStackRouter,
} from '@tanstack/react-router'
type RouteParams = Record<string, string | string[] | undefined>
export const useRouter = () => {
const navigate = useNavigate()
const router = useTanStackRouter()
return {
push: (to: string) => navigate({ to }),
replace: (to: string) => navigate({ to, replace: true }),
refresh: () => router.invalidate(),
}
}
export const usePathname = () => useLocation({ select: (location) => location.pathname })
export const useSearchParams = () =>
useLocation({
select: (location) => new URLSearchParams(location.searchStr),
})
export const useParams = <T extends RouteParams = RouteParams>(): T => {
const params = useRouteParams({ strict: false })
return params as T
}