@risecx/carespace-chat-ui
Version:
carespace-chat-ui React component
58 lines (47 loc) • 1.98 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import React, { useState } from 'react';
import { FileIcon, ActionMenuIcon } from '../icons';
import { reactLocalStorage } from 'reactjs-localstorage';
var ActionMenu = function ActionMenu(props) {
var _fileUploadButton = null;
var _useState = useState({
isOpened: false
}),
state = _useState[0],
setState = _useState[1];
var onActionMenuIconClickHandler = function onActionMenuIconClickHandler(e) {
setState(_extends({}, state, {
isOpened: !state.isOpened
}));
props.onActive(!state.isOpened);
};
var isAnonymous = function isAnonymous() {
return reactLocalStorage.get('isAnonymous') === 'true';
};
var loginLogoutHandler = function loginLogoutHandler() {
reactLocalStorage.clear();
if (isAnonymous()) {
props.onLoginClick();
} else {
props.onLogoutClick();
}
};
var _showFilePicker = function _showFilePicker() {
_fileUploadButton.click();
};
var _onFilesSelected = function _onFilesSelected(event) {
if (event.target.files && event.target.files.length > 0) {
props.onFilesSelected(event.target.files);
}
};
return /*#__PURE__*/React.createElement("div", {
className: "sc-actionmenu--button " + (state.isOpened ? 'active' : '') + " optionsmenu"
}, /*#__PURE__*/React.createElement("div", {
className: "menu-links"
}, /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", {
onClick: loginLogoutHandler
}, isAnonymous() ? 'Sign in or Register' : 'Logout'))), /*#__PURE__*/React.createElement(ActionMenuIcon, {
onClick: onActionMenuIconClickHandler
}));
};
export default ActionMenu;