import { useKeyboard } from "@opentui/solid"; import { onMount, onCleanup } from "solid-js"; import { useKeyboardNav } from "../context/keyboard.js"; interface LoadingOverlayProps { message: string; onCancel?: () => void; } export function LoadingOverlay(props: LoadingOverlayProps) { const { setOverlayActive } = useKeyboardNav(); onMount(() => setOverlayActive(true)); onCleanup(() => setOverlayActive(false)); useKeyboard((event) => { if (event.name === "escape" && props.onCancel) { event.preventDefault(); props.onCancel(); } }); return ( {props.message} Esc: cancel ); }