UNPKG

@slashid/docusaurus-theme-slashid

Version:
43 lines (41 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = AuthButton; var _react = _interopRequireDefault(require("react")); var _react2 = require("@slashid/react"); var _authContext = require("../Root/auth-context"); var _slashid = require("../Root/slashid"); var _authButtonModule = _interopRequireDefault(require("./auth-button.module.css")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* ============================================================================ * Copyright (c) SlashID * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * ========================================================================== */ function AuthButton() { const { user, logOut } = (0, _react2.useSlashID)(); const { setShowLogin } = _react.default.useContext(_authContext.AuthContext); const handleClick = _react.default.useCallback(async () => { const isLoggedIn = Boolean(user); if (isLoggedIn) { await logOut(); window.localStorage.removeItem(_slashid.STORAGE_KEY); setShowLogin(false); } else { setShowLogin(true); } }, [logOut, setShowLogin, user]); return <div className={_authButtonModule.default.host}> <button className={_authButtonModule.default.button} type="button" onClick={handleClick}> {!user ? "Log in" : "Log out"} </button> </div>; }