| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | import {  loginIcon,  ExcalLogo,  eyeIcon,} from "@excalidraw/excalidraw/components/icons";import { MainMenu } from "@excalidraw/excalidraw/index";import React from "react";import { isDevEnv } from "@excalidraw/common";import type { Theme } from "@excalidraw/element/types";import { LanguageList } from "../app-language/LanguageList";import { isExcalidrawPlusSignedUser } from "../app_constants";import { saveDebugState } from "./DebugCanvas";export const AppMainMenu: React.FC<{  onCollabDialogOpen: () => any;  isCollaborating: boolean;  isCollabEnabled: boolean;  theme: Theme | "system";  setTheme: (theme: Theme | "system") => void;  refresh: () => void;}> = React.memo((props) => {  return (    <MainMenu>      <MainMenu.DefaultItems.LoadScene />      <MainMenu.DefaultItems.SaveToActiveFile />      <MainMenu.DefaultItems.Export />      <MainMenu.DefaultItems.SaveAsImage />      {props.isCollabEnabled && (        <MainMenu.DefaultItems.LiveCollaborationTrigger          isCollaborating={props.isCollaborating}          onSelect={() => props.onCollabDialogOpen()}        />      )}      <MainMenu.DefaultItems.CommandPalette className="highlighted" />      <MainMenu.DefaultItems.SearchMenu />      <MainMenu.DefaultItems.Help />      <MainMenu.DefaultItems.ClearCanvas />      <MainMenu.Separator />      <MainMenu.ItemLink        icon={ExcalLogo}        href={`${          import.meta.env.VITE_APP_PLUS_LP        }/plus?utm_source=excalidraw&utm_medium=app&utm_content=hamburger`}        className=""      >        Excalidraw+      </MainMenu.ItemLink>      <MainMenu.DefaultItems.Socials />      <MainMenu.ItemLink        icon={loginIcon}        href={`${import.meta.env.VITE_APP_PLUS_APP}${          isExcalidrawPlusSignedUser ? "" : "/sign-up"        }?utm_source=signin&utm_medium=app&utm_content=hamburger`}        className="highlighted"      >        {isExcalidrawPlusSignedUser ? "Sign in" : "Sign up"}      </MainMenu.ItemLink>      {isDevEnv() && (        <MainMenu.Item          icon={eyeIcon}          onClick={() => {            if (window.visualDebug) {              delete window.visualDebug;              saveDebugState({ enabled: false });            } else {              window.visualDebug = { data: [] };              saveDebugState({ enabled: true });            }            props?.refresh();          }}        >          Visual Debug        </MainMenu.Item>      )}      <MainMenu.Separator />      <MainMenu.DefaultItems.ToggleTheme        allowSystemTheme        theme={props.theme}        onSelect={props.setTheme}      />      <MainMenu.ItemCustom>        <LanguageList style={{ width: "100%" }} />      </MainMenu.ItemCustom>      <MainMenu.DefaultItems.ChangeCanvasBackground />    </MainMenu>  );});
 |