PluginProbe ʕ •ᴥ•ʔ
FAPI Member / 2.2.31
FAPI Member v2.2.31
2.2.33 2.2.32 trunk 1.9.47 2.1.18 2.2.24 2.2.25 2.2.26 2.2.28 2.2.29 2.2.30 2.2.31
fapi-member / app / dist / src_Components_Content_Members_Members_js.bundle.js
fapi-member / app / dist Last commit date
images 1 month ago src 1 month ago bundle.js 1 month ago ebb602ec1df70650b042.png 1 month ago src_Clients_UserClient_js-src_Components_Content_Members_Member_js.bundle.js 1 month ago src_Components_Content_Connection_Connection_js.bundle.js 1 month ago src_Components_Content_Connection_SimpleShopToFAPIMember_js.bundle.js 1 month ago src_Components_Content_Levels_Common_js.bundle.js 1 month ago src_Components_Content_Levels_Elements_js.bundle.js 1 month ago src_Components_Content_Levels_Levels_LevelsContent_Emails_js.bundle.js 1 month ago src_Components_Content_Levels_Levels_LevelsContent_LevelNotSelected_js.bundle.js 1 month ago src_Components_Content_Levels_Levels_LevelsContent_Pages_js.bundle.js 1 month ago src_Components_Content_Levels_Levels_LevelsContent_ServicePages_js.bundle.js 1 month ago src_Components_Content_Levels_Levels_LevelsContent_Unlocking_js.bundle.js 1 month ago src_Components_Content_Levels_Levels_js.bundle.js 1 month ago src_Components_Content_Members_CreateMember_js.bundle.js 1 month ago src_Components_Content_Members_MemberImport_js.bundle.js 1 month ago src_Components_Content_Members_Members_js.bundle.js 1 month ago src_Components_Content_NoFmLicence_js.bundle.js 1 month ago src_Components_Content_Overview_Overview_js.bundle.js 1 month ago src_Components_Content_Overview_StatisticsLocked_js.bundle.js 1 month ago src_Components_Content_Overview_Statistics_js.bundle.js 1 month ago vendors-node_modules_css-loader_dist_utils_js.bundle.js 1 month ago vendors-node_modules_papaparse_papaparse_min_js.bundle.js 1 month ago vendors-node_modules_react-select_dist_react-select_esm_js-node_modules_recharts_es6_cartesia-57d92e.bundle.js 1 month ago vendors-node_modules_react-select_dist_react-select_esm_js-node_modules_recharts_es6_cartesia-c640ac.bundle.js 1 month ago vendors-node_modules_react-select_dist_react-select_esm_js-node_modules_recharts_es6_cartesia-cdd18d.bundle.js 1 month ago vendors-node_modules_react-select_dist_react-select_esm_js-node_modules_recharts_es6_cartesia-feeb12.bundle.js 1 month ago vendors-node_modules_react-select_dist_react-select_esm_js.bundle.js 1 month ago vendors-node_modules_recharts_es6_cartesian_CartesianGrid_js-node_modules_recharts_es6_chart_-2b12b3.bundle.js 1 month ago vendors-node_modules_recharts_es6_chart_PieChart_js.bundle.js 1 month ago vendors-node_modules_recharts_es6_chart_generateCategoricalChart_js.bundle.js 1 month ago
src_Components_Content_Members_Members_js.bundle.js
192 lines
1 "use strict";
2 /*
3 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
4 * This devtool is neither made for production nor for readable output files.
5 * It uses "eval()" calls to create a separate source file in the browser devtools.
6 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
7 * or disable the default devtool with "devtool: false".
8 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
9 */
10 (self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["src_Components_Content_Members_Members_js"],{
11
12 /***/ "./node_modules/css-loader/dist/cjs.js!./src/Styles/members.css":
13 /*!**********************************************************************!*\
14 !*** ./node_modules/css-loader/dist/cjs.js!./src/Styles/members.css ***!
15 \**********************************************************************/
16 /***/ ((module, __webpack_exports__, __webpack_require__) => {
17
18 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.member-content{padding:10px;height:100%}.member-content .membership-change{display:flex;justify-content:space-between;border-radius:5px;border:none;border-left:4px solid #aad20e;background-color:#f5f5f5;padding:10px;margin-bottom:10px}.member-content .membership-change.created,.member-content .membership-change.extended{border-color:#aad20e}.member-content .membership-change.deleted,.member-content .membership-change.expired{border-color:#fa5329}.member-content .membership-change.updated{border-color:#f2bb3e}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://app/./src/Styles/members.css?./node_modules/css-loader/dist/cjs.js");
19
20 /***/ }),
21
22 /***/ "./src/Clients/StatisticsClient.js":
23 /*!*****************************************!*\
24 !*** ./src/Clients/StatisticsClient.js ***!
25 \*****************************************/
26 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27
28 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ StatisticsClient)\n/* harmony export */ });\n/* harmony import */ var _Client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Client */ \"./src/Clients/Client.js\");\n/* harmony import */ var Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Enums/RequestMethodType */ \"./src/Enums/RequestMethodType.js\");\n/* harmony import */ var Models_MembershipChange__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Models/MembershipChange */ \"./src/Models/MembershipChange.js\");\n/* harmony import */ var Models_DateTime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Models/DateTime */ \"./src/Models/DateTime.js\");\n\n\n\n\nclass StatisticsClient extends _Client__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor() {\n super('statistics');\n }\n async getMembershipChangesForUser(userId) {\n var changesData = await this.sendRequest('getMembershipChangesForUser', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n user_id: userId\n });\n var changes = [];\n if (changesData) {\n changesData.forEach(changeData => {\n changes.push(new Models_MembershipChange__WEBPACK_IMPORTED_MODULE_2__[\"default\"](changeData));\n });\n }\n return changes;\n }\n async getMemberCountsForPeriod(filterData) {\n return await this.sendRequest('getMemberCountsForPeriod', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, filterData);\n }\n async getMemberCountChangesForPeriod(filterData) {\n return await this.sendRequest('getMemberCountChangesForPeriod', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, filterData);\n }\n async getChurnRate(filterData) {\n return await this.sendRequest('getChurnRate', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, filterData);\n }\n async getAcquisitionRate(filterData) {\n return await this.sendRequest('getAcquisitionRate', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, filterData);\n }\n async getActiveCountsForPeriod(filterData) {\n return await this.sendRequest('getActiveCountsForPeriod', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, filterData);\n }\n async getLastActivityForUser(userId) {\n var lastActivity = await this.sendRequest('getLastActivityForUser', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n user_id: userId\n });\n if (lastActivity === null) {\n return lastActivity;\n }\n return new Models_DateTime__WEBPACK_IMPORTED_MODULE_3__[\"default\"](lastActivity);\n }\n async getAverageChurnRatePeriods(filterData) {\n return await this.sendRequest('getAverageChurnRatePeriods', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, filterData);\n }\n}\n\n//# sourceURL=webpack://app/./src/Clients/StatisticsClient.js?");
29
30 /***/ }),
31
32 /***/ "./src/Clients/UserClient.js":
33 /*!***********************************!*\
34 !*** ./src/Clients/UserClient.js ***!
35 \***********************************/
36 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37
38 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ UserClient)\n/* harmony export */ });\n/* harmony import */ var _Client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Client */ \"./src/Clients/Client.js\");\n/* harmony import */ var Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Enums/RequestMethodType */ \"./src/Enums/RequestMethodType.js\");\n/* harmony import */ var Models_User__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Models/User */ \"./src/Models/User.js\");\n\n\n\nclass UserClient extends _Client__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor() {\n super('users');\n }\n async create(email, firstName, lastName) {\n var result = await this.sendRequest('create', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n email: email ?? null,\n first_name: firstName ?? null,\n last_name: lastName ?? null\n });\n return result;\n }\n async getByEmail(email) {\n var user = await this.sendRequest('getByEmail', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n email: email\n });\n return user;\n }\n async list() {\n let membersOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var usersData = await this.sendRequest(membersOnly ? 'listMembers' : 'list', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.GET);\n return usersData.map(userData => new Models_User__WEBPACK_IMPORTED_MODULE_2__[\"default\"](userData));\n }\n async getByLevel(levelId) {\n var usersData = await this.sendRequest('getByLevel', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n level_id: levelId\n });\n return usersData.map(userData => new Models_User__WEBPACK_IMPORTED_MODULE_2__[\"default\"](userData));\n }\n}\n\n//# sourceURL=webpack://app/./src/Clients/UserClient.js?");
39
40 /***/ }),
41
42 /***/ "./src/Components/Content/Members/Member.js":
43 /*!**************************************************!*\
44 !*** ./src/Components/Content/Members/Member.js ***!
45 \**************************************************/
46 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47
48 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var Components_Elements_ReturnLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/ReturnLink */ \"./src/Components/Elements/ReturnLink.js\");\n/* harmony import */ var Components_Elements_UserMembershipsForm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/Elements/UserMembershipsForm */ \"./src/Components/Elements/UserMembershipsForm.js\");\n/* harmony import */ var Clients_StatisticsClient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Clients/StatisticsClient */ \"./src/Clients/StatisticsClient.js\");\n/* harmony import */ var Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Components/Elements/Loading */ \"./src/Components/Elements/Loading.js\");\n/* harmony import */ var Components_Content_Members_MembershipChange__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Components/Content/Members/MembershipChange */ \"./src/Components/Content/Members/MembershipChange.js\");\n/* harmony import */ var Helpers_LicenceHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Helpers/LicenceHelper */ \"./src/Helpers/LicenceHelper.js\");\n/* harmony import */ var Images_FM_user_changes_example_png__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Images/FM-user-changes-example.png */ \"./src/Media/Images/FM-user-changes-example.png\");\n/* harmony import */ var Clients_ApiConnectionClient__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! Clients/ApiConnectionClient */ \"./src/Clients/ApiConnectionClient.js\");\n\n\n\n\n\n\n\n\n\nfunction Member(_ref) {\n let {\n member,\n removeActiveMember\n } = _ref;\n const connectionClient = new Clients_ApiConnectionClient__WEBPACK_IMPORTED_MODULE_8__[\"default\"]();\n const statisticsClient = new Clients_StatisticsClient__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n const [memberChanges, setMemberChanges] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);\n const [lastActivityDate, setLastActivityDate] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [load, setLoad] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n const [urlObject, setUrlObject] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n const reload = async () => {\n await statisticsClient.getMembershipChangesForUser(member.id).then(data => {\n setMemberChanges(data);\n });\n await statisticsClient.getLastActivityForUser(member.id).then(data => {\n setLastActivityDate(data);\n });\n setLoad(false);\n };\n const fetchInitialData = async () => {\n const connections = await connectionClient.list();\n const connection = connections[0] || {};\n const urlObject = new URL('https://page.fapi.cz/10559/fapi-member-pro');\n const data = {\n \"fapi-form-email\": connection.billing?.email,\n \"fapi-form-mobil\": connection.billing?.phone,\n \"fapi-form-company\": connection.billing?.name,\n \"fapi-form-ic\": connection.billing?.ic,\n \"fapi-form-dic\": connection.billing?.dic,\n \"fapi-form-ic-dph\": connection.billing?.['ic_dph'],\n \"fapi-form-street\": connection.billing?.address?.street,\n \"fapi-form-city\": connection.billing?.address?.city,\n \"fapi-form-postcode\": connection.billing?.address?.zip,\n \"fapi-form-state\": connection.billing?.address?.country\n };\n const jsonData = JSON.stringify(data);\n const base64EncodedData = btoa(encodeURIComponent(jsonData));\n urlObject.search += `fapi-form-data=${base64EncodedData}`;\n setUrlObject(urlObject);\n };\n if (load === true) {\n reload();\n fetchInitialData();\n }\n }, [load]);\n if (load === true) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"member-content\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_ReturnLink__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n action: removeActiveMember\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h1\", {\n style: {\n marginBottom: '20px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, \"\\u010Clen:\"), ' ' + member.loginName, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n style: {\n float: 'right',\n display: 'flex',\n alignItems: 'center',\n justifyItems: 'center',\n gap: '10px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n style: {\n color: '$grey',\n fontSize: '13px',\n height: 'max-content'\n }\n }, member.email), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: member.picture\n },\n style: {\n height: '25px'\n }\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n fontSize: '13px',\n marginTop: '-20px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, \"Posledn\\xED p\\u0159ihl\\xE1\\u0161en\\xED: \"), Helpers_LicenceHelper__WEBPACK_IMPORTED_MODULE_6__.LicenceHelper.hasFmLicence() ? lastActivityDate !== null ? lastActivityDate.getDateCzech() + ' v ' + lastActivityDate.getHoursAndMinutes() : 'Nebyla zaznamenána žádná aktivita' : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n target: \"_blank\",\n href: urlObject\n }, \"Z\\xEDskat FAPI Member Pro\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: 'user-edit.php?user_id=' + member.id\n }, \"Nastaven\\xED u\\u017Eivatele\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h1\", null, \"\\u010Clensk\\xE9 sekce\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_UserMembershipsForm__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n userId: member.id,\n onSave: () => {\n setLoad(true);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h1\", null, \"Historie Zm\\u011Bn\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), Helpers_LicenceHelper__WEBPACK_IMPORTED_MODULE_6__.LicenceHelper.hasFmLicence() ? memberChanges.length === 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"membership-change success\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, \"Nebyla nalezena \\u017E\\xE1dn\\xE1 historie.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null)) : memberChanges.map((change, index) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Content_Members_MembershipChange__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n key: index,\n change: change\n })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"fm-no-licence\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: \"fm-link-button\",\n target: \"_blank\",\n href: urlObject\n }, \"Z\\xEDskat FAPI Member Pro\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"image\",\n style: {\n backgroundImage: `url(${Images_FM_user_changes_example_png__WEBPACK_IMPORTED_MODULE_7__[\"default\"]})`\n }\n }))));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Member);\n\n//# sourceURL=webpack://app/./src/Components/Content/Members/Member.js?");
49
50 /***/ }),
51
52 /***/ "./src/Components/Content/Members/MemberItem.js":
53 /*!******************************************************!*\
54 !*** ./src/Components/Content/Members/MemberItem.js ***!
55 \******************************************************/
56 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
57
58 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/SubmitButton */ \"./src/Components/Elements/SubmitButton.js\");\n\n\nfunction MemberItem(_ref) {\n let {\n member,\n setActiveMember,\n hidden = false\n } = _ref;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n className: \"member-item\",\n key: member.id,\n style: {\n display: hidden ? 'none' : 'table-row'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n dangerouslySetInnerHTML: {\n __html: member.picture\n },\n style: {\n padding: '5px',\n paddingTop: '6px'\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, member.email), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, member.firstName === null && member.lastName === null ? '---' : (member.firstName ?? '') + ' ' + (member.lastName ?? '')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, member.levelIds.length), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, member.createDate.getDateCzech()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n text: 'Upravit',\n onClick: () => {\n setActiveMember(member);\n }\n })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MemberItem);\n\n//# sourceURL=webpack://app/./src/Components/Content/Members/MemberItem.js?");
59
60 /***/ }),
61
62 /***/ "./src/Components/Content/Members/Members.js":
63 /*!***************************************************!*\
64 !*** ./src/Components/Content/Members/Members.js ***!
65 \***************************************************/
66 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
67
68 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var Styles_members_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Styles/members.css */ \"./src/Styles/members.css\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var Clients_UserClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Clients/UserClient */ \"./src/Clients/UserClient.js\");\n/* harmony import */ var Components_Content_Members_MembersFilter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Components/Content/Members/MembersFilter */ \"./src/Components/Content/Members/MembersFilter.js\");\n/* harmony import */ var Components_Elements_Paginator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Components/Elements/Paginator */ \"./src/Components/Elements/Paginator.js\");\n/* harmony import */ var Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Components/Elements/Loading */ \"./src/Components/Elements/Loading.js\");\n/* harmony import */ var Components_Content_Members_MemberItem__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Components/Content/Members/MemberItem */ \"./src/Components/Content/Members/MemberItem.js\");\n/* harmony import */ var Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Clients/MemberSectionClient */ \"./src/Clients/MemberSectionClient.js\");\n/* harmony import */ var Components_Content_Members_Member__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! Components/Content/Members/Member */ \"./src/Components/Content/Members/Member.js\");\n/* harmony import */ var Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Components/Elements/SubmitButton */ \"./src/Components/Elements/SubmitButton.js\");\n/* harmony import */ var Services_MemberService__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Services/MemberService */ \"./src/Services/MemberService.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction Members() {\n const userClient = new Clients_UserClient__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n const sectionClient = new Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n const [paginatorPage, setPaginatorPage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(1);\n const [paginatorItemsPerPage, setPaginatorItemsPerPage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(25);\n const [filteredMembers, setFilteredMembers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [members, setMembers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [displayedMemberIds, setDisplayedMemberIds] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [levels, setLevels] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loadMembers, setLoadMembers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [activeMember, setActiveMember] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [exporting, setExporting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [importing, setImporting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const importFile = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n if (filteredMembers === null) {\n return;\n }\n setDisplayedMemberIds(filteredMembers.slice(paginatorPage * paginatorItemsPerPage - paginatorItemsPerPage, paginatorPage * paginatorItemsPerPage).map(member => member.id));\n }, [paginatorPage, paginatorItemsPerPage, filteredMembers]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n const reloadMembers = async () => {\n await userClient.list(true).then(data => {\n setMembers(data);\n updateActiveMemberFromUrl(data);\n if (filteredMembers === null) {\n setFilteredMembers(data);\n }\n });\n await sectionClient.getAllAsLevels().then(data => {\n setLevels(data);\n });\n setLoadMembers(false);\n };\n if (loadMembers === true) {\n reloadMembers();\n }\n }, [loadMembers]);\n const updateActiveMemberFromUrl = function () {\n let updatedMembers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : members;\n if (updatedMembers === null) {\n return;\n }\n var url = new URL(window.location.href);\n var memberId = parseInt(url.searchParams.get('member'));\n if (!memberId) {\n setActiveMember(null);\n return;\n }\n updatedMembers.forEach(member => {\n if (member.id === memberId) {\n setActiveMember(member);\n return;\n }\n });\n };\n const handleSetActiveMember = member => {\n var url = new URL(window.location.href);\n if (member !== null) {\n url.searchParams.set('member', member.id);\n window.history.pushState({\n member: member.id\n }, document.title, url);\n } else {\n url.searchParams.delete('member');\n window.history.pushState({\n member: null\n }, document.title, url);\n setLoadMembers(true);\n }\n updateActiveMemberFromUrl();\n };\n window.addEventListener('popstate', () => {\n updateActiveMemberFromUrl();\n }, false);\n const handleExport = async () => {\n setExporting(true);\n await Services_MemberService__WEBPACK_IMPORTED_MODULE_10__.MemberService.exportCsv(filteredMembers);\n setExporting(false);\n };\n const handleImport = async event => {\n setImporting(true);\n const file = event.target.files[0];\n if (file && file.type === 'text/csv') {\n const reader = new FileReader();\n reader.onload = async e => {\n await Services_MemberService__WEBPACK_IMPORTED_MODULE_10__.MemberService.importCsv(e.target.result).then(() => {\n setLoadMembers(true);\n setImporting(false);\n });\n };\n reader.readAsText(file);\n event.target.value = '';\n }\n };\n if (filteredMembers === null || displayedMemberIds === null || levels === null || loadMembers === true) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null);\n }\n if (activeMember !== null) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Content_Members_Member__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n member: activeMember,\n removeActiveMember: () => handleSetActiveMember(null)\n });\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"content-members\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"h1\", {\n style: {\n marginBottom: '20px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"strong\", null, \"\\u010Clenov\\xE9\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n style: {\n fontSize: '13px',\n width: 'max-content',\n display: 'flex',\n gap: '7px',\n float: 'right'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n text: 'Exportovat (' + filteredMembers.length + ')',\n type: 'light',\n onClick: handleExport,\n show: !exporting\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n text: 'Importovat (csv)',\n type: 'light',\n onClick: () => {\n importFile.current.click();\n },\n show: !importing\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"file\",\n ref: importFile,\n style: {\n display: 'none'\n },\n accept: \".csv\",\n onChange: handleImport\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Content_Members_MembersFilter__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n members: members,\n setFilteredMembers: setFilteredMembers,\n levels: levels,\n loadMembers: loadMembers\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"table\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"th\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"th\", null, \"Email\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"th\", null, \"Jm\\xE9no a p\\u0159\\xEDjmen\\xED\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"th\", null, \"\\u010Clenstv\\xED\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"th\", null, \"Datum registrace\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"th\", null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"tbody\", null, filteredMembers.map(member => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Content_Members_MemberItem__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n key: member.id,\n member: member,\n setActiveMember: handleSetActiveMember,\n hidden: !displayedMemberIds.includes(member.id)\n })))), filteredMembers.length === 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n style: {\n textAlign: 'center'\n }\n }, \"Nebyly nalezeny \\u017E\\xE1dn\\xE9 v\\xFDsledky\") : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Components_Elements_Paginator__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n page: paginatorPage,\n setPage: setPaginatorPage,\n itemsPerPage: paginatorItemsPerPage,\n setItemsPerPage: setPaginatorItemsPerPage,\n itemCount: filteredMembers.length\n }));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Members);\n\n//# sourceURL=webpack://app/./src/Components/Content/Members/Members.js?");
69
70 /***/ }),
71
72 /***/ "./src/Components/Content/Members/MembersFilter.js":
73 /*!*********************************************************!*\
74 !*** ./src/Components/Content/Members/MembersFilter.js ***!
75 \*********************************************************/
76 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
77
78 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var Components_Elements_Select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Select */ \"./src/Components/Elements/Select.js\");\n\n\nfunction MembersFilter(_ref) {\n let {\n members,\n setFilteredMembers,\n levels,\n loadMembers\n } = _ref;\n const [level, setLevel] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [search, setSearch] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [sortBy, setSortBy] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('email');\n const [order, setOrder] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('asc');\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n var filteredMembers = members;\n if (level !== null) {\n filteredMembers = filterLevel(level, filteredMembers);\n }\n if (search !== null && search?.trim() !== '') {\n filteredMembers = filterSearch(search, filteredMembers);\n }\n filteredMembers = sortMembers(filteredMembers, sortBy, order);\n setFilteredMembers(filteredMembers);\n }, [level, search, sortBy, order, loadMembers]);\n const filterLevel = (level, filteredMembers) => {\n return filteredMembers.filter(member => member.levelIds?.includes(parseInt(level)));\n };\n const filterSearch = (search, filteredMembers) => {\n return filteredMembers.filter(member => member.loginName.toLowerCase().trim().includes(search.toLowerCase().trim()) || member.firstName?.toLowerCase()?.trim()?.includes(search.toLowerCase().trim()) || member.lastName?.toLowerCase()?.trim()?.includes(search.toLowerCase().trim()) || member.email?.toLowerCase()?.trim()?.includes(search.toLowerCase().trim()));\n };\n function sortMembers(members, sortBy, order) {\n const orderValue = order === 'desc' ? -1 : 1;\n return [...members].sort((a, b) => {\n if (['email', 'loginName'].includes(sortBy)) {\n return a[sortBy]?.localeCompare(b[sortBy]) * orderValue ?? 0;\n } else if (sortBy === 'createDate') {\n return a.createDate.getDate().localeCompare(b.createDate.getDate()) * orderValue ?? 0;\n }\n return 0;\n });\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"members-filter table-filter\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n className: \"fm-input\",\n style: {\n width: '250px',\n backgroundColor: 'white'\n },\n type: \"text\",\n id: \"members-search\",\n placeholder: 'Jméno/Email',\n onInputCapture: e => {\n setSearch(e.target.value);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"filter-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Sekce/\\xDArove\\u0148: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Select__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n id: 'member-level',\n options: levels.map(level => {\n return {\n text: level.name,\n value: level.id\n };\n }),\n emptyText: 'Vše',\n onChangeUpdateFunction: setLevel\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"filter-field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Se\\u0159adit: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Select__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n id: 'member-sort-by',\n options: [{\n text: 'Uživatelské jméno',\n value: 'loginName'\n }, {\n text: 'Email',\n value: 'email'\n }, {\n text: 'Datum registrace',\n value: 'createDate'\n }],\n defaultValue: 'name',\n onChangeUpdateFunction: setSortBy,\n includeEmptyOption: false\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Select__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n id: 'member-order',\n options: [{\n text: 'Vzestupně',\n value: 'asc'\n }, {\n text: 'Sestupně',\n value: 'desc'\n }],\n s: true,\n defaultValue: 'asc',\n onChangeUpdateFunction: setOrder,\n includeEmptyOption: false\n })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MembersFilter);\n\n//# sourceURL=webpack://app/./src/Components/Content/Members/MembersFilter.js?");
79
80 /***/ }),
81
82 /***/ "./src/Components/Content/Members/MembershipChange.js":
83 /*!************************************************************!*\
84 !*** ./src/Components/Content/Members/MembershipChange.js ***!
85 \************************************************************/
86 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
87
88 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction MembershipChange(_ref) {\n let {\n change\n } = _ref;\n const untilMessage = change.until === null ? '- <strong>bez expirace</strong>' : 'do <strong>' + change.until.getDateCzech() + '</strong>';\n const dateMessage = 'od <strong>' + change.registered.getDateCzech() + '</strong> ' + untilMessage;\n const levelMessage = change.level.parentId === null ? 'sekci' : 'úrovni';\n const message = {\n created: 'Bylo vytvořeno členství v ' + levelMessage + ' <strong>' + change.level.name + '</strong> - ' + dateMessage,\n updated: 'Bylo upraveno členství v ' + levelMessage + ' <strong>' + change.level.name + '</strong> - ' + dateMessage,\n extended: 'Členství v ' + levelMessage + ' <strong>' + change.level.name + '</strong> bylo prodlouženo ' + untilMessage,\n expired: 'Vypršelo členství v ' + levelMessage + ' <strong>' + change.level.name + '</strong>',\n deleted: 'Bylo odstraněno členství v ' + levelMessage + ' <strong>' + change.level.name + '</strong>'\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"membership-change \" + change.type\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: message[change.type]\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, change.timestamp.getDateCzech() + ' v ' + change.timestamp.getHoursAndMinutes()));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MembershipChange);\n\n//# sourceURL=webpack://app/./src/Components/Content/Members/MembershipChange.js?");
89
90 /***/ }),
91
92 /***/ "./src/Components/Elements/Paginator.js":
93 /*!**********************************************!*\
94 !*** ./src/Components/Elements/Paginator.js ***!
95 \**********************************************/
96 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97
98 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var Components_Elements_Select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Select */ \"./src/Components/Elements/Select.js\");\n/* harmony import */ var Images_arrow_forward_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Images/arrow-forward.svg */ \"./src/Media/Images/arrow-forward.svg\");\n/* harmony import */ var Images_arrow_backward_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Images/arrow-backward.svg */ \"./src/Media/Images/arrow-backward.svg\");\n\n\n\n\nfunction Paginator(_ref) {\n let {\n page,\n setPage,\n itemsPerPage,\n setItemsPerPage,\n itemCount\n } = _ref;\n const changePage = direction => {\n if (page + direction > 0 && (page + direction) * itemsPerPage - itemsPerPage < itemCount) {\n setPage(page + direction);\n }\n };\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (page * itemsPerPage > itemCount) {\n setPage(1);\n }\n }, [itemCount, itemsPerPage]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"paginator\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n width: '145px'\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"paginator-controls\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n className: \"clickable-icon paginator-arrow\",\n src: Images_arrow_backward_svg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n onClick: () => {\n changePage(-1);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, page * itemsPerPage - itemsPerPage + (itemCount > 0 ? 1 : 0), \" a\\u017E \", page * itemsPerPage < itemCount ? page * itemsPerPage : itemCount, \" z \", itemCount), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n className: \"clickable-icon paginator-arrow\",\n src: Images_arrow_forward_svg__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n onClick: () => {\n changePage(1);\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, \"Str\\xE1nkov\\xE1n\\xED: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Select__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n id: 'paginator-items-per-page',\n options: [{\n value: 25,\n text: '25'\n }, {\n value: 50,\n text: '50'\n }, {\n value: 100,\n text: '100'\n }],\n defaultValue: 25,\n onChangeUpdateFunction: setItemsPerPage,\n includeEmptyOption: false\n })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Paginator);\n\n//# sourceURL=webpack://app/./src/Components/Elements/Paginator.js?");
99
100 /***/ }),
101
102 /***/ "./src/Components/Elements/ReturnLink.js":
103 /*!***********************************************!*\
104 !*** ./src/Components/Elements/ReturnLink.js ***!
105 \***********************************************/
106 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
107
108 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction ReturnLink(_ref) {\n let {\n action\n } = _ref;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: \"return-link\",\n onClick: action\n }, \"\\u2190Zp\\u011Bt\");\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReturnLink);\n\n//# sourceURL=webpack://app/./src/Components/Elements/ReturnLink.js?");
109
110 /***/ }),
111
112 /***/ "./src/Components/Elements/Select.js":
113 /*!*******************************************!*\
114 !*** ./src/Components/Elements/Select.js ***!
115 \*******************************************/
116 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
117
118 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction Select(_ref) {\n let {\n id,\n options,\n emptyText = '-- nevybráno --',\n defaultValue = null,\n big = false,\n includeEmptyOption = true,\n onChangeUpdateFunction = value => {}\n } = _ref;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n className: 'fm-select ' + (big ? 'big' : ''),\n id: id,\n name: id,\n defaultValue: defaultValue,\n onChange: e => {\n onChangeUpdateFunction(e.target.value == 'null' ? null : e.target.value);\n }\n }, includeEmptyOption ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n className: \"fm-option\",\n value: 'null'\n }, emptyText) : null, options.map(option => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n key: option.value,\n className: \"fm-option\",\n value: option.value\n }, option.text)));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Select);\n\n//# sourceURL=webpack://app/./src/Components/Elements/Select.js?");
119
120 /***/ }),
121
122 /***/ "./src/Media/Images/FM-user-changes-example.png":
123 /*!******************************************************!*\
124 !*** ./src/Media/Images/FM-user-changes-example.png ***!
125 \******************************************************/
126 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
127
128 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"src/Media/Images/FM-user-changes-example.png\");\n\n//# sourceURL=webpack://app/./src/Media/Images/FM-user-changes-example.png?");
129
130 /***/ }),
131
132 /***/ "./src/Media/Images/arrow-backward.svg":
133 /*!*********************************************!*\
134 !*** ./src/Media/Images/arrow-backward.svg ***!
135 \*********************************************/
136 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
137
138 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"/images/arrow-backward.svg\");\n\n//# sourceURL=webpack://app/./src/Media/Images/arrow-backward.svg?");
139
140 /***/ }),
141
142 /***/ "./src/Media/Images/arrow-forward.svg":
143 /*!********************************************!*\
144 !*** ./src/Media/Images/arrow-forward.svg ***!
145 \********************************************/
146 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
147
148 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"/images/arrow-forward.svg\");\n\n//# sourceURL=webpack://app/./src/Media/Images/arrow-forward.svg?");
149
150 /***/ }),
151
152 /***/ "./src/Models/MembershipChange.js":
153 /*!****************************************!*\
154 !*** ./src/Models/MembershipChange.js ***!
155 \****************************************/
156 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
157
158 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MembershipChange)\n/* harmony export */ });\n/* harmony import */ var Models_DateTime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Models/DateTime */ \"./src/Models/DateTime.js\");\n/* harmony import */ var Models_MemberLevel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Models/MemberLevel */ \"./src/Models/MemberLevel.js\");\n\n\nclass MembershipChange {\n level;\n userId;\n type;\n registered;\n until;\n timestamp;\n constructor(data) {\n this.level = new Models_MemberLevel__WEBPACK_IMPORTED_MODULE_1__[\"default\"](data.level);\n this.userId = data.user_id;\n this.type = data.type;\n this.registered = data.registered ? new Models_DateTime__WEBPACK_IMPORTED_MODULE_0__[\"default\"](data.registered) : null;\n this.until = data.until ? new Models_DateTime__WEBPACK_IMPORTED_MODULE_0__[\"default\"](data.until) : null;\n this.timestamp = data.timestamp ? new Models_DateTime__WEBPACK_IMPORTED_MODULE_0__[\"default\"](data.timestamp) : null;\n }\n}\n\n//# sourceURL=webpack://app/./src/Models/MembershipChange.js?");
159
160 /***/ }),
161
162 /***/ "./src/Models/User.js":
163 /*!****************************!*\
164 !*** ./src/Models/User.js ***!
165 \****************************/
166 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
167
168 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ User)\n/* harmony export */ });\n/* harmony import */ var Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n/* harmony import */ var Models_DateTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Models/DateTime */ \"./src/Models/DateTime.js\");\n\n\nclass User {\n id;\n email;\n firstName;\n lastName;\n loginName;\n createDate;\n levelIds;\n picture;\n constructor(data) {\n this.id = data?.ID ?? data?.id ?? null;\n this.email = data?.email ?? null;\n this.firstName = data?.first_name ?? null;\n this.lastName = data?.last_name ?? null;\n this.loginName = data?.login_name ?? null;\n this.createDate = new Models_DateTime__WEBPACK_IMPORTED_MODULE_1__[\"default\"](data.create_date);\n this.levelIds = data?.level_ids ?? null;\n this.picture = data?.picture ?? null;\n }\n}\n\n//# sourceURL=webpack://app/./src/Models/User.js?");
169
170 /***/ }),
171
172 /***/ "./src/Services/MemberService.js":
173 /*!***************************************!*\
174 !*** ./src/Services/MemberService.js ***!
175 \***************************************/
176 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
177
178 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MemberService: () => (/* binding */ MemberService)\n/* harmony export */ });\n/* harmony import */ var Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Clients/MembershipClient */ \"./src/Clients/MembershipClient.js\");\n/* harmony import */ var papaparse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! papaparse */ \"./node_modules/papaparse/papaparse.min.js\");\n/* harmony import */ var papaparse__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(papaparse__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass MemberService {\n static membershipClient = (() => new Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_0__[\"default\"]())();\n static async retryAsync(fn) {\n let retries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;\n let lastError;\n for (let attempt = 1; attempt <= retries; attempt++) {\n try {\n return await fn();\n } catch (error) {\n lastError = error;\n console.warn(`Attempt ${attempt} failed. Retrying...`);\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n }\n throw lastError;\n }\n static async exportCsv(members) {\n let membersData = [];\n\n // Místo Promise.all sekvenční for loop + retry\n for (const member of members) {\n let memberships = await this.retryAsync(() => this.membershipClient.getAllForUser(member.id), 10, 500);\n memberships.map(membership => {\n membersData.push({\n email: member.email,\n first_name: member.firstName,\n last_name: member.lastName,\n level: membership.levelId,\n registered: membership.registered?.getDateTime(),\n until: membership.until?.getDate()\n });\n });\n }\n membersData = papaparse__WEBPACK_IMPORTED_MODULE_1___default().unparse(membersData);\n const blob = new Blob([membersData], {\n type: 'text/csv;charset=utf-8;'\n });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', 'fm_members.csv');\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n static importCsv(csv) {\n return new Promise((resolve, reject) => {\n papaparse__WEBPACK_IMPORTED_MODULE_1___default().parse(csv, {\n header: true,\n worker: false,\n step: results => {\n this.membershipClient.create(results.data);\n },\n complete: () => {\n return resolve();\n },\n error: error => {\n console.log(error);\n return reject(error);\n }\n });\n });\n }\n}\n\n//# sourceURL=webpack://app/./src/Services/MemberService.js?");
179
180 /***/ }),
181
182 /***/ "./src/Styles/members.css":
183 /*!********************************!*\
184 !*** ./src/Styles/members.css ***!
185 \********************************/
186 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
187
188 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_members_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js!./members.css */ \"./node_modules/css-loader/dist/cjs.js!./src/Styles/members.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\noptions.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_members_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_members_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _node_modules_css_loader_dist_cjs_js_members_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_members_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://app/./src/Styles/members.css?");
189
190 /***/ })
191
192 }]);