import React from "react"; import { loginIcon, ExcalLogo, } from "../../packages/excalidraw/components/icons"; import { Theme } from "../../packages/excalidraw/element/types"; import { MainMenu } from "../../packages/excalidraw/index"; import { isExcalidrawPlusSignedUser } from "../app_constants"; import { LanguageList } from "./LanguageList"; export const AppMainMenu: React.FC<{ onCollabDialogOpen: () => any; isCollaborating: boolean; isCollabEnabled: boolean; theme: Theme | "system"; setTheme: (theme: Theme | "system") => 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.Help /> <MainMenu.DefaultItems.ClearCanvas /> <MainMenu.Separator /> <MainMenu.ItemLink icon={ExcalLogo} href={`${ import.meta.env.VITE_APP_PLUS_APP }/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> <MainMenu.Separator /> <MainMenu.DefaultItems.ToggleTheme allowSystemTheme theme={props.theme} onSelect={props.setTheme} /> <MainMenu.ItemCustom> <LanguageList style={{ width: "100%" }} /> </MainMenu.ItemCustom> <MainMenu.DefaultItems.ChangeCanvasBackground /> </MainMenu> ); });