Files
spacedrive/interface/hooks/useDeeplinkEventHandler.ts
Arnab Chakraborty 2f6cc17012 Working deep links
2024-08-19 16:55:16 +03:00

21 lines
502 B
TypeScript

import { useEffect } from "react";
import { useNavigate } from "react-router";
import { DeeplinkEvent } from "~/util/events";
export const useDeeplinkEventHandler = () => {
const navigate = useNavigate();
useEffect(() => {
const handler = (e: DeeplinkEvent) => {
e.preventDefault();
const url = e.detail.url;
if (!url) return;
navigate(url);
};
document.addEventListener('deeplink', handler);
return () => document.removeEventListener('deeplink', handler);
}, [navigate]);
}