cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
144 lines (143 loc) • 7.29 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CometChatUserProfile = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _react = _interopRequireDefault(require("react"));
var _core = require("@emotion/core");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _chat = require("@cometchat-pro/chat");
var _Shared = require("../../Shared");
var _ = require("../");
var _theme = require("../../../resources/theme");
var _translator = _interopRequireDefault(require("../../../resources/localization/translator"));
var _style = require("./style");
var _notify = _interopRequireDefault(require("./resources/notify.svg"));
var _privacy = _interopRequireDefault(require("./resources/privacy.svg"));
var _chats = _interopRequireDefault(require("./resources/chats.svg"));
var _help = _interopRequireDefault(require("./resources/help.svg"));
var _warning = _interopRequireDefault(require("./resources/warning.svg"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var CometChatUserProfile = /*#__PURE__*/function (_React$Component) {
(0, _inherits2["default"])(CometChatUserProfile, _React$Component);
var _super = _createSuper(CometChatUserProfile);
function CometChatUserProfile(props) {
var _this;
(0, _classCallCheck2["default"])(this, CometChatUserProfile);
_this = _super.call(this, props);
_this.state = {
loggedInUser: null
};
_this.toastRef = /*#__PURE__*/_react["default"].createRef();
return _this;
}
(0, _createClass2["default"])(CometChatUserProfile, [{
key: "componentDidMount",
value: function componentDidMount() {
var _this2 = this;
_chat.CometChat.getLoggedinUser().then(function (user) {
_this2.setState({
loggedInUser: user
});
})["catch"](function (error) {
return _this2.toastRef.setError("SOMETHING_WRONG");
});
}
}, {
key: "render",
value: function render() {
var _this3 = this;
var userProfile = null;
if (this.state.loggedInUser) {
//let avatar = <CometChatAvatar user={this.state.loggedInUser} />;
userProfile = (0, _core.jsx)(_react["default"].Fragment, null, (0, _core.jsx)("div", {
css: (0, _style.headerStyle)(this.props),
className: "userinfo__header"
}, (0, _core.jsx)("h4", {
css: (0, _style.headerTitleStyle)(this.props),
className: "header__title"
}, this.props.title)), (0, _core.jsx)(_.CometChatUserProfileItem, {
user: this.state.loggedInUser
}), (0, _core.jsx)("div", {
css: (0, _style.optionsStyle)(),
className: "userinfo__options"
}, (0, _core.jsx)("div", {
css: (0, _style.optionTitleStyle)(this.props),
className: "options__title"
}, _translator["default"].translate("PREFERENCES", this.props.lang)), (0, _core.jsx)("div", {
css: (0, _style.optionListStyle)(),
className: "options_list"
}, (0, _core.jsx)("div", {
css: (0, _style.optionStyle)(_notify["default"]),
className: "option option-notification"
}, (0, _core.jsx)("div", {
css: (0, _style.optionNameStyle)(),
className: "option_name"
}, _translator["default"].translate("NOTIFICATIONS", this.props.lang))), (0, _core.jsx)("div", {
css: (0, _style.optionStyle)(_privacy["default"]),
className: "option option-privacy"
}, (0, _core.jsx)("div", {
css: (0, _style.optionNameStyle)(),
className: "option_name"
}, _translator["default"].translate("PRIVACY_AND_SECURITY", this.props.lang))), (0, _core.jsx)("div", {
css: (0, _style.optionStyle)(_chats["default"]),
className: "option option-chats"
}, (0, _core.jsx)("div", {
css: (0, _style.optionNameStyle)(),
className: "option_name"
}, _translator["default"].translate("CHATS", this.props.lang)))), (0, _core.jsx)("div", {
css: (0, _style.optionTitleStyle)(this.props),
className: "options__title"
}, _translator["default"].translate("OTHER", this.props.lang)), (0, _core.jsx)("div", {
css: (0, _style.optionListStyle)(),
className: "options_list"
}, (0, _core.jsx)("div", {
css: (0, _style.optionStyle)(_help["default"]),
className: "option option-help"
}, (0, _core.jsx)("div", {
css: (0, _style.optionNameStyle)(),
className: "option_name"
}, _translator["default"].translate("HELP", this.props.lang))), (0, _core.jsx)("div", {
css: (0, _style.optionStyle)(_warning["default"]),
className: "option option-report"
}, (0, _core.jsx)("div", {
css: (0, _style.optionNameStyle)(),
className: "option_name"
}, _translator["default"].translate("REPORT_PROBLEM", this.props.lang))))));
}
return (0, _core.jsx)("div", {
css: (0, _style.userInfoScreenStyle)(this.props),
className: "userinfo"
}, userProfile, (0, _core.jsx)(_Shared.CometChatToastNotification, {
ref: function ref(el) {
return _this3.toastRef = el;
}
}));
}
}]);
return CometChatUserProfile;
}(_react["default"].Component); // Specifies the default values for props:
exports.CometChatUserProfile = CometChatUserProfile;
CometChatUserProfile.defaultProps = {
lang: _translator["default"].getDefaultLanguage(),
theme: _theme.theme,
title: _translator["default"].translate("MORE", _translator["default"].getDefaultLanguage()),
titleFont: "bold 22px Inter",
titleColor: "#141414",
backgroundColor: "#ffffff"
};
CometChatUserProfile.propTypes = {
lang: _propTypes["default"].string,
theme: _propTypes["default"].object,
title: _propTypes["default"].string,
titleFont: _propTypes["default"].string,
titleColor: _propTypes["default"].string,
backgroundColor: _propTypes["default"].string
};