import { useNavigate } from "@solidjs/router"; import { ArrowDownLeft, ArrowUpRight, Plus, Scan } from "lucide-solid"; import { createSignal, JSX, onCleanup, onMount, Show } from "solid-js"; import { Circle } from "~/components"; import { useI18n } from "~/i18n/context"; function FabMenuItem(props: { onClick: () => void; disabled?: boolean; children: JSX.Element; }) { return ( ); } export function FabMenu(props: { setOpen: (open: boolean) => void; children: JSX.Element; right?: boolean; left?: boolean; }) { let navRef: HTMLElement; const handleClickOutside = (e: MouseEvent) => { if (e.target instanceof Element && !navRef.contains(e.target)) { e.stopPropagation(); props.setOpen(false); } }; onMount(() => { document.body.addEventListener("click", handleClickOutside); }); onCleanup(() => { document.body.removeEventListener("click", handleClickOutside); }); return ( ); } export function Fab(props: { onSearch: () => void; onScan: () => void }) { const [open, setOpen] = createSignal(false); const navigate = useNavigate(); const i18n = useI18n(); return ( <>
); } export function MiniFab(props: { onSend: () => void; onRequest: () => void; onScan: () => void; sendDisabled?: boolean | undefined; }) { const [open, setOpen] = createSignal(false); const i18n = useI18n(); return ( <> ); }