import * as Linking from "expo-linking"; import { useEffect } from "react"; import { enqueueShortcut } from "@/lib/shortcut-queue"; import { parseShortcutUrl } from "@/lib/shortcuts"; /** * Captures shortcut deep links as early as possible (before auth / tabs mount). * Mounted at the app root inside AppServices. */ export function ShortcutLinkCapture() { useEffect(() => { function capture(url: string | null | undefined) { const parsed = parseShortcutUrl(url); if (parsed) { void enqueueShortcut(parsed); } } void Linking.getInitialURL().then(capture); const subscription = Linking.addEventListener("url", ({ url }) => { capture(url); }); return () => subscription.remove(); }, []); return null; }