"use client"; import React, { useEffect, useState } from "react"; import { InlineLinkToolbar } from "./InlineLinkToolbar"; import { useEditorStates } from "src/state/useEditorState"; import { useUIState } from "src/useUIState"; import * as Tooltip from "@radix-ui/react-tooltip"; import { addShortcut } from "src/shortcuts"; import { FootnoteTextToolbar } from "./FootnoteTextToolbar"; import { useIsMobile } from "src/hooks/isMobile"; import { CloseTiny } from "components/Icons/CloseTiny"; type FootnoteToolbarState = "default" | "link"; export const FootnoteToolbar = (props: { pageID: string }) => { let [toolbarState, setToolbarState] = useState("default"); let focusedEntity = useUIState((s) => s.focusedEntity); let activeEditor = useEditorStates((s) => focusedEntity ? s.editorStates[focusedEntity.entityID] : null, ); useEffect(() => { if (toolbarState !== "default") return; let removeShortcut = addShortcut({ metaKey: true, key: "k", handler: () => { setToolbarState("link"); }, }); return () => { removeShortcut(); }; }, [toolbarState]); let isMobile = useIsMobile(); return (
{toolbarState === "default" ? ( ) : toolbarState === "link" ? ( { activeEditor?.view?.focus(); setToolbarState("default"); }} /> ) : null}
); };