import React from "react"; import { MainMenu } from "../../packages/excalidraw/index"; import { LanguageList } from "./LanguageList"; import { useAtom, useSetAtom } from "jotai"; import { userAtom, saveAsDialogAtom } from "../app-jotai"; import { GithubIcon, saveAs, extraToolsIcon, } from "../../packages/excalidraw/components/icons"; import DropdownMenuItemLink from "../../packages/excalidraw/components/dropdownMenu/DropdownMenuItemLink"; import { useI18n } from "../../packages/excalidraw/i18n"; export const AppMainMenu: React.FC<{ onCollabDialogOpen: () => any; isCollaborating: boolean; isCollabEnabled: boolean; onStorageSettingsClick: () => void; }> = React.memo((props) => { const [user, setUser] = useAtom(userAtom); const { t } = useI18n(); const setSaveAsDialog = useSetAtom(saveAsDialogAtom); const handleLogin = () => { window.location.href = "/auth/github/login"; }; const handleLogout = () => { localStorage.removeItem("token"); setUser(null); window.location.reload(); // Reload to clear all state }; return ( setSaveAsDialog({ isOpen: true })} icon={saveAs} > Save as New Canvas... {props.isCollabEnabled && ( props.onCollabDialogOpen()} /> )} Data Source Settings... {user ? (
{user.login} {user.name || user.login}
) : ( Login with GitHub )} GitHub
); });