diff options
| author | kj_sh604 | 2026-03-15 16:19:35 -0400 |
|---|---|---|
| committer | kj_sh604 | 2026-03-15 16:19:35 -0400 |
| commit | 6ec259a0e71174651bae95d4628138bf6fd68742 (patch) | |
| tree | 5e33c6a5ec091ecabfcb257fdc7b6a88ed8754ac /packages/excalidraw/components/TTDDialog/TTDDialogTrigger.tsx | |
| parent | 16c8578b15c727f22921f8a80a56ee4d4e7f2272 (diff) | |
refactor: packages/
Diffstat (limited to 'packages/excalidraw/components/TTDDialog/TTDDialogTrigger.tsx')
| -rw-r--r-- | packages/excalidraw/components/TTDDialog/TTDDialogTrigger.tsx | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/packages/excalidraw/components/TTDDialog/TTDDialogTrigger.tsx b/packages/excalidraw/components/TTDDialog/TTDDialogTrigger.tsx new file mode 100644 index 0000000..a73f31a --- /dev/null +++ b/packages/excalidraw/components/TTDDialog/TTDDialogTrigger.tsx @@ -0,0 +1,35 @@ +import type { JSX } from "react"; +import type { ReactNode } from "react"; +import { useTunnels } from "../../context/tunnels"; +import DropdownMenu from "../dropdownMenu/DropdownMenu"; +import { useExcalidrawSetAppState } from "../App"; +import { brainIcon } from "../icons"; +import { t } from "../../i18n"; +import { trackEvent } from "../../analytics"; + +export const TTDDialogTrigger = ({ + children, + icon, +}: { + children?: ReactNode; + icon?: JSX.Element; +}) => { + const { TTDDialogTriggerTunnel } = useTunnels(); + const setAppState = useExcalidrawSetAppState(); + + return ( + <TTDDialogTriggerTunnel.In> + <DropdownMenu.Item + onSelect={() => { + trackEvent("ai", "dialog open", "ttd"); + setAppState({ openDialog: { name: "ttd", tab: "text-to-diagram" } }); + }} + icon={icon ?? brainIcon} + > + {children ?? t("labels.textToDiagram")} + <DropdownMenu.Item.Badge>AI</DropdownMenu.Item.Badge> + </DropdownMenu.Item> + </TTDDialogTriggerTunnel.In> + ); +}; +TTDDialogTrigger.displayName = "TTDDialogTrigger"; |
