UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

40 lines 2.34 kB
import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; import { signal } from "@preact/signals"; import ContextMenu from "../component/ContextMenu"; import MenuButton from "../component/MenuButton"; import openJSON from "../../api/files/openJSON"; import openFolder from "../../api/files/openFolder"; import saveJSON from "../../api/files/saveJSON"; import exportJSON from "../../api/files/exportJSON"; import { setScript } from "../../states/useScript"; import Script from "../../display/Script"; import { newScriptDialogSignal } from "../ScriptEditor/NewScriptDialog"; export const menuBarFileContextMenuSignal = signal(undefined); const MenuBarFileContextMenu = () => { return (_jsxs(ContextMenu, { positionSignal: menuBarFileContextMenuSignal, children: [_jsx(MenuButton, { children: "New File" }), _jsx(MenuButton, { onClick: () => { newScriptDialogSignal.value = { onConfirm: (name, language) => { const script = new Script(); script.name = name; script.language = language; script.code = `import { createSystem } from "lingo3d"`; setScript(script); } }; menuBarFileContextMenuSignal.value = undefined; }, children: "New Script" }), _jsx(MenuButton, { onClick: () => { openJSON(); menuBarFileContextMenuSignal.value = undefined; }, children: "Open" }), _jsx(MenuButton, { onClick: () => { openFolder(); menuBarFileContextMenuSignal.value = undefined; }, children: "Open Folder" }), _jsx(MenuButton, { onClick: () => { saveJSON(); menuBarFileContextMenuSignal.value = undefined; }, children: "Save" }), _jsx(MenuButton, { onClick: () => { exportJSON(); menuBarFileContextMenuSignal.value = undefined; }, children: "Save As" }), _jsx(MenuButton, { children: "Export for React" }), _jsx(MenuButton, { children: "Export for Vue 3" })] })); }; export default MenuBarFileContextMenu; //# sourceMappingURL=MenuBarFileContextMenu.js.map