Misc fixes

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-03-11 15:57:35 +04:00
parent af17afeffb
commit 38a0f28094
3 changed files with 19 additions and 19 deletions

View File

@@ -1,22 +1,23 @@
import { useMemo } from "react";
import { useSearchParams } from "react-router";
export function useSafeContinueUrl(fallbackUrl?: URL): URL {
fallbackUrl = new URL(fallbackUrl ?? window.location.origin, window.location.origin);
export function useSafeContinueUrl(fallback?: string): URL {
const [searchParams] = useSearchParams();
const continueUrlParam = searchParams.get("continue");
let safeContinueUrl: URL;
if (continueUrlParam) {
let continueUrl: URL;
try {
continueUrl = new URL(continueUrlParam, window.location.origin);
} catch {
continueUrl = fallbackUrl;
const safeContinueUrl = useMemo(() => {
if (continueUrlParam) {
let continueUrl: URL;
try {
continueUrl = new URL(continueUrlParam, window.location.origin);
} catch {
continueUrl = new URL(fallback ?? window.location.origin, window.location.origin);
}
return new URL(continueUrl.pathname + continueUrl.search, window.location.origin);
} else {
return new URL(fallback ?? window.location.origin, window.location.origin);
}
safeContinueUrl = new URL(continueUrl.pathname + continueUrl.search, window.location.origin);
} else {
safeContinueUrl = fallbackUrl;
}
}, [continueUrlParam, fallback]);
return safeContinueUrl;
}