Enable App Store builds without EAS, iOS 18 App Intents plugins, and signing fixes for distribution export. Add mobile invoice PDF preview, compact line items, and more reliable shortcut deep-link handling. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
772 B
TypeScript
31 lines
772 B
TypeScript
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;
|
|
}
|