AppMainMenu.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import React from "react";
  2. import { PlusPromoIcon } from "../../packages/excalidraw/components/icons";
  3. import { MainMenu } from "../../packages/excalidraw/index";
  4. import { LanguageList } from "./LanguageList";
  5. export const AppMainMenu: React.FC<{
  6. setCollabDialogShown: (toggle: boolean) => any;
  7. isCollaborating: boolean;
  8. isCollabEnabled: boolean;
  9. }> = React.memo((props) => {
  10. return (
  11. <MainMenu>
  12. <MainMenu.DefaultItems.LoadScene />
  13. <MainMenu.DefaultItems.SaveToActiveFile />
  14. <MainMenu.DefaultItems.Export />
  15. <MainMenu.DefaultItems.SaveAsImage />
  16. {props.isCollabEnabled && (
  17. <MainMenu.DefaultItems.LiveCollaborationTrigger
  18. isCollaborating={props.isCollaborating}
  19. onSelect={() => props.setCollabDialogShown(true)}
  20. />
  21. )}
  22. <MainMenu.DefaultItems.Help />
  23. <MainMenu.DefaultItems.ClearCanvas />
  24. <MainMenu.Separator />
  25. <MainMenu.ItemLink
  26. icon={PlusPromoIcon}
  27. href={`${
  28. import.meta.env.VITE_APP_PLUS_LP
  29. }/plus?utm_source=excalidraw&utm_medium=app&utm_content=hamburger`}
  30. className="ExcalidrawPlus"
  31. >
  32. Excalidraw+
  33. </MainMenu.ItemLink>
  34. <MainMenu.DefaultItems.Socials />
  35. <MainMenu.Separator />
  36. <MainMenu.DefaultItems.ToggleTheme />
  37. <MainMenu.ItemCustom>
  38. <LanguageList style={{ width: "100%" }} />
  39. </MainMenu.ItemCustom>
  40. <MainMenu.DefaultItems.ChangeCanvasBackground />
  41. </MainMenu>
  42. );
  43. });