Plugin Directory

Changeset 3142904


Ignore:
Timestamp:
08/28/2024 12:17:02 PM (20 months ago)
Author:
fapi
Message:

Added informational elements

Location:
fapi-member
Files:
383 added
12 edited

Legend:

Unmodified
Added
Removed
  • fapi-member/trunk/app/dist/bundle.js

    r3135563 r3142904  
    3737/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    3838
    39 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MembershipClient)\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_Membership__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Models/Membership */ \"./src/Models/Membership.js\");\n\n\n\nclass MembershipClient extends _Client__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  constructor() {\n    super('memberships');\n  }\n  async getAll() {\n    var memberships = [];\n    var membershipsData = await this.sendRequest('list', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.GET, {});\n    if (membershipsData) {\n      membershipsData = Object.values(membershipsData);\n      membershipsData.forEach(membershipData => {\n        if (!memberships[membershipData.user_id]) {\n          memberships[membershipData.user_id] = [];\n        }\n        if (!memberships[membershipData.user_id][membershipData.level]) {\n          memberships[membershipData.user_id][membershipData.level] = [];\n        }\n        memberships[membershipData.user_id][membershipData.level].push(new Models_Membership__WEBPACK_IMPORTED_MODULE_2__[\"default\"](membershipData));\n      });\n    }\n    return memberships.filter(element => element !== '' && element !== null && element !== undefined && !Number.isNaN(element));\n    ;\n  }\n  async getAllForUser(userId) {\n    var memberships = [];\n    var membershipsData = await this.sendRequest('getAllForUser', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n      user_id: userId\n    });\n    if (membershipsData) {\n      membershipsData.forEach(membershipData => {\n        memberships[membershipData.level] = new Models_Membership__WEBPACK_IMPORTED_MODULE_2__[\"default\"](membershipData);\n      });\n    }\n    return memberships;\n  }\n  async update(userId, memberships) {\n    if (memberships === null) {\n      return;\n    }\n    var response = await this.sendRequest('updateAllForUser', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n      user_id: userId,\n      memberships: memberships\n    });\n    return response.success;\n  }\n}\n\n//# sourceURL=webpack://app/./src/Clients/MembershipClient.js?");
     39eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MembershipClient)\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_Membership__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Models/Membership */ \"./src/Models/Membership.js\");\n/* harmony import */ var Models_DateTime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Models/DateTime */ \"./src/Models/DateTime.js\");\n\n\n\n\nclass MembershipClient extends _Client__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  constructor() {\n    super('memberships');\n  }\n  async getAll() {\n    var memberships = [];\n    var membershipsData = await this.sendRequest('list', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.GET, {});\n    if (membershipsData) {\n      membershipsData = Object.values(membershipsData);\n      membershipsData.forEach(membershipData => {\n        if (!memberships[membershipData.user_id]) {\n          memberships[membershipData.user_id] = [];\n        }\n        if (!memberships[membershipData.user_id][membershipData.level]) {\n          memberships[membershipData.user_id][membershipData.level] = [];\n        }\n        memberships[membershipData.user_id][membershipData.level].push(new Models_Membership__WEBPACK_IMPORTED_MODULE_2__[\"default\"](membershipData));\n      });\n    }\n    return memberships.filter(element => element !== '' && element !== null && element !== undefined && !Number.isNaN(element));\n    ;\n  }\n  async getAllForUser(userId) {\n    var memberships = [];\n    var membershipsData = await this.sendRequest('getAllForUser', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n      user_id: userId\n    });\n    if (membershipsData) {\n      membershipsData.forEach(membershipData => {\n        memberships[membershipData.level] = new Models_Membership__WEBPACK_IMPORTED_MODULE_2__[\"default\"](membershipData);\n      });\n    }\n    return memberships;\n  }\n  async update(userId, memberships) {\n    if (memberships === null) {\n      return;\n    }\n    var response = await this.sendRequest('updateAllForUser', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n      user_id: userId,\n      memberships: memberships\n    });\n    return response.success;\n  }\n  async getUnlockDate(levelId, userId, registrationDate) {\n    var date = await this.sendRequest('getUnlockDate', Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_1__.RequestMethodType.POST, {\n      user_id: userId,\n      level_id: levelId,\n      registration_date: registrationDate\n    });\n    if (date !== null && date !== undefined) {\n      date = new Models_DateTime__WEBPACK_IMPORTED_MODULE_3__[\"default\"](date);\n    }\n    return date;\n  }\n}\n\n//# sourceURL=webpack://app/./src/Clients/MembershipClient.js?");
    4040
    4141/***/ }),
     
    5757/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    5858
    59 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 Alert() {\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"alert\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, \"Chyba: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    id: \"alert-content\"\n  })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Alert);\n\n//# sourceURL=webpack://app/./src/Components/Elements/Alert.js?");
     59eval("__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 Services_AlertService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Services/AlertService */ \"./src/Services/AlertService.js\");\n\n\nfunction Alert() {\n  const alertMessage = sessionStorage.getItem('fmLastAlertMessage');\n  const alertType = sessionStorage.getItem('fmLastAlertType');\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    if (alertMessage !== null) {\n      Services_AlertService__WEBPACK_IMPORTED_MODULE_1__[\"default\"].showAlert(alertMessage, alertType);\n    }\n  }, []);\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"alert\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, \"Chyba: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    id: \"alert-content\"\n  })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Alert);\n\n//# sourceURL=webpack://app/./src/Components/Elements/Alert.js?");
    6060
    6161/***/ }),
     
    137137/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    138138
    139 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 Styles_userSettings_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Styles/userSettings.css */ \"./src/Styles/userSettings.css\");\n/* harmony import */ var Styles_global_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Styles/global.css */ \"./src/Styles/global.css\");\n/* harmony import */ var Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Clients/MemberSectionClient */ \"./src/Clients/MemberSectionClient.js\");\n/* harmony import */ var Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Clients/MembershipClient */ \"./src/Clients/MembershipClient.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_UserSettings_UserSettingsSection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Components/UserSettings/UserSettingsSection */ \"./src/Components/UserSettings/UserSettingsSection.js\");\n/* harmony import */ var Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Helpers/InputHelper */ \"./src/Helpers/InputHelper.js\");\n/* harmony import */ var Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n\n\n\n\n\n\n\n\n\nfunction UserSettings() {\n  const [sectionsLoading, setSectionsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n  const [items, setItems] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const form = document.getElementById('your-profile');\n  const submitButton = document.getElementById('submit');\n  const memberSectionClient = new Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n  const membershipClient = new Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n  var userId = new URLSearchParams(window.location.search).get('user_id');\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    const reloadSectionsData = async () => {\n      var sections = await memberSectionClient.getAll();\n      var memberships = await membershipClient.getAllForUser(userId);\n      var updatedItems = sections.map(section => {\n        var _memberships$section$;\n        return {\n          section: {\n            id: section.id,\n            name: section.name,\n            parentId: section.parentId\n          },\n          levelItems: section.levels.map(level => {\n            var _memberships$level$id;\n            return {\n              level: level,\n              membership: (_memberships$level$id = memberships[level.id]) !== null && _memberships$level$id !== void 0 ? _memberships$level$id : null\n            };\n          }),\n          membership: (_memberships$section$ = memberships[section.id]) !== null && _memberships$section$ !== void 0 ? _memberships$section$ : null\n        };\n      });\n      setItems(updatedItems);\n      setSectionsLoading(false);\n    };\n    if (sectionsLoading === true) {\n      reloadSectionsData();\n    }\n  }, [sectionsLoading]);\n  const prepareSubmitData = () => {\n    if (items === null) {\n      return null;\n    }\n    const levelIds = items.map(item => {\n      var ids = item.levelItems.map(levelItem => {\n        return levelItem.level.id;\n      });\n      ids.push(item.section.id);\n      return ids;\n    }).flat();\n    return levelIds.map(levelId => {\n      var _registeredTime;\n      const ownsMembership = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getCheckboxValue('level-checkbox-' + levelId);\n      if (!ownsMembership) {\n        return;\n      }\n      const registeredDate = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getValue('registered-date-input-' + levelId, Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_8__[\"default\"].getCurrentDateTime().getDate());\n      var registeredTime = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getValue('registered-time-input-' + levelId, Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_8__[\"default\"].getCurrentDateTime().getTime());\n      if (((_registeredTime = registeredTime) === null || _registeredTime === void 0 ? void 0 : _registeredTime.length) === 5) {\n        registeredTime += ':00';\n      }\n      const untilDate = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getValue('until-date-input-' + levelId);\n      const until = untilDate !== null ? untilDate + 'T00:00:00' : null;\n      return {\n        level_id: levelId,\n        registered: registeredDate + 'T' + registeredTime,\n        until: until,\n        is_unlimited: untilDate === null\n      };\n    }).filter(element => element !== undefined);\n  };\n  const handleFormSubmit = async e => {\n    e.preventDefault();\n    const memberships = prepareSubmitData();\n    await membershipClient.update(userId, memberships).then(data => {\n      if (data !== undefined) {\n        HTMLFormElement.prototype.submit.call(form);\n      }\n    });\n  };\n  submitButton.addEventListener('click', handleFormSubmit);\n  if (items === null) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      style: {\n        padding: '50px'\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null));\n  }\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-settings\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h1\", null, \"\\u010Clensk\\xE9 sekce\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), items.map(item => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsSection__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    key: item.section.id,\n    section: item.section,\n    membership: item.membership,\n    levelItems: item.levelItems\n  })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettings);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings.js?");
     139eval("__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 Styles_userSettings_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Styles/userSettings.css */ \"./src/Styles/userSettings.css\");\n/* harmony import */ var Styles_global_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Styles/global.css */ \"./src/Styles/global.css\");\n/* harmony import */ var Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Clients/MemberSectionClient */ \"./src/Clients/MemberSectionClient.js\");\n/* harmony import */ var Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Clients/MembershipClient */ \"./src/Clients/MembershipClient.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_UserSettings_UserSettingsSection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Components/UserSettings/UserSettingsSection */ \"./src/Components/UserSettings/UserSettingsSection.js\");\n/* harmony import */ var Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Helpers/InputHelper */ \"./src/Helpers/InputHelper.js\");\n/* harmony import */ var Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n/* harmony import */ var Components_Elements_Alert__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Components/Elements/Alert */ \"./src/Components/Elements/Alert.js\");\n/* harmony import */ var Services_AlertService__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Services/AlertService */ \"./src/Services/AlertService.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction UserSettings() {\n  const [sectionsLoading, setSectionsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n  const [items, setItems] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const form = document.getElementById('your-profile');\n  const submitButton = document.getElementById('submit');\n  const memberSectionClient = new Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n  const membershipClient = new Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n  var userId = new URLSearchParams(window.location.search).get('user_id');\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    const reloadSectionsData = async () => {\n      var sections = await memberSectionClient.getAll();\n      var memberships = await membershipClient.getAllForUser(userId);\n      var updatedItems = sections.map(section => {\n        var _memberships$section$;\n        return {\n          section: {\n            id: section.id,\n            name: section.name,\n            parentId: section.parentId\n          },\n          levelItems: section.levels.map(level => {\n            var _memberships$level$id;\n            return {\n              level: level,\n              membership: (_memberships$level$id = memberships[level.id]) !== null && _memberships$level$id !== void 0 ? _memberships$level$id : null\n            };\n          }),\n          membership: (_memberships$section$ = memberships[section.id]) !== null && _memberships$section$ !== void 0 ? _memberships$section$ : null\n        };\n      });\n      setItems(updatedItems);\n      setSectionsLoading(false);\n    };\n    if (sectionsLoading === true) {\n      reloadSectionsData();\n    }\n  }, [sectionsLoading]);\n  const prepareSubmitData = () => {\n    if (items === null) {\n      return null;\n    }\n    const levelIds = items.map(item => {\n      var ids = item.levelItems.map(levelItem => {\n        return levelItem.level.id;\n      });\n      ids.push(item.section.id);\n      return ids;\n    }).flat();\n    return levelIds.map(levelId => {\n      var _registeredTime;\n      const ownsMembership = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getCheckboxValue('level-checkbox-' + levelId);\n      if (!ownsMembership) {\n        return;\n      }\n      const registeredDate = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getValue('registered-date-input-' + levelId, Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_8__[\"default\"].getCurrentDateTime().getDate());\n      var registeredTime = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getValue('registered-time-input-' + levelId, Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_8__[\"default\"].getCurrentDateTime().getTime());\n      if (((_registeredTime = registeredTime) === null || _registeredTime === void 0 ? void 0 : _registeredTime.length) === 5) {\n        registeredTime += ':00';\n      }\n      const untilDate = Helpers_InputHelper__WEBPACK_IMPORTED_MODULE_7__.InputHelper.getValue('until-date-input-' + levelId);\n      const until = untilDate !== null ? untilDate + 'T23:59:59' : null;\n      return {\n        level_id: levelId,\n        registered: registeredDate + 'T' + registeredTime,\n        until: until,\n        is_unlimited: untilDate === null\n      };\n    }).filter(element => element !== undefined);\n  };\n  const handleFormSubmit = async e => {\n    e.preventDefault();\n    const memberships = prepareSubmitData();\n    await membershipClient.update(userId, memberships).then(data => {\n      if (data !== undefined) {\n        HTMLFormElement.prototype.submit.call(form);\n      }\n    });\n  };\n  submitButton.addEventListener('click', handleFormSubmit);\n  if (items === null) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      style: {\n        padding: '50px'\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null));\n  }\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-settings\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Alert__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h1\", null, \"FAPI Member - \\u010Clensk\\xE9 sekce\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), items.map(item => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsSection__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    key: item.section.id,\n    section: item.section,\n    membership: item.membership,\n    levelItems: item.levelItems\n  })));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettings);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings.js?");
    140140
    141141/***/ }),
     
    147147/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    148148
    149 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 Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n/* harmony import */ var Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n\n\n\nfunction UserSettingsInputs(_ref) {\n  var _membership$until$get, _membership$until, _membership$registere, _membership$registere2, _membership$registere3, _membership$registere4, _membership$until2;\n  let {\n    level,\n    membership,\n    checked\n  } = _ref;\n  const today = Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getCurrentDateTime();\n  const [showUntilInput, setShowUntilInput] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(((_membership$until$get = membership === null || membership === void 0 || (_membership$until = membership.until) === null || _membership$until === void 0 ? void 0 : _membership$until.getDate()) !== null && _membership$until$get !== void 0 ? _membership$until$get : null) !== null);\n  if (!checked) {\n    return null;\n  }\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-inputs\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-input-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: 'registered-date-input-' + level.id\n  }, \"Datum Registrace\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input registered-date-input\",\n    id: 'registered-date-input-' + level.id,\n    type: \"date\",\n    defaultValue: (_membership$registere = membership === null || membership === void 0 || (_membership$registere2 = membership.registered) === null || _membership$registere2 === void 0 ? void 0 : _membership$registere2.getDate()) !== null && _membership$registere !== void 0 ? _membership$registere : today.getDate()\n  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-input-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: 'registered-time-input-' + level.id\n  }, \"\\u010Cas Registrace\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input registered-time-input\",\n    id: 'registered-time-input-' + level.id,\n    type: \"time\",\n    step: \"60\",\n    defaultValue: (_membership$registere3 = membership === null || membership === void 0 || (_membership$registere4 = membership.registered) === null || _membership$registere4 === void 0 ? void 0 : _membership$registere4.getTime()) !== null && _membership$registere3 !== void 0 ? _membership$registere3 : today.getTime()\n  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-input-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: 'until-date-input-' + level.id\n  }, \"Datum Expirace\"), showUntilInput ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input intil-date-input\",\n    id: 'until-date-input-' + level.id,\n    type: \"date\",\n    defaultValue: membership === null || membership === void 0 || (_membership$until2 = membership.until) === null || _membership$until2 === void 0 ? void 0 : _membership$until2.getDate(),\n    onBlur: e => setShowUntilInput(e.target.value !== ''),\n    autoFocus: true\n  }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"is-unlimited\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    id: 'is-unlimited-input-' + level.id,\n    small: true,\n    onClick: () => {\n      setShowUntilInput(!showUntilInput);\n    },\n    checked: !showUntilInput\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    className: \"clickable-option\",\n    htmlFor: 'is-unlimited-input-' + level.id\n  }, \"Bez expirace\"))));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettingsInputs);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings/UserSettingsInputs.js?");
     149eval("__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 Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n/* harmony import */ var Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Clients/MembershipClient */ \"./src/Clients/MembershipClient.js\");\n/* harmony import */ var Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Components/Elements/Loading */ \"./src/Components/Elements/Loading.js\");\n\n\n\n\n\nfunction UserSettingsInputs(_ref) {\n  var _membership$until$get, _membership$until, _membership$registere, _membership$registere2, _membership$registere3, _membership$registere4, _membership$until2;\n  let {\n    level,\n    membership,\n    checked,\n    sectionRegistrationDate = null,\n    setSectionRegistrationDate = () => {}\n  } = _ref;\n  const today = Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getCurrentDateTime();\n  const [showUntilInput, setShowUntilInput] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(((_membership$until$get = membership === null || membership === void 0 || (_membership$until = membership.until) === null || _membership$until === void 0 ? void 0 : _membership$until.getDate()) !== null && _membership$until$get !== void 0 ? _membership$until$get : null) !== null);\n  const [unlockDate, setUnlockDate] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const membershipClient = new Clients_MembershipClient__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n  if (sectionRegistrationDate === null) {\n    setSectionRegistrationDate(today.getDate());\n  }\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    const loadData = async () => {\n      var newUnlockDate = await membershipClient.getUnlockDate(level.id, new URLSearchParams(window.location.search).get('user_id'), sectionRegistrationDate);\n      setUnlockDate(newUnlockDate);\n    };\n    if (level.parentId !== null && level.unlockType !== 'disallow' && level.unlockType !== null) {\n      setUnlockDate(null);\n      loadData();\n    }\n  }, [sectionRegistrationDate]);\n  if (!checked) {\n    if (level.unlockType === 'disallow' || level.unlockType === null || level.parentId === null) {\n      return null;\n    }\n    if (unlockDate === null) {\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: \"user-inputs\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"user-settings-automatic-unlocking-overlay\"\n    }, 'Úroveň bude odemčena ' + (unlockDate === null || unlockDate === void 0 ? void 0 : unlockDate.getDateCzech()) + ' v ' + (unlockDate === null || unlockDate === void 0 ? void 0 : unlockDate.getHoursAndMinutes())));\n  }\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-inputs\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-input-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: 'registered-date-input-' + level.id\n  }, \"Datum Registrace\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input registered-date-input\",\n    id: 'registered-date-input-' + level.id,\n    type: \"date\",\n    defaultValue: (_membership$registere = membership === null || membership === void 0 || (_membership$registere2 = membership.registered) === null || _membership$registere2 === void 0 ? void 0 : _membership$registere2.getDate()) !== null && _membership$registere !== void 0 ? _membership$registere : today.getDate(),\n    onChange: e => {\n      if (level.parentId === null) {\n        setSectionRegistrationDate(e.target.value);\n      }\n    }\n  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-input-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: 'registered-time-input-' + level.id\n  }, \"\\u010Cas Registrace\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input registered-time-input\",\n    id: 'registered-time-input-' + level.id,\n    type: \"time\",\n    step: \"60\",\n    defaultValue: (_membership$registere3 = membership === null || membership === void 0 || (_membership$registere4 = membership.registered) === null || _membership$registere4 === void 0 ? void 0 : _membership$registere4.getTime()) !== null && _membership$registere3 !== void 0 ? _membership$registere3 : today.getTime()\n  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-input-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: 'until-date-input-' + level.id\n  }, \"Datum Expirace\"), showUntilInput ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input intil-date-input\",\n    id: 'until-date-input-' + level.id,\n    type: \"date\",\n    defaultValue: membership === null || membership === void 0 || (_membership$until2 = membership.until) === null || _membership$until2 === void 0 ? void 0 : _membership$until2.getDate(),\n    onBlur: e => setShowUntilInput(e.target.value !== ''),\n    autoFocus: true\n  }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"is-unlimited\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    id: 'is-unlimited-input-' + level.id,\n    small: true,\n    onClick: () => {\n      setShowUntilInput(!showUntilInput);\n    },\n    checked: !showUntilInput\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    className: \"clickable-option\",\n    htmlFor: 'is-unlimited-input-' + level.id\n  }, \"Bez expirace\"))));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettingsInputs);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings/UserSettingsInputs.js?");
    150150
    151151/***/ }),
     
    157157/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    158158
    159 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_Checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/UserSettings/UserSettingsInputs */ \"./src/Components/UserSettings/UserSettingsInputs.js\");\n\n\n\nfunction UserSettingsLevel(_ref) {\n  let {\n    level,\n    membership\n  } = _ref;\n  const [checked, setChecked] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(membership !== null);\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-level\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    key: level.id,\n    id: 'level-checkbox-' + level.id,\n    className: 'level-checkbox',\n    checked: checked,\n    onClick: e => {\n      setChecked(e.target.checked);\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    className: \"user-level-name clickable-option\",\n    htmlFor: 'level-checkbox-' + level.id\n  }, level.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    level: level,\n    membership: membership,\n    checked: checked\n  }));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettingsLevel);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings/UserSettingsLevel.js?");
     159eval("__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_Checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/UserSettings/UserSettingsInputs */ \"./src/Components/UserSettings/UserSettingsInputs.js\");\n\n\n\nfunction UserSettingsLevel(_ref) {\n  let {\n    level,\n    membership,\n    sectionRegistrationDate\n  } = _ref;\n  const [checked, setChecked] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(membership !== null);\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-level\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    key: level.id,\n    id: 'level-checkbox-' + level.id,\n    className: 'level-checkbox',\n    checked: checked,\n    onClick: e => {\n      setChecked(e.target.checked);\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    className: \"user-level-name clickable-option\",\n    htmlFor: 'level-checkbox-' + level.id\n  }, level.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    level: level,\n    membership: membership,\n    checked: checked,\n    sectionRegistrationDate: sectionRegistrationDate\n  }));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettingsLevel);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings/UserSettingsLevel.js?");
    160160
    161161/***/ }),
     
    167167/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    168168
    169 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_Checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Components_UserSettings_UserSettingsLevel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/UserSettings/UserSettingsLevel */ \"./src/Components/UserSettings/UserSettingsLevel.js\");\n/* harmony import */ var Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Components/UserSettings/UserSettingsInputs */ \"./src/Components/UserSettings/UserSettingsInputs.js\");\n/* harmony import */ var Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n\n\n\n\n\nfunction UserSettingsSection(_ref) {\n  let {\n    section,\n    membership,\n    levelItems\n  } = _ref;\n  const [checked, setChecked] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(membership !== null);\n  const newMembership = {\n    registered: Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getCurrentDateTime(),\n    until: null,\n    isUnlimited: true\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-section\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-section-settings\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    key: section.id,\n    id: 'level-checkbox-' + section.id,\n    className: 'section-checkbox',\n    checked: checked,\n    onClick: e => {\n      setChecked(e.target.checked);\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    className: \"user-section-name clickable-option\",\n    htmlFor: 'level-checkbox-' + section.id\n  }, section.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n    level: section,\n    membership: membership,\n    checked: checked\n  })), checked ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-levels\"\n  }, levelItems.map(levelItem => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsLevel__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    key: levelItem.level.id,\n    level: levelItem.level,\n    membership: levelItem.membership\n  }))) : null);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettingsSection);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings/UserSettingsSection.js?");
     169eval("__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_Checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Components_UserSettings_UserSettingsLevel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/UserSettings/UserSettingsLevel */ \"./src/Components/UserSettings/UserSettingsLevel.js\");\n/* harmony import */ var Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Components/UserSettings/UserSettingsInputs */ \"./src/Components/UserSettings/UserSettingsInputs.js\");\n/* harmony import */ var Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n\n\n\n\n\nfunction UserSettingsSection(_ref) {\n  let {\n    section,\n    membership,\n    levelItems\n  } = _ref;\n  const [checked, setChecked] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(membership !== null);\n  const [registrationDate, setRegistrationDate] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const newMembership = {\n    registered: Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getCurrentDateTime(),\n    until: null,\n    isUnlimited: true\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-section\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-section-settings\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    key: section.id,\n    id: 'level-checkbox-' + section.id,\n    className: 'section-checkbox',\n    checked: checked,\n    onClick: e => {\n      setChecked(e.target.checked);\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    className: \"user-section-name clickable-option\",\n    htmlFor: 'level-checkbox-' + section.id\n  }, section.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsInputs__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n    level: section,\n    membership: membership,\n    checked: checked,\n    setSectionRegistrationDate: setRegistrationDate,\n    sectionRegistrationDate: registrationDate\n  })), checked ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"user-levels\"\n  }, levelItems.map(levelItem => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_UserSettings_UserSettingsLevel__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    key: levelItem.level.id,\n    level: levelItem.level,\n    membership: levelItem.membership,\n    sectionRegistrationDate: registrationDate\n  }))) : null);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UserSettingsSection);\n\n//# sourceURL=webpack://app/./src/Components/UserSettings/UserSettingsSection.js?");
    170170
    171171/***/ }),
     
    217217/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    218218
    219 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 Models_DateTime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Models/DateTime */ \"./src/Models/DateTime.js\");\n\nclass DateTimeHelper {\n  static getCurrentDateTime() {\n    const currentDateTime = new Date();\n    const offset = window.environmentData.timeZoneOffset;\n    const offsetMilliseconds = offset * 60 * 60 * 1000;\n    const utcDateTime = new Date(Date.UTC(currentDateTime.getUTCFullYear(), currentDateTime.getUTCMonth(), currentDateTime.getUTCDate(), currentDateTime.getUTCHours(), currentDateTime.getUTCMinutes(), currentDateTime.getUTCSeconds()));\n    const adjustedDateTime = new Date(utcDateTime.getTime() + offsetMilliseconds);\n    const year = adjustedDateTime.getUTCFullYear();\n    const month = String(adjustedDateTime.getUTCMonth() + 1).padStart(2, '0');\n    const day = String(adjustedDateTime.getUTCDate()).padStart(2, '0');\n    const hours = String(adjustedDateTime.getUTCHours()).padStart(2, '0');\n    const minutes = String(adjustedDateTime.getUTCMinutes()).padStart(2, '0');\n    const seconds = String(adjustedDateTime.getUTCSeconds()).padStart(2, '0');\n    const date = \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n    const time = \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n    return new Models_DateTime__WEBPACK_IMPORTED_MODULE_0__[\"default\"](date, time);\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DateTimeHelper);\n\n//# sourceURL=webpack://app/./src/Helpers/DateTimeHelper.js?");
     219eval("__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 Models_DateTime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Models/DateTime */ \"./src/Models/DateTime.js\");\n\nclass DateTimeHelper {\n  static getCurrentDateTime() {\n    const currentDateTime = new Date();\n    const offset = window.environmentData.timeZoneOffset;\n    const offsetMilliseconds = offset * 60 * 60 * 1000;\n    const utcDateTime = new Date(Date.UTC(currentDateTime.getUTCFullYear(), currentDateTime.getUTCMonth(), currentDateTime.getUTCDate(), currentDateTime.getUTCHours(), currentDateTime.getUTCMinutes(), currentDateTime.getUTCSeconds()));\n    const adjustedDateTime = new Date(utcDateTime.getTime() + offsetMilliseconds);\n    const year = adjustedDateTime.getUTCFullYear();\n    const month = String(adjustedDateTime.getUTCMonth() + 1).padStart(2, '0');\n    const day = String(adjustedDateTime.getUTCDate()).padStart(2, '0');\n    const hours = String(adjustedDateTime.getUTCHours()).padStart(2, '0');\n    const minutes = String(adjustedDateTime.getUTCMinutes()).padStart(2, '0');\n    const seconds = String(adjustedDateTime.getUTCSeconds()).padStart(2, '0');\n    const date = \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n    const time = \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n    return new Models_DateTime__WEBPACK_IMPORTED_MODULE_0__[\"default\"](date, time);\n  }\n  static addDaysToDateTime(dateTime, days) {\n    const newDate = new Date(dateTime.date);\n    newDate.setDate(newDate.getDate() + days);\n    return new Models_DateTime__WEBPACK_IMPORTED_MODULE_0__[\"default\"](newDate);\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DateTimeHelper);\n\n//# sourceURL=webpack://app/./src/Helpers/DateTimeHelper.js?");
    220220
    221221/***/ }),
     
    237237/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    238238
    239 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass DateTime {\n  constructor(dateTimeStringOrDate, timeString) {\n    if (timeString !== undefined) {\n      this.date = new Date(\"\".concat(dateTimeStringOrDate, \"T\").concat(timeString));\n    } else {\n      this.date = new Date(dateTimeStringOrDate);\n    }\n  }\n  getDate() {\n    const year = this.date.getFullYear();\n    const month = String(this.date.getMonth() + 1).padStart(2, '0'); // Months are zero-based\n    const day = String(this.date.getDate()).padStart(2, '0');\n    return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n  }\n  getTime() {\n    const hours = String(this.date.getHours()).padStart(2, '0');\n    const minutes = String(this.date.getMinutes()).padStart(2, '0');\n    const seconds = '00';\n    return \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DateTime);\n\n//# sourceURL=webpack://app/./src/Models/DateTime.js?");
     239eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass DateTime {\n  constructor(dateTimeStringOrDate, timeString) {\n    if (timeString !== undefined) {\n      this.date = new Date(\"\".concat(dateTimeStringOrDate, \"T\").concat(timeString));\n    } else {\n      this.date = new Date(dateTimeStringOrDate);\n    }\n  }\n  getDate() {\n    const year = this.date.getFullYear();\n    const month = String(this.date.getMonth() + 1).padStart(2, '0'); // Months are zero-based\n    const day = String(this.date.getDate()).padStart(2, '0');\n    return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n  }\n  getDateCzech() {\n    const year = this.date.getFullYear();\n    const month = String(this.date.getMonth() + 1);\n    const day = String(this.date.getDate());\n    return \"\".concat(day, \".\").concat(month, \".\").concat(year);\n  }\n  getTime() {\n    const hours = String(this.date.getHours()).padStart(2, '0');\n    const minutes = String(this.date.getMinutes()).padStart(2, '0');\n    const seconds = '00';\n    return \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n  }\n  getHoursAndMinutes() {\n    const hours = String(this.date.getHours());\n    const minutes = String(this.date.getMinutes()).padStart(2, '0');\n    return \"\".concat(hours, \":\").concat(minutes);\n  }\n  getDay() {\n    return this.date.getDate();\n  }\n  getMonth() {\n    return this.date.getMonth();\n  }\n  getYear() {\n    return this.date.getFullYear();\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DateTime);\n\n//# sourceURL=webpack://app/./src/Models/DateTime.js?");
    240240
    241241/***/ }),
     
    247247/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    248248
    249 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MemberLevel)\n/* harmony export */ });\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass MemberLevel {\n  constructor(data) {\n    var _data$id, _data$name, _data$parent_id;\n    _defineProperty(this, \"id\", void 0);\n    _defineProperty(this, \"name\", void 0);\n    _defineProperty(this, \"parentId\", void 0);\n    this.id = (_data$id = data === null || data === void 0 ? void 0 : data.id) !== null && _data$id !== void 0 ? _data$id : null;\n    this.name = (_data$name = data === null || data === void 0 ? void 0 : data.name) !== null && _data$name !== void 0 ? _data$name : null;\n    this.parentId = (_data$parent_id = data === null || data === void 0 ? void 0 : data.parent_id) !== null && _data$parent_id !== void 0 ? _data$parent_id : null;\n  }\n}\n\n//# sourceURL=webpack://app/./src/Models/MemberLevel.js?");
     249eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MemberLevel)\n/* harmony export */ });\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass MemberLevel {\n  constructor(data) {\n    var _data$id, _data$name, _data$parent_id, _data$unlock_type;\n    _defineProperty(this, \"id\", void 0);\n    _defineProperty(this, \"name\", void 0);\n    _defineProperty(this, \"parentId\", void 0);\n    _defineProperty(this, \"unlockType\", void 0);\n    this.id = (_data$id = data === null || data === void 0 ? void 0 : data.id) !== null && _data$id !== void 0 ? _data$id : null;\n    this.name = (_data$name = data === null || data === void 0 ? void 0 : data.name) !== null && _data$name !== void 0 ? _data$name : null;\n    this.parentId = (_data$parent_id = data === null || data === void 0 ? void 0 : data.parent_id) !== null && _data$parent_id !== void 0 ? _data$parent_id : null;\n    this.unlockType = (_data$unlock_type = data === null || data === void 0 ? void 0 : data.unlock_type) !== null && _data$unlock_type !== void 0 ? _data$unlock_type : null;\n  }\n}\n\n//# sourceURL=webpack://app/./src/Models/MemberLevel.js?");
    250250
    251251/***/ }),
     
    307307/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    308308
    309 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass AlertService {\n  static async showAlert(message) {\n    let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'error';\n    var showDuration = 2;\n    if (type === 'error') {\n      showDuration = 3;\n    }\n    var alert = document.querySelector('#alert');\n    var alertContent = document.querySelector('#alert-content');\n    if (this.alertsOpened > 0) {\n      this.close(alert);\n      setTimeout(() => {\n        this.open(alert, alertContent, message, type);\n      }, 200);\n    } else {\n      this.open(alert, alertContent, message, type);\n    }\n    this.waitToClose(showDuration, alert);\n  }\n  static async waitToClose(showDuration, alert) {\n    setTimeout(() => {\n      if (this.alertsOpened === 1) {\n        this.close(alert);\n      }\n      this.alertsOpened -= 1;\n    }, 1000 * showDuration);\n  }\n  static async close(alert) {\n    alert.className = alert.className.replace('alert-visible', 'alert-hidden');\n  }\n  static async open(alert, alertContent, message, type) {\n    this.alertsOpened += 1;\n    alertContent.innerHTML = message;\n    alert.className = 'alert-visible ' + type;\n  }\n}\n_defineProperty(AlertService, \"alertsOpened\", 0);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertService);\n\n//# sourceURL=webpack://app/./src/Services/AlertService.js?");
     309eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass AlertService {\n  static async showAlert(message) {\n    let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'error';\n    var showDuration = 2;\n    if (type === 'error' || type === 'warning') {\n      showDuration = 3;\n    }\n    var alert = document.querySelector('#alert');\n    var alertContent = document.querySelector('#alert-content');\n    if (this.alertsOpened > 0) {\n      this.close(alert);\n      setTimeout(() => {\n        this.open(alert, alertContent, message, type);\n      }, 200);\n    } else {\n      this.open(alert, alertContent, message, type);\n    }\n    this.waitToClose(showDuration, alert);\n  }\n  static async waitToClose(showDuration, alert) {\n    setTimeout(() => {\n      if (this.alertsOpened === 1) {\n        this.close(alert);\n      }\n      this.alertsOpened -= 1;\n    }, 1000 * showDuration);\n  }\n  static async close(alert) {\n    alert.className = alert.className.replace('alert-visible', 'alert-hidden');\n    if (sessionStorage.getItem('fmLastAlertMessage') !== null) {\n      sessionStorage.removeItem('fmLastAlertMessage');\n      sessionStorage.removeItem('fmLastAlertType');\n    }\n  }\n  static async open(alert, alertContent, message, type) {\n    this.alertsOpened += 1;\n    alertContent.innerHTML = message;\n    alert.className = 'alert-visible ' + type;\n  }\n}\n_defineProperty(AlertService, \"alertsOpened\", 0);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AlertService);\n\n//# sourceURL=webpack://app/./src/Services/AlertService.js?");
    310310
    311311/***/ }),
     
    317317/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    318318
    319 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 Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Enums/RequestMethodType */ \"./src/Enums/RequestMethodType.js\");\n/* harmony import */ var Services_AlertService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Services/AlertService */ \"./src/Services/AlertService.js\");\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\nconst axios = __webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\");\nclass AxiosService {\n  constructor() {\n    _defineProperty(this, \"config\", {\n      headers: {\n        'Content-Type': 'application/json',\n        'X-WP-Nonce': window.apiInternalAccessNonce\n      },\n      withCredentials: true\n    });\n  }\n  async sendRequest(endpoint, method, data) {\n    var url = window.location.origin + '/?rest_route=/fapi/v2/' + endpoint;\n    switch (method) {\n      case Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_0__.RequestMethodType.GET:\n        return await this.getRequest(url);\n      case Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_0__.RequestMethodType.POST:\n        return await this.postRequest(url, data);\n    }\n  }\n  async getRequest(url) {\n    var responseData = null;\n    await axios.get(url, this.config).then(response => {\n      var _response$data;\n      responseData = response.data;\n      this.handleAlert(response === null || response === void 0 || (_response$data = response.data) === null || _response$data === void 0 || (_response$data = _response$data.data) === null || _response$data === void 0 ? void 0 : _response$data.alert);\n    }).catch(error => {\n      var _error$response;\n      this.handleAlert((_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.alert);\n    });\n    return responseData;\n  }\n  async postRequest(url, data) {\n    var responseData = null;\n    await axios.post(url, data, this.config).then(response => {\n      var _response$data2;\n      responseData = response.data;\n      this.handleAlert(response === null || response === void 0 || (_response$data2 = response.data) === null || _response$data2 === void 0 || (_response$data2 = _response$data2.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.alert);\n    }).catch(error => {\n      var _error$response2;\n      console.log(error);\n      this.handleAlert((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.alert);\n    });\n    return responseData;\n  }\n  handleAlert(alert) {\n    if ((alert === null || alert === void 0 ? void 0 : alert.type) === 'error' || (alert === null || alert === void 0 ? void 0 : alert.type) === 'success') {\n      Services_AlertService__WEBPACK_IMPORTED_MODULE_1__[\"default\"].showAlert(alert.message, alert.type);\n    }\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosService);\n\n//# sourceURL=webpack://app/./src/Services/AxiosService.js?");
     319eval("__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 Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! Enums/RequestMethodType */ \"./src/Enums/RequestMethodType.js\");\n/* harmony import */ var Services_AlertService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Services/AlertService */ \"./src/Services/AlertService.js\");\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\nconst axios = __webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\");\nclass AxiosService {\n  constructor() {\n    _defineProperty(this, \"config\", {\n      headers: {\n        'Content-Type': 'application/json',\n        'X-WP-Nonce': window.apiInternalAccessNonce\n      },\n      withCredentials: true\n    });\n  }\n  async sendRequest(endpoint, method, data) {\n    var url = window.location.origin + '/?rest_route=/fapi/v2/' + endpoint;\n    switch (method) {\n      case Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_0__.RequestMethodType.GET:\n        return await this.getRequest(url);\n      case Enums_RequestMethodType__WEBPACK_IMPORTED_MODULE_0__.RequestMethodType.POST:\n        return await this.postRequest(url, data);\n    }\n  }\n  async getRequest(url) {\n    var responseData = null;\n    await axios.get(url, this.config).then(response => {\n      var _response$data;\n      responseData = response.data;\n      this.handleAlert(response === null || response === void 0 || (_response$data = response.data) === null || _response$data === void 0 || (_response$data = _response$data.data) === null || _response$data === void 0 ? void 0 : _response$data.alert);\n    }).catch(error => {\n      var _error$response;\n      this.handleAlert((_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.alert);\n    });\n    return responseData;\n  }\n  async postRequest(url, data) {\n    var responseData = null;\n    await axios.post(url, data, this.config).then(response => {\n      var _response$data2;\n      responseData = response.data;\n      this.handleAlert(response === null || response === void 0 || (_response$data2 = response.data) === null || _response$data2 === void 0 || (_response$data2 = _response$data2.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.alert);\n    }).catch(error => {\n      var _error$response2;\n      console.log(error);\n      this.handleAlert((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.alert);\n    });\n    return responseData;\n  }\n  handleAlert(alert) {\n    if ((alert === null || alert === void 0 ? void 0 : alert.type) === 'error' || (alert === null || alert === void 0 ? void 0 : alert.type) === 'success' || (alert === null || alert === void 0 ? void 0 : alert.type) === 'warning') {\n      sessionStorage.setItem('fmLastAlertMessage', alert.message);\n      sessionStorage.setItem('fmLastAlertType', alert.type);\n      Services_AlertService__WEBPACK_IMPORTED_MODULE_1__[\"default\"].showAlert(alert.message, alert.type);\n    }\n  }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosService);\n\n//# sourceURL=webpack://app/./src/Services/AxiosService.js?");
    320320
    321321/***/ }),
     
    337337/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    338338
    339 eval("__webpack_require__.r(__webpack_exports__);\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 react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _Components_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/Settings */ \"./src/Components/Settings.js\");\n/* harmony import */ var _Components_UserSettings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/UserSettings */ \"./src/Components/UserSettings.js\");\n/* harmony import */ var Components_Elements_Alert__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Components/Elements/Alert */ \"./src/Components/Elements/Alert.js\");\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n  window.environmentData = environmentData;\n  var settingsContainer = document.getElementById('fm-settings');\n  if (typeof settingsContainer !== 'undefined' && settingsContainer !== null) {\n    const wpBody = document.getElementById('wpbody');\n    const alertContainer = document.createElement('div');\n    ReactDOM.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Alert__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), alertContainer);\n    wpBody.insertBefore(alertContainer, wpBody.firstChild);\n    const root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(settingsContainer);\n    root.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_Settings__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n  }\n  var userSettingsContainer = document.getElementById('fm-user-settings');\n  if (typeof userSettingsContainer !== 'undefined' && userSettingsContainer !== null) {\n    const root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(userSettingsContainer);\n    root.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_UserSettings__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null));\n  }\n});\n\n//# sourceURL=webpack://app/./src/index.js?");
     339eval("__webpack_require__.r(__webpack_exports__);\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 react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _Components_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/Settings */ \"./src/Components/Settings.js\");\n/* harmony import */ var _Components_UserSettings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/UserSettings */ \"./src/Components/UserSettings.js\");\n/* harmony import */ var Components_Elements_Alert__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Components/Elements/Alert */ \"./src/Components/Elements/Alert.js\");\n\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n  window.environmentData = environmentData;\n  var settingsContainer = document.getElementById('fm-settings');\n  if (typeof settingsContainer !== 'undefined' && settingsContainer !== null) {\n    const root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(settingsContainer);\n    root.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_Settings__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n  }\n  var userSettingsContainer = document.getElementById('fm-user-settings');\n  if (typeof userSettingsContainer !== 'undefined' && userSettingsContainer !== null) {\n    const root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(userSettingsContainer);\n    root.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_UserSettings__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null));\n  }\n});\n\n//# sourceURL=webpack://app/./src/index.js?");
    340340
    341341/***/ }),
     
    357357/***/ ((module, __webpack_exports__, __webpack_require__) => {
    358358
    359 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___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#alert{display:grid;position:fixed;align-items:center;justify-content:center;right:40px;top:50px;opacity:0;transition:opacity .2s,width .2s;overflow:hidden;border-top:none;border-bottom:none;border-left:none;border-right:1px solid #0074e2;border-right-width:5px;border-radius:5px;z-index:9;height:40px;width:0px;background-color:#fff;box-shadow:0px 0px 7px rgba(0,0,0,.37)}#alert div{overflow:hidden;word-break:break-all;height:18px}#alert.error{border-color:#fa5329}#alert.success{border-color:#aad20e}#alert.success strong{display:none}#alert.alert-visible{opacity:1;width:300px;transition:opacity .3s,width .3s}.fm-settings{display:grid;grid-template-columns:min-content auto;grid-template-rows:60px auto;margin:20px;font-family:\"proxima_novaregular\",sans-serif;font-size:15px}.fm-settings *{font-family:\"Roboto\",sans-serif !important}.fm-settings .fapi-logo{grid-column:1/2;grid-row:1/2;align-self:center;justify-self:center}.fm-settings .navigation{grid-column:1/2;grid-row:2/3;margin:0px}.navigation-item{display:grid;grid-template-columns:auto 72px;grid-template-rows:90px;height:90px;padding-left:20px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;margin-bottom:0px;cursor:pointer;transition:background-color .2s}.navigation-item span{grid-row:1/2;grid-column:1/2;justify-self:center;align-self:center;transition:color .2s}.navigation-item object{width:24px;grid-row:1/2;grid-column:2/3;justify-self:center;align-self:center;filter:invert(84%) sepia(8%) saturate(10%) hue-rotate(196deg) brightness(93%) contrast(81%);transition:filter .3s}.navigation-item.selected{background-color:#fff}.navigation-item.selected span{color:#0074e2}.navigation-item.selected object{filter:invert(33%) sepia(79%) saturate(4286%) hue-rotate(196deg) brightness(95%) contrast(101%)}.navigation-item:hover:not(.selected){background-color:#e7e7e7}.sub-navigation{grid-row:1/2;grid-column:2/3;margin:0px;display:flex}.sub-navigation .sub-navigation-item{padding:8px 24px;line-height:20px;display:flex;align-items:center;justify-content:center;border-top-left-radius:.25rem;border-top-right-radius:.25rem;margin:0px;transition:background-color .2s,color .2s;cursor:pointer}.sub-navigation .sub-navigation-item.selected{color:#0074e2;background-color:#fff}.sub-navigation .sub-navigation-item:hover:not(.selected){background-color:#e7e7e7}.content{background-color:#fff;padding:20px;grid-column:2/3;grid-row:2/3;min-width:750px}.content-help{width:200px;padding-left:30px;border-left:1px solid #e7e7e7;margin-left:30px}.content-help .inner{display:grid;grid-template-columns:auto;grid-template-rows:auto auto auto;align-items:center}.content-help .inner .vertical-divider{margin:20px 0px}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://app/./src/Styles/settings.css?./node_modules/css-loader/dist/cjs.js");
     359eval("__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___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#alert{display:inline;position:fixed;right:40px;top:50px;opacity:0;transition:opacity .2s,width .2s;border-top:none;border-bottom:none;border-left:none;border-right:1px solid #0074e2;border-right-width:5px;border-radius:5px;z-index:9;min-height:18.2px;width:0px;background-color:#fff;box-shadow:0px 0px 7px rgba(0,0,0,.37);padding:10px;text-align:center}#alert div{height:18px;opacity:0;transition:opacity .1s}#alert.error{border-color:#fa5329}#alert.success{border-color:#aad20e}#alert.success strong{display:none}#alert.warning{border-color:#f2bb3e}#alert.warning strong{display:none}#alert.alert-visible{opacity:1;width:300px;transition:opacity .3s,width .3s}#alert.alert-visible div{opacity:1;transition:opacity .5s;height:fit-content}.fm-settings{display:grid;grid-template-columns:min-content auto;grid-template-rows:60px auto;margin:20px;font-family:\"proxima_novaregular\",sans-serif;font-size:15px}.fm-settings *{font-family:\"Roboto\",sans-serif !important}.fm-settings .fapi-logo{grid-column:1/2;grid-row:1/2;align-self:center;justify-self:center}.fm-settings .navigation{grid-column:1/2;grid-row:2/3;margin:0px}.navigation-item{display:grid;grid-template-columns:auto 72px;grid-template-rows:90px;height:90px;padding-left:20px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;margin-bottom:0px;cursor:pointer;transition:background-color .2s}.navigation-item span{grid-row:1/2;grid-column:1/2;justify-self:center;align-self:center;transition:color .2s}.navigation-item object{width:24px;grid-row:1/2;grid-column:2/3;justify-self:center;align-self:center;filter:invert(84%) sepia(8%) saturate(10%) hue-rotate(196deg) brightness(93%) contrast(81%);transition:filter .3s}.navigation-item.selected{background-color:#fff}.navigation-item.selected span{color:#0074e2}.navigation-item.selected object{filter:invert(33%) sepia(79%) saturate(4286%) hue-rotate(196deg) brightness(95%) contrast(101%)}.navigation-item:hover:not(.selected){background-color:#e7e7e7}.sub-navigation{grid-row:1/2;grid-column:2/3;margin:0px;display:flex}.sub-navigation .sub-navigation-item{padding:8px 24px;line-height:20px;display:flex;align-items:center;justify-content:center;border-top-left-radius:.25rem;border-top-right-radius:.25rem;margin:0px;transition:background-color .2s,color .2s;cursor:pointer}.sub-navigation .sub-navigation-item.selected{color:#0074e2;background-color:#fff}.sub-navigation .sub-navigation-item:hover:not(.selected){background-color:#e7e7e7}.content{background-color:#fff;padding:20px;grid-column:2/3;grid-row:2/3;min-width:750px}.content-help{width:200px;padding-left:30px;border-left:1px solid #e7e7e7;margin-left:30px}.content-help .inner{display:grid;grid-template-columns:auto;grid-template-rows:auto auto auto;align-items:center}.content-help .inner .vertical-divider{margin:20px 0px}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://app/./src/Styles/settings.css?./node_modules/css-loader/dist/cjs.js");
    360360
    361361/***/ }),
     
    367367/***/ ((module, __webpack_exports__, __webpack_require__) => {
    368368
    369 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___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#fm-user-settings .user-settings .user-section{border:1px solid #bdbdbd;margin-bottom:20px;border-radius:5px;overflow:hidden}#fm-user-settings .user-settings .user-section .user-section-settings,#fm-user-settings .user-settings .user-section .user-level{display:grid;grid-template-columns:50px auto 360px;align-items:center}#fm-user-settings .user-settings .user-section .fm-checkbox{justify-self:center}#fm-user-settings .user-settings .user-section .user-input-container{display:inline-grid;grid-template-columns:max-content;grid-template-rows:auto;width:max-content;margin-bottom:5px}#fm-user-settings .user-settings .user-section .user-input-container>label{font-size:10px;color:#757575;padding-left:3px}#fm-user-settings .user-settings .user-section .user-input-container .is-unlimited{height:30px;width:130px;display:grid;grid-template-columns:15px auto;align-items:center;gap:5px;margin-left:5px}#fm-user-settings .user-settings .user-section .user-input-container .is-unlimited label{color:#757575}#fm-user-settings .user-settings .user-section .fm-input{background-color:rgba(0,0,0,0)}#fm-user-settings .user-settings .user-section .user-section-settings{background-color:#fff;padding:10px 5px;border-bottom:1px solid #bdbdbd}#fm-user-settings .user-settings .user-section .user-level:nth-child(even){background-color:#e7e7e7}#fm-user-settings .user-settings .user-section .user-level{padding:7px;padding-left:20px;height:55px}#fm-user-settings .user-settings .user-section .user-section-name,#fm-user-settings .user-settings .user-section .user-level-name{font-size:15px}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://app/./src/Styles/userSettings.css?./node_modules/css-loader/dist/cjs.js");
     369eval("__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___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#fm-user-settings .user-settings .user-section{border:1px solid #bdbdbd;margin-bottom:20px;border-radius:5px;overflow:hidden}#fm-user-settings .user-settings .user-section .user-section-settings,#fm-user-settings .user-settings .user-section .user-level{display:grid;grid-template-columns:50px auto 360px;align-items:center}#fm-user-settings .user-settings .user-section .fm-checkbox{justify-self:center}#fm-user-settings .user-settings .user-section .user-inputs{position:relative}#fm-user-settings .user-settings .user-section .user-inputs .user-settings-automatic-unlocking-overlay{border-radius:5px;color:#757575;position:absolute;font-size:13.5px;top:0;left:0;width:100%;height:100%;z-index:5;display:flex;align-items:center;justify-content:center}#fm-user-settings .user-settings .user-section .user-input-container{display:inline-grid;grid-template-columns:max-content;grid-template-rows:auto;width:max-content;margin-bottom:5px}#fm-user-settings .user-settings .user-section .user-input-container>label{font-size:10px;color:#757575;padding-left:3px}#fm-user-settings .user-settings .user-section .user-input-container .is-unlimited{height:30px;width:130px;display:grid;grid-template-columns:15px auto;align-items:center;gap:5px;margin-left:5px}#fm-user-settings .user-settings .user-section .user-input-container .is-unlimited label{color:#757575}#fm-user-settings .user-settings .user-section .fm-input{background-color:rgba(0,0,0,0)}#fm-user-settings .user-settings .user-section .user-section-settings{background-color:#fff;padding:10px 5px;border-bottom:1px solid #bdbdbd}#fm-user-settings .user-settings .user-section .user-level:nth-child(even){background-color:#e7e7e7}#fm-user-settings .user-settings .user-section .user-level{padding:7px;padding-left:20px;height:55px}#fm-user-settings .user-settings .user-section .user-section-name,#fm-user-settings .user-settings .user-section .user-level-name{font-size:15px}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://app/./src/Styles/userSettings.css?./node_modules/css-loader/dist/cjs.js");
    370370
    371371/***/ }),
  • fapi-member/trunk/app/dist/src_Components_Content_Levels_Levels_LevelsContent_Unlocking_js.bundle.js

    r3129661 r3142904  
    1616/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
    1717
    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 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_Checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/Elements/SubmitButton */ \"./src/Components/Elements/SubmitButton.js\");\n/* harmony import */ var Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Components/Elements/Loading */ \"./src/Components/Elements/Loading.js\");\n/* harmony import */ var Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Clients/MemberSectionClient */ \"./src/Clients/MemberSectionClient.js\");\n/* harmony import */ var Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Enums/UnlockingType */ \"./src/Enums/UnlockingType.js\");\n/* harmony import */ var Components_Elements_HourPicker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Components/Elements/HourPicker */ \"./src/Components/Elements/HourPicker.js\");\n\n\n\n\n\n\n\nfunction Unlocking(_ref) {\n  let {\n    level\n  } = _ref;\n  if (level.parentId === null) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n      className: \"levels-content level-not-selected\"\n    }, \"Zvolili jste \\u010Dlenskou sekci, pros\\xEDm zvolte \\xFArove\\u0148.\");\n  }\n  const [buttonUnlock, setButtonUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [timeUnlockType, setTimeUnlockType] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [daysUnlock, setDaysUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n  const [dateUnlock, setDateUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [afterDateUnlock, setAfterDateUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [hourUnlock, setHourUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [load, setLoad] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n  const sectionClient = new Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    setTimeUnlockType(null);\n    setLoad(true);\n  }, [level.id]);\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    const reloadUnlocking = async () => {\n      await sectionClient.getUnlocking(level.id).then(data => {\n        var _data$UnlockingType$A;\n        setButtonUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.BUTTON_UNLOCK]);\n        setTimeUnlockType(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.TIME_UNLOCK]);\n        setDateUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.DATE_UNLOCK]);\n        setDaysUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.DAYS_UNLOCK]);\n        setHourUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.HOUR_UNLOCK]);\n        setAfterDateUnlock((_data$UnlockingType$A = data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.AFTER_DATE_UNLOCK]) !== null && _data$UnlockingType$A !== void 0 ? _data$UnlockingType$A : false);\n      });\n      setLoad(false);\n    };\n    if (load === true) {\n      reloadUnlocking();\n    }\n  }, [load]);\n  const handleChangeButtonUnlock = event => {\n    setButtonUnlock(event.target.checked);\n  };\n  const handleChangeAfterDateUnlock = event => {\n    setAfterDateUnlock(event.target.checked);\n  };\n  const handleChangeTimeUnlock = event => {\n    setTimeUnlockType(event.target.value);\n  };\n  const handleChangeDaysUnlock = event => {\n    setDaysUnlock(parseInt(event.target.value));\n  };\n  const handleChangeDateUnlock = event => {\n    setDateUnlock(event.target.value);\n  };\n  const handleChangeHourUnlock = event => {\n    setHourUnlock(parseInt(event.target.value));\n  };\n  const handleUpdateUnlocking = async event => {\n    event.preventDefault();\n    await sectionClient.updateUnlocking(level.id, buttonUnlock, timeUnlockType, daysUnlock, dateUnlock, afterDateUnlock, hourUnlock);\n    setLoad(true);\n  };\n  if (timeUnlockType === null || buttonUnlock === null || afterDateUnlock === null) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null);\n  }\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"form\", {\n    className: \"levels-content levels-unlocking\",\n    onSubmit: handleUpdateUnlocking\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", null, \"Odemknut\\xED tla\\u010D\\xEDtkem\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"button-unlock-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"is-button-unlock\"\n  }, \"Povolit:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    checked: buttonUnlock,\n    id: \"is-button-unlock\",\n    onClick: handleChangeButtonUnlock\n  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"button_unlock_settings\",\n    hidden: !buttonUnlock\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"K odem\\u010Den\\xED \\xFArovn\\u011B mus\\xED u\\u017Eivatel ji\\u017E m\\xEDt p\\u0159\\xEDstup do dan\\xE9 sekce.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Shortcode tla\\u010D\\xEDtka pro uvoln\\u011Bn\\xED obsahu: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"code\", null, '[fapi-member-unlock-level level=' + level.id + ']')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"vertical-divider\"\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", null, \"\\u010Casov\\u011B omezen\\xE9 odemyk\\xE1n\\xED \\xFArovn\\u011B\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"radio\",\n    name: \"time_unlock\",\n    value: \"disallow\",\n    id: \"disallow\",\n    onClick: handleChangeTimeUnlock,\n    defaultChecked: timeUnlockType === 'disallow'\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"disallow\"\n  }, \"Nepovolovat\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"radio\",\n    name: \"time_unlock\",\n    value: \"date\",\n    id: \"date\",\n    onClick: handleChangeTimeUnlock,\n    defaultChecked: timeUnlockType === 'date'\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"date\"\n  }, \"Od pevn\\xE9ho data\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"radio\",\n    name: \"time_unlock\",\n    value: \"days\",\n    id: \"days\",\n    onClick: handleChangeTimeUnlock,\n    defaultChecked: timeUnlockType === 'days'\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"days\"\n  }, \"Po\\u010Det dn\\xED od registrace\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"date-settings-content\",\n    hidden: timeUnlockType !== 'date'\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"Datum kdy bude sekce/\\xFArove\\u0148 odem\\u010Dena pro v\\u0161echny u\\u017Eivatele.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"date\",\n    name: \"unlock-date\",\n    defaultValue: dateUnlock,\n    onInput: handleChangeDateUnlock\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    style: {\n      margin: '0px 5px'\n    }\n  }, \"v\"), timeUnlockType === 'date' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_HourPicker__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    id: 'unlock-hour',\n    onChange: handleChangeHourUnlock,\n    defaultValue: hourUnlock\n  }) : null, /*#__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(\"div\", {\n    className: \"button-unlock-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    id: \"after-date-unlocking\",\n    checked: afterDateUnlock,\n    small: true,\n    onClick: handleChangeAfterDateUnlock\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n    style: {\n      margin: '0px'\n    }\n  }, \"Neodemykat pro u\\u017Eivatele registrovan\\xE9 po uplynut\\xED data\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"days-settings-content\",\n    hidden: timeUnlockType !== 'days'\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"Po\\u010Det dn\\xED od registrace u\\u017Eivatele do \\u010Dlensk\\xE9 sekce, po kter\\xFDch m\\xE1 b\\xFDt vybran\\xE1 sekce/\\xFArove\\u0148 zp\\u0159\\xEDstupn\\u011Bna.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"number\",\n    min: \"0\",\n    max: \"100\",\n    name: \"days-to-unlock\",\n    defaultValue: daysUnlock,\n    onInput: e => {\n      e.target.value = Math.abs(e.target.value);\n      handleChangeDaysUnlock(e);\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    style: {\n      margin: '0px 5px'\n    }\n  }, \"dn\\xED po registraci v\"), timeUnlockType === 'days' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_HourPicker__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    id: 'unlock-hour',\n    onChange: handleChangeHourUnlock,\n    defaultValue: hourUnlock\n  }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"0 dn\\xED po registraci v 0:00 = Sekce bude p\\u0159\\xEDstupn\\xE1 ihned po registraci\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"5 dn\\xED po registraci v 8:00 = Sekce bude p\\u0159\\xEDstupn\\xE1 5. den po registraci v 8 hodin r\\xE1no\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"vertical-divider\"\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    text: 'Uložit',\n    show: !load,\n    centered: true,\n    big: true\n  }));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Unlocking);\n\n//# sourceURL=webpack://app/./src/Components/Content/Levels/Levels/LevelsContent/Unlocking.js?");
     18eval("__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_Checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Components/Elements/Checkbox */ \"./src/Components/Elements/Checkbox.js\");\n/* harmony import */ var Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Components/Elements/SubmitButton */ \"./src/Components/Elements/SubmitButton.js\");\n/* harmony import */ var Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Components/Elements/Loading */ \"./src/Components/Elements/Loading.js\");\n/* harmony import */ var Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Clients/MemberSectionClient */ \"./src/Clients/MemberSectionClient.js\");\n/* harmony import */ var Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Enums/UnlockingType */ \"./src/Enums/UnlockingType.js\");\n/* harmony import */ var Components_Elements_HourPicker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Components/Elements/HourPicker */ \"./src/Components/Elements/HourPicker.js\");\n/* harmony import */ var Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Helpers/DateTimeHelper */ \"./src/Helpers/DateTimeHelper.js\");\n\n\n\n\n\n\n\n\nfunction Unlocking(_ref) {\n  let {\n    level\n  } = _ref;\n  if (level.parentId === null) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n      className: \"levels-content level-not-selected\"\n    }, \"Zvolili jste \\u010Dlenskou sekci, pros\\xEDm zvolte \\xFArove\\u0148.\");\n  }\n  const [buttonUnlock, setButtonUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [timeUnlockType, setTimeUnlockType] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [daysUnlock, setDaysUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n  const [dateUnlock, setDateUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [afterDateUnlock, setAfterDateUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [hourUnlock, setHourUnlock] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n  const [load, setLoad] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n  const sectionClient = new Clients_MemberSectionClient__WEBPACK_IMPORTED_MODULE_4__[\"default\"]();\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    setTimeUnlockType(null);\n    setLoad(true);\n  }, [level.id]);\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n    const reloadUnlocking = async () => {\n      await sectionClient.getUnlocking(level.id).then(data => {\n        var _data$UnlockingType$A;\n        setButtonUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.BUTTON_UNLOCK]);\n        setTimeUnlockType(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.TIME_UNLOCK]);\n        setDateUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.DATE_UNLOCK]);\n        setDaysUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.DAYS_UNLOCK]);\n        setHourUnlock(data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.HOUR_UNLOCK]);\n        setAfterDateUnlock((_data$UnlockingType$A = data[Enums_UnlockingType__WEBPACK_IMPORTED_MODULE_5__.UnlockingType.AFTER_DATE_UNLOCK]) !== null && _data$UnlockingType$A !== void 0 ? _data$UnlockingType$A : false);\n      });\n      setLoad(false);\n    };\n    if (load === true) {\n      reloadUnlocking();\n    }\n  }, [load]);\n  const handleChangeButtonUnlock = event => {\n    setButtonUnlock(event.target.checked);\n  };\n  const handleChangeAfterDateUnlock = event => {\n    setAfterDateUnlock(event.target.checked);\n  };\n  const handleChangeTimeUnlock = event => {\n    setTimeUnlockType(event.target.value);\n  };\n  const handleChangeDaysUnlock = event => {\n    setDaysUnlock(parseInt(event.target.value));\n  };\n  const handleChangeDateUnlock = event => {\n    setDateUnlock(event.target.value);\n  };\n  const handleChangeHourUnlock = event => {\n    setHourUnlock(parseInt(event.target.value));\n  };\n  const handleUpdateUnlocking = async event => {\n    event.preventDefault();\n    await sectionClient.updateUnlocking(level.id, buttonUnlock, timeUnlockType, daysUnlock, dateUnlock, afterDateUnlock, hourUnlock);\n    setLoad(true);\n  };\n  if (timeUnlockType === null || buttonUnlock === null || afterDateUnlock === null) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Loading__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null);\n  }\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"form\", {\n    className: \"levels-content levels-unlocking\",\n    onSubmit: handleUpdateUnlocking\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", null, \"Odemknut\\xED tla\\u010D\\xEDtkem\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"button-unlock-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"is-button-unlock\"\n  }, \"Povolit:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    checked: buttonUnlock,\n    id: \"is-button-unlock\",\n    onClick: handleChangeButtonUnlock\n  })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"button_unlock_settings\",\n    hidden: !buttonUnlock\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"K odem\\u010Den\\xED \\xFArovn\\u011B mus\\xED u\\u017Eivatel ji\\u017E m\\xEDt p\\u0159\\xEDstup do dan\\xE9 sekce.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, \"Shortcode tla\\u010D\\xEDtka pro uvoln\\u011Bn\\xED obsahu: \"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"code\", null, '[fapi-member-unlock-level level=' + level.id + ']')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"vertical-divider\"\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", null, \"\\u010Casov\\u011B omezen\\xE9 odemyk\\xE1n\\xED \\xFArovn\\u011B\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"radio\",\n    name: \"time_unlock\",\n    value: \"disallow\",\n    id: \"disallow\",\n    onClick: handleChangeTimeUnlock,\n    defaultChecked: timeUnlockType === 'disallow'\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"disallow\"\n  }, \"Nepovolovat\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"radio\",\n    name: \"time_unlock\",\n    value: \"date\",\n    id: \"date\",\n    onClick: handleChangeTimeUnlock,\n    defaultChecked: timeUnlockType === 'date'\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"date\"\n  }, \"Od pevn\\xE9ho data\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"radio\",\n    name: \"time_unlock\",\n    value: \"days\",\n    id: \"days\",\n    onClick: handleChangeTimeUnlock,\n    defaultChecked: timeUnlockType === 'days'\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n    htmlFor: \"days\"\n  }, \"Po\\u010Det dn\\xED od registrace\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"date-settings-content\",\n    hidden: timeUnlockType !== 'date'\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"Datum kdy bude sekce/\\xFArove\\u0148 odem\\u010Dena pro v\\u0161echny \\u010Dleny sekce.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"date\",\n    name: \"unlock-date\",\n    defaultValue: dateUnlock,\n    onInput: handleChangeDateUnlock\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    style: {\n      margin: '0px 5px'\n    }\n  }, \"v\"), timeUnlockType === 'date' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_HourPicker__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    id: 'unlock-hour',\n    onChange: handleChangeHourUnlock,\n    defaultValue: hourUnlock\n  }) : null, /*#__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(\"div\", {\n    className: \"button-unlock-container\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_Checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    id: \"after-date-unlocking\",\n    checked: afterDateUnlock,\n    small: true,\n    onClick: handleChangeAfterDateUnlock\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n    style: {\n      margin: '0px'\n    }\n  }, \"Neodemykat pro u\\u017Eivatele registrovan\\xE9 po uplynut\\xED data\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    id: \"days-settings-content\",\n    hidden: timeUnlockType !== 'days'\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"Po\\u010Det dn\\xED od registrace u\\u017Eivatele do \\u010Dlensk\\xE9 sekce, po kter\\xFDch m\\xE1 b\\xFDt vybran\\xE1 sekce/\\xFArove\\u0148 zp\\u0159\\xEDstupn\\u011Bna.\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n    className: \"fm-input\",\n    type: \"number\",\n    min: \"0\",\n    max: \"100\",\n    name: \"days-to-unlock\",\n    defaultValue: daysUnlock,\n    onInput: e => {\n      e.target.value = Math.abs(e.target.value);\n      handleChangeDaysUnlock(e);\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    style: {\n      margin: '0px 5px'\n    }\n  }, \"dn\\xED po registraci v\"), timeUnlockType === 'days' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_HourPicker__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    id: 'unlock-hour',\n    onChange: handleChangeHourUnlock,\n    defaultValue: hourUnlock\n  }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, \"Pokud bude u\\u017Eivatel do sekce registrov\\xE1n \", Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_7__[\"default\"].getCurrentDateTime().getDateCzech(), \", \\xFArove\\u0148 bude odem\\u010Dena \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n    style: {\n      color: 'black'\n    }\n  }, Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_7__[\"default\"].addDaysToDateTime(Helpers_DateTimeHelper__WEBPACK_IMPORTED_MODULE_7__[\"default\"].getCurrentDateTime(), daysUnlock).getDateCzech(), \" v \", hourUnlock, \":00 \"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    className: \"vertical-divider\"\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Components_Elements_SubmitButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n    text: 'Uložit',\n    show: !load,\n    centered: true,\n    big: true\n  }));\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Unlocking);\n\n//# sourceURL=webpack://app/./src/Components/Content/Levels/Levels/LevelsContent/Unlocking.js?");
    1919
    2020/***/ }),
  • fapi-member/trunk/fapi-member.php

    r3142275 r3142904  
    1515 * Plugin URI:        https://fapi.cz/
    1616 * Description:       Plugin FAPI pro jednoduchou správu členských sekcí na webu.
    17  * Version:           2.1.12
     17 * Version:           2.1.13
    1818 * Requires at least: 5.9
    1919 * Requires PHP:      8.1
     
    3030require __DIR__ . '/src/Utils/functions.php';
    3131
    32 define('FAPI_MEMBER_PLUGIN_VERSION', '2.1.12');
     32define('FAPI_MEMBER_PLUGIN_VERSION', '2.1.13');
    3333
    3434$FapiPlugin = new FapiMemberPlugin();
  • fapi-member/trunk/readme.txt

    r3142275 r3142904  
    66Requires PHP: 8.1
    77License: GPLv2 or later
    8 Stable tag: 2.1.12
     8Stable tag: 2.1.13
    99
    1010Plugin FAPI pro jednoduchou správu členských sekcí na webu.
     
    2727== Changelog ==
    2828
     29= 2.1.13 =
     30* Added alerts to user settings
     31* Added UI elements communicating additional information about automatic level unlocking
     32* When a level is automatically unlocked, the expiration date is now set to the expiration date of it's section (instead of "Bez expirace")
     33* Membership now expires at the end of the expiration date
     34
    2935= 2.1.12 =
    3036* Added support for Divi Builder (hiding/showing elements based user's memberships)
     
    3743
    3844= 2.1.9 =
    39 * Added internal debuging features
     45* Added internal debugging features
    4046
    4147= 2.1.8 =
     
    4955
    5056= 2.1.5 =
    51 * Reworked Page a post and cpts - Added ordering, filtering and pagination
     57* Reworked Page, posts and cpts - Added ordering, filtering and pagination
    5258
    5359= 2.1.4 =
  • fapi-member/trunk/src/Api/V2/Endpoints/MembershipsController.php

    r3128080 r3142904  
    66use FapiMember\Container\Container;
    77use FapiMember\Library\SmartEmailing\Types\IntType;
     8use FapiMember\Library\SmartEmailing\Types\StringType;
     9use FapiMember\Model\Enums\Alert;
    810use FapiMember\Model\Enums\Format;
     11use FapiMember\Model\Enums\Types\AlertType;
    912use FapiMember\Model\Enums\Types\RequestMethodType;
    1013use FapiMember\Model\Membership;
     
    101104        }
    102105
    103         $this->apiController->callbackSuccess();
     106        $savedMemberships = $this->membershipService->getActiveByUserId($userId);
     107
     108        foreach ($savedMemberships as $savedMembership) {
     109            foreach ($memberships as $membership) {
     110                if (
     111                    $membership->getLevelId() === $savedMembership->getLevelId()
     112                ) {
     113                    if ($membership->getRegistered()->format(Format::DATE_TIME) !== $savedMembership->getRegistered()->format(Format::DATE_TIME)) {
     114                        $this->apiController->callbackResponse([], Alert::MEMBERSHIP_REGISTERED_EXTENDED);
     115                    }
     116
     117                    if ($membership->getUntil()?->format(Format::DATE_TIME) !== $savedMembership->getUntil()?->format(Format::DATE_TIME)) {
     118                        $this->apiController->callbackResponse([], Alert::MEMBERSHIP_UNTIL_EXTENDED);
     119                    }
     120                }
     121            }
     122        }
     123
     124        $this->apiController->callbackResponse([], Alert::SETTINGS_SAVED);
    104125    }
    105126
     
    156177    }
    157178
     179    public function getUnlockDate(WP_REST_Request $request): string|null
     180    {
     181        $this->apiController->checkRequestMethod($request, RequestMethodType::POST);
     182        $body = json_decode($request->get_body(), true);
     183
     184        $levelId = $this->apiController->extractParam($body, 'level_id', IntType::class);
     185        $userId = $this->apiController->extractParam($body, 'user_id', IntType::class);
     186        $registrationDate = $this->apiController->extractParamOrNull($body, 'registration_date', StringType::class);
     187        $registrationDate = DateTimeHelper::createOrNull($registrationDate, Format::DATE);
     188
     189        try {
     190            return $this->membershipService
     191                ->getUnlockDate($levelId, $userId, $registrationDate)?->format(Format::DATE_TIME);
     192        } catch (Throwable) {
     193            $this->apiController->callbackError([
     194                'class'=> self::class,
     195                'description' => "Failed to get unlock date",
     196            ]);
     197        }
     198    }
     199
    158200}
  • fapi-member/trunk/src/Model/Enums/Alert.php

    r3128080 r3142904  
    3131    const REORDER_FAILED = 'reorderFailed';
    3232
     33    const MEMBERSHIP_REGISTERED_EXTENDED = 'membershipRegisteredExtended';
     34
     35    const MEMBERSHIP_UNTIL_EXTENDED = 'membershipUntilExtended';
     36
    3337}
  • fapi-member/trunk/src/Model/Enums/Types/AlertType.php

    r3103529 r3142904  
    99    const ERROR = 'error';
    1010
     11    const WARNING = 'warning';
     12
    1113    const SUCCESS = 'success';
    1214}
  • fapi-member/trunk/src/Repository/LevelRepository.php

    r3129661 r3142904  
    44
    55use FapiMember\Container\Container;
    6 use FapiMember\Model\Enums\Format;
    76use FapiMember\Model\Enums\Keys\MetaKey;
    87use FapiMember\Model\Enums\Types\EmailType;
    98use FapiMember\Model\MemberLevel;
    109use FapiMember\Model\MemberSection;
    11 use FapiMember\Utils\DateTimeHelper;
    1210use FapiMember\Utils\EmailHelper;
    1311use WP_Error;
  • fapi-member/trunk/src/Service/MembershipService.php

    r3129661 r3142904  
    33namespace FapiMember\Service;
    44
     5use DateInterval;
     6use DateTimeImmutable;
    57use FapiMember\Container\Container;
    68use FapiMember\Model\Enums\Format;
     
    421423                        'user_id' => $userId,
    422424                        'registered' => DateTimeHelper::getNow()->format(Format::DATE_TIME),
    423                         'is_unlimited' => true,
     425                        'until' => $membership->getUntil()?->format(Format::DATE_TIME),
     426                        'is_unlimited' => $membership->isUnlimited(),
    424427                    ]));
    425428                }
     
    428431    }
    429432
     433    /**
     434     * @throws \Exception
     435     */
     436    public function getUnlockDate(int $levelId, int $userId, DateTimeImmutable|null $registrationDate = null): DateTimeImmutable|null
     437    {
     438        $level = $this->levelRepository->getLevelById($levelId);
     439
     440        if ($level?->getParentId() === null || $level->getUnlockType() === null || $level->getUnlockType() === LevelUnlockType::NONE) {
     441            return null;
     442        }
     443
     444        $date = null;
     445
     446        if ($level->getUnlockType() === LevelUnlockType::DATE) {
     447            $date = DateTimeHelper::createOrNull($this->levelRepository->getDateUnlock($level->getId()), Format::DATE);
     448
     449        } elseif ($level->getUnlockType() === LevelUnlockType::DAYS) {
     450            if ($registrationDate === null) {
     451                $parentMembership = $this->membershipRepository->getOneByUserIdAndLevelId($userId, $level->getParentId());
     452
     453                if ($parentMembership === null) {
     454                    return null;
     455                }
     456                $registrationDate = $parentMembership->getRegistered();
     457            }
     458
     459            $date = $registrationDate->add(
     460                new DateInterval('P' . $this->levelRepository->getDaysUnlock($level->getId()) . 'D'),
     461            );
     462        }
     463
     464        if ($date !== null) {
     465            $hour = $this->levelRepository->getHourUnlock($level->getId());
     466            $date = $date->setTime($hour, 0);
     467        }
     468
     469        return $date;
     470    }
     471
    430472}
  • fapi-member/trunk/src/Utils/AlertProvider.php

    r3128080 r3142904  
    2222        Alert::LEVEL_ALREADY_EXISTS => [AlertType::ERROR, 'Sekce/úroveň s tímto názvem již existuje.'],
    2323        Alert::REORDER_FAILED => [AlertType::ERROR, 'Nelze přeřadit sekci/úroveň.'],
     24        Alert::MEMBERSHIP_REGISTERED_EXTENDED => [AlertType::WARNING, 'Datum registrace sekce bylo přenastaveno dle úrovně.'],
     25        Alert::MEMBERSHIP_UNTIL_EXTENDED => [AlertType::WARNING, 'Datum expirace sekce bylo přenastaveno dle úrovně.'],
    2426    ];
    2527
  • fapi-member/trunk/src/Utils/DateTimeHelper.php

    r3129528 r3142904  
    2222    }
    2323
    24     public static function createOrNull(string $dateTimeString, string $format): DateTimeImmutable|null
     24    public static function createOrNull(string|null $dateTimeString, string $format): DateTimeImmutable|null
    2525    {
     26        if ($dateTimeString === null) {
     27            return null;
     28        }
     29
    2630        $dateTime = DateTimeImmutable::createFromFormat(
    2731            $format,
  • fapi-member/trunk/vendor/composer/installed.php

    r3142275 r3142904  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => 'e92d5fbec7382af0a0cddb8272c179dc613823b2',
     6        'reference' => '92eb93ed42b5ce1308afb35c4d71d5dd23997bd9',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-master',
    1515            'version' => 'dev-master',
    16             'reference' => 'e92d5fbec7382af0a0cddb8272c179dc613823b2',
     16            'reference' => '92eb93ed42b5ce1308afb35c4d71d5dd23997bd9',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.