You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
641 B
22 lines
641 B
import { useCallback } from "react"; |
|
import { useNavigate } from "react-router-dom"; |
|
|
|
import { useQueryParam } from "@/hooks/useQueryParams"; |
|
import { useOnboardingStore } from "@/stores/onboarding"; |
|
|
|
export function useRedirectBack() { |
|
const [url] = useQueryParam("redirect"); |
|
const navigate = useNavigate(); |
|
const setCompleted = useOnboardingStore((s) => s.setCompleted); |
|
|
|
const redirectBack = useCallback(() => { |
|
navigate(url ?? "/"); |
|
}, [navigate, url]); |
|
|
|
const completeAndRedirect = useCallback(() => { |
|
setCompleted(true); |
|
redirectBack(); |
|
}, [redirectBack, setCompleted]); |
|
|
|
return { completeAndRedirect }; |
|
}
|
|
|