matrix-react-sdk
Version:
SDK for matrix.org using React
66 lines (63 loc) • 10.4 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DeviceTypeIcon = void 0;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _unknownDevice = require("../../../../../res/img/element-icons/settings/unknown-device.svg");
var _desktop = require("../../../../../res/img/element-icons/settings/desktop.svg");
var _web = require("../../../../../res/img/element-icons/settings/web.svg");
var _mobile = require("../../../../../res/img/element-icons/settings/mobile.svg");
var _verified = require("../../../../../res/img/e2e/verified.svg");
var _warning = require("../../../../../res/img/e2e/warning.svg");
var _languageHandler = require("../../../../languageHandler");
var _parseUserAgent = require("../../../../utils/device/parseUserAgent");
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
const deviceTypeIcon = {
[_parseUserAgent.DeviceType.Desktop]: _desktop.Icon,
[_parseUserAgent.DeviceType.Mobile]: _mobile.Icon,
[_parseUserAgent.DeviceType.Web]: _web.Icon,
[_parseUserAgent.DeviceType.Unknown]: _unknownDevice.Icon
};
const deviceTypeLabel = {
[_parseUserAgent.DeviceType.Desktop]: (0, _languageHandler._td)("settings|sessions|desktop_session"),
[_parseUserAgent.DeviceType.Mobile]: (0, _languageHandler._td)("settings|sessions|mobile_session"),
[_parseUserAgent.DeviceType.Web]: (0, _languageHandler._td)("settings|sessions|web_session"),
[_parseUserAgent.DeviceType.Unknown]: (0, _languageHandler._td)("settings|sessions|unknown_session")
};
const DeviceTypeIcon = ({
isVerified,
isSelected,
deviceType
}) => {
const Icon = deviceTypeIcon[deviceType] || deviceTypeIcon[_parseUserAgent.DeviceType.Unknown];
const label = (0, _languageHandler._t)(deviceTypeLabel[deviceType] || deviceTypeLabel[_parseUserAgent.DeviceType.Unknown]);
return /*#__PURE__*/_react.default.createElement("div", {
className: (0, _classnames.default)("mx_DeviceTypeIcon", {
mx_DeviceTypeIcon_selected: isSelected
})
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_DeviceTypeIcon_deviceIconWrapper"
}, /*#__PURE__*/_react.default.createElement(Icon, {
className: "mx_DeviceTypeIcon_deviceIcon",
role: "img",
"aria-label": label
})), isVerified ? /*#__PURE__*/_react.default.createElement(_verified.Icon, {
className: (0, _classnames.default)("mx_DeviceTypeIcon_verificationIcon", "verified"),
role: "img",
"aria-label": (0, _languageHandler._t)("common|verified")
}) : /*#__PURE__*/_react.default.createElement(_warning.Icon, {
className: (0, _classnames.default)("mx_DeviceTypeIcon_verificationIcon", "unverified"),
role: "img",
"aria-label": (0, _languageHandler._t)("common|unverified")
}));
};
exports.DeviceTypeIcon = DeviceTypeIcon;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX3Vua25vd25EZXZpY2UiLCJfZGVza3RvcCIsIl93ZWIiLCJfbW9iaWxlIiwiX3ZlcmlmaWVkIiwiX3dhcm5pbmciLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX3BhcnNlVXNlckFnZW50IiwiZGV2aWNlVHlwZUljb24iLCJEZXZpY2VUeXBlIiwiRGVza3RvcCIsIkRlc2t0b3BJY29uIiwiTW9iaWxlIiwiTW9iaWxlSWNvbiIsIldlYiIsIldlYkljb24iLCJVbmtub3duIiwiVW5rbm93bkRldmljZUljb24iLCJkZXZpY2VUeXBlTGFiZWwiLCJfdGQiLCJEZXZpY2VUeXBlSWNvbiIsImlzVmVyaWZpZWQiLCJpc1NlbGVjdGVkIiwiZGV2aWNlVHlwZSIsIkljb24iLCJsYWJlbCIsIl90IiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc05hbWVzIiwibXhfRGV2aWNlVHlwZUljb25fc2VsZWN0ZWQiLCJyb2xlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvRGV2aWNlVHlwZUljb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5cbmltcG9ydCB7IEljb24gYXMgVW5rbm93bkRldmljZUljb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vcmVzL2ltZy9lbGVtZW50LWljb25zL3NldHRpbmdzL3Vua25vd24tZGV2aWNlLnN2Z1wiO1xuaW1wb3J0IHsgSWNvbiBhcyBEZXNrdG9wSWNvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9yZXMvaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3MvZGVza3RvcC5zdmdcIjtcbmltcG9ydCB7IEljb24gYXMgV2ViSWNvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9yZXMvaW1nL2VsZW1lbnQtaWNvbnMvc2V0dGluZ3Mvd2ViLnN2Z1wiO1xuaW1wb3J0IHsgSWNvbiBhcyBNb2JpbGVJY29uIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3Jlcy9pbWcvZWxlbWVudC1pY29ucy9zZXR0aW5ncy9tb2JpbGUuc3ZnXCI7XG5pbXBvcnQgeyBJY29uIGFzIFZlcmlmaWVkSWNvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9yZXMvaW1nL2UyZS92ZXJpZmllZC5zdmdcIjtcbmltcG9ydCB7IEljb24gYXMgVW52ZXJpZmllZEljb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vcmVzL2ltZy9lMmUvd2FybmluZy5zdmdcIjtcbmltcG9ydCB7IF90LCBfdGQsIFRyYW5zbGF0aW9uS2V5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgRXh0ZW5kZWREZXZpY2UgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgRGV2aWNlVHlwZSB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy9kZXZpY2UvcGFyc2VVc2VyQWdlbnRcIjtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgICBpc1ZlcmlmaWVkPzogRXh0ZW5kZWREZXZpY2VbXCJpc1ZlcmlmaWVkXCJdO1xuICAgIGlzU2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIGRldmljZVR5cGU/OiBEZXZpY2VUeXBlO1xufVxuXG5jb25zdCBkZXZpY2VUeXBlSWNvbjogUmVjb3JkPERldmljZVR5cGUsIFJlYWN0LkZDPFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+Pj4gPSB7XG4gICAgW0RldmljZVR5cGUuRGVza3RvcF06IERlc2t0b3BJY29uLFxuICAgIFtEZXZpY2VUeXBlLk1vYmlsZV06IE1vYmlsZUljb24sXG4gICAgW0RldmljZVR5cGUuV2ViXTogV2ViSWNvbixcbiAgICBbRGV2aWNlVHlwZS5Vbmtub3duXTogVW5rbm93bkRldmljZUljb24sXG59O1xuY29uc3QgZGV2aWNlVHlwZUxhYmVsOiBSZWNvcmQ8RGV2aWNlVHlwZSwgVHJhbnNsYXRpb25LZXk+ID0ge1xuICAgIFtEZXZpY2VUeXBlLkRlc2t0b3BdOiBfdGQoXCJzZXR0aW5nc3xzZXNzaW9uc3xkZXNrdG9wX3Nlc3Npb25cIiksXG4gICAgW0RldmljZVR5cGUuTW9iaWxlXTogX3RkKFwic2V0dGluZ3N8c2Vzc2lvbnN8bW9iaWxlX3Nlc3Npb25cIiksXG4gICAgW0RldmljZVR5cGUuV2ViXTogX3RkKFwic2V0dGluZ3N8c2Vzc2lvbnN8d2ViX3Nlc3Npb25cIiksXG4gICAgW0RldmljZVR5cGUuVW5rbm93bl06IF90ZChcInNldHRpbmdzfHNlc3Npb25zfHVua25vd25fc2Vzc2lvblwiKSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZXZpY2VUeXBlSWNvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHsgaXNWZXJpZmllZCwgaXNTZWxlY3RlZCwgZGV2aWNlVHlwZSB9KSA9PiB7XG4gICAgY29uc3QgSWNvbiA9IGRldmljZVR5cGVJY29uW2RldmljZVR5cGUhXSB8fCBkZXZpY2VUeXBlSWNvbltEZXZpY2VUeXBlLlVua25vd25dO1xuICAgIGNvbnN0IGxhYmVsID0gX3QoZGV2aWNlVHlwZUxhYmVsW2RldmljZVR5cGUhXSB8fCBkZXZpY2VUeXBlTGFiZWxbRGV2aWNlVHlwZS5Vbmtub3duXSk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibXhfRGV2aWNlVHlwZUljb25cIiwge1xuICAgICAgICAgICAgICAgIG14X0RldmljZVR5cGVJY29uX3NlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfRGV2aWNlVHlwZUljb25fZGV2aWNlSWNvbldyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8SWNvbiBjbGFzc05hbWU9XCJteF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9e2xhYmVsfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aXNWZXJpZmllZCA/IChcbiAgICAgICAgICAgICAgICA8VmVyaWZpZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcIm14X0RldmljZVR5cGVJY29uX3ZlcmlmaWNhdGlvbkljb25cIiwgXCJ2ZXJpZmllZFwiKX1cbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e190KFwiY29tbW9ufHZlcmlmaWVkXCIpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxVbnZlcmlmaWVkSWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJteF9EZXZpY2VUeXBlSWNvbl92ZXJpZmljYXRpb25JY29uXCIsIFwidW52ZXJpZmllZFwiKX1cbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e190KFwiY29tbW9ufHVudmVyaWZpZWRcIil9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuIl0s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