Changeset 3142904
- Timestamp:
- 08/28/2024 12:17:02 PM (20 months ago)
- Location:
- fapi-member
- Files:
-
- 383 added
- 12 edited
-
tags/2.1.13 (added)
-
tags/2.1.13/_sources (added)
-
tags/2.1.13/_sources/F_fapi.svg (added)
-
tags/2.1.13/_sources/F_fapi2.svg (added)
-
tags/2.1.13/_sources/LOGO_FAPI_svg.svg (added)
-
tags/2.1.13/_sources/circle-shape-outline.svg (added)
-
tags/2.1.13/_sources/close.svg (added)
-
tags/2.1.13/_sources/connect.svg (added)
-
tags/2.1.13/_sources/down-arrow.svg (added)
-
tags/2.1.13/_sources/edit.svg (added)
-
tags/2.1.13/_sources/folder.svg (added)
-
tags/2.1.13/_sources/home-solid.svg (added)
-
tags/2.1.13/_sources/levels-simple.svg (added)
-
tags/2.1.13/_sources/levels.svg (added)
-
tags/2.1.13/_sources/membership.svg (added)
-
tags/2.1.13/_sources/padlock.svg (added)
-
tags/2.1.13/_sources/search.svg (added)
-
tags/2.1.13/_sources/user.svg (added)
-
tags/2.1.13/app (added)
-
tags/2.1.13/app/dist (added)
-
tags/2.1.13/app/dist/bundle.js (added)
-
tags/2.1.13/app/dist/images (added)
-
tags/2.1.13/app/dist/images/add-filled.svg (added)
-
tags/2.1.13/app/dist/images/arrow-backward.svg (added)
-
tags/2.1.13/app/dist/images/arrow-forward.svg (added)
-
tags/2.1.13/app/dist/images/check.svg (added)
-
tags/2.1.13/app/dist/images/connect.svg (added)
-
tags/2.1.13/app/dist/images/cross.svg (added)
-
tags/2.1.13/app/dist/images/down.svg (added)
-
tags/2.1.13/app/dist/images/edit.svg (added)
-
tags/2.1.13/app/dist/images/folder.svg (added)
-
tags/2.1.13/app/dist/images/levels.svg (added)
-
tags/2.1.13/app/dist/images/logo_fapi.svg (added)
-
tags/2.1.13/app/dist/images/overview.svg (added)
-
tags/2.1.13/app/dist/images/settings.svg (added)
-
tags/2.1.13/app/dist/images/up.svg (added)
-
tags/2.1.13/app/dist/src (added)
-
tags/2.1.13/app/dist/src/Media (added)
-
tags/2.1.13/app/dist/src/Media/Images (added)
-
tags/2.1.13/app/dist/src/Media/Images/elements (added)
-
tags/2.1.13/app/dist/src/Media/Images/elements/login.png (added)
-
tags/2.1.13/app/dist/src/Media/Images/elements/section-expiration-shortcode-example.png (added)
-
tags/2.1.13/app/dist/src/Media/Images/elements/section-expiration-shortcode-result.png (added)
-
tags/2.1.13/app/dist/src/Media/Images/elements/user-window.png (added)
-
tags/2.1.13/app/dist/src_Components_Content_Connection_Connection_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Common_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Elements_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Levels_LevelsContent_Emails_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Levels_LevelsContent_LevelNotSelected_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Levels_LevelsContent_Pages_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Levels_LevelsContent_ServicePages_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Levels_LevelsContent_Unlocking_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Levels_Levels_js.bundle.js (added)
-
tags/2.1.13/app/dist/src_Components_Content_Overview_Overview_js.bundle.js (added)
-
tags/2.1.13/app/dist/vendors-node_modules_css-loader_dist_utils_js.bundle.js (added)
-
tags/2.1.13/app/dist/vendors-node_modules_recharts_es6_chart_PieChart_js.bundle.js (added)
-
tags/2.1.13/fapi-member.php (added)
-
tags/2.1.13/languages (added)
-
tags/2.1.13/languages/wp-plugins-fapi-member-stable-cs.po (added)
-
tags/2.1.13/languages/wp-plugins-fapi-member-stable-de.po (added)
-
tags/2.1.13/languages/wp-plugins-fapi-member-stable-en-gb.po (added)
-
tags/2.1.13/languages/wp-plugins-fapi-member-stable-sk.po (added)
-
tags/2.1.13/libs (added)
-
tags/2.1.13/libs/nette (added)
-
tags/2.1.13/libs/nette/http (added)
-
tags/2.1.13/libs/nette/http/src (added)
-
tags/2.1.13/libs/nette/http/src/Bridges (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpDI (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpDI/HttpExtension.php (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpDI/SessionExtension.php (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpTracy (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpTracy/SessionPanel.php (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpTracy/templates (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpTracy/templates/SessionPanel.panel.phtml (added)
-
tags/2.1.13/libs/nette/http/src/Bridges/HttpTracy/templates/SessionPanel.tab.phtml (added)
-
tags/2.1.13/libs/nette/http/src/Http (added)
-
tags/2.1.13/libs/nette/http/src/Http/Context.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/FileUpload.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/Helpers.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/IRequest.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/IResponse.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/Request.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/RequestFactory.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/Response.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/Session.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/SessionSection.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/Url.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/UrlImmutable.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/UrlScript.php (added)
-
tags/2.1.13/libs/nette/http/src/Http/UserStorage.php (added)
-
tags/2.1.13/libs/nette/utils (added)
-
tags/2.1.13/libs/nette/utils/src (added)
-
tags/2.1.13/libs/nette/utils/src/HtmlStringable.php (added)
-
tags/2.1.13/libs/nette/utils/src/Iterators (added)
-
tags/2.1.13/libs/nette/utils/src/Iterators/CachingIterator.php (added)
-
tags/2.1.13/libs/nette/utils/src/Iterators/Mapper.php (added)
-
tags/2.1.13/libs/nette/utils/src/SmartObject.php (added)
-
tags/2.1.13/libs/nette/utils/src/StaticClass.php (added)
-
tags/2.1.13/libs/nette/utils/src/Translator.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/ArrayHash.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/ArrayList.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Arrays.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Callback.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/DateTime.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/FileSystem.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Floats.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Helpers.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Html.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Image.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Json.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/ObjectHelpers.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/ObjectMixin.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Paginator.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Random.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Reflection.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Strings.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Type.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/Validators.php (added)
-
tags/2.1.13/libs/nette/utils/src/Utils/exceptions.php (added)
-
tags/2.1.13/libs/nette/utils/src/compatibility.php (added)
-
tags/2.1.13/libs/nette/utils/src/exceptions.php (added)
-
tags/2.1.13/libs/smartemailing (added)
-
tags/2.1.13/libs/smartemailing/types (added)
-
tags/2.1.13/libs/smartemailing/types/bin (added)
-
tags/2.1.13/libs/smartemailing/types/bin/cbf (added)
-
tags/2.1.13/libs/smartemailing/types/bin/cs (added)
-
tags/2.1.13/libs/smartemailing/types/bin/stan (added)
-
tags/2.1.13/libs/smartemailing/types/docs (added)
-
tags/2.1.13/libs/smartemailing/types/docs/img (added)
-
tags/2.1.13/libs/smartemailing/types/docs/img/ide-love-2.png (added)
-
tags/2.1.13/libs/smartemailing/types/docs/img/ide-love.png (added)
-
tags/2.1.13/libs/smartemailing/types/src (added)
-
tags/2.1.13/libs/smartemailing/types/src/Address.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Arrays.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Base64String.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/BoolArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/BoolType.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/CompanyRegistrationNumber.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Comparable (added)
-
tags/2.1.13/libs/smartemailing/types/src/Comparable/ArrayComparableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Comparable/ComparableInterface.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Comparable/StringComparableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ContentType.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/CountryCode.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/CurrencyCode.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DateTimeFormat.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DateTimeFormatter.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DateTimeRange.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DateTimes.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DateTimesImmutable.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Dates.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DatesImmutable.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Domain.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/DomainName.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Duration.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Emailaddress.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Enum.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits/ArrayExtractableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits/EnumExtractableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits/ExtractableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits/FloatExtractableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits/IntExtractableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTraits/StringExtractableTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ExtractableTypeInterface.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/FieldOfApplication.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/FloatArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/FloatType.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Guid.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/ArrayHelpers.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/CountryCodeToPhoneCodeTable.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/ExtractableHelpers.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/InvisibleSpaceCharacterCodes.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/StringHelpers.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/UniqueToStringArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Helpers/ValidationHelpers.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Hex32.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/HexColor.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/HostName.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/HttpMethod.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Iban.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/IntArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/IntType.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/InvalidArgumentException.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/InvalidEmailaddressException.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/InvalidTypeException.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/IpAddress.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/JsonString.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/KeyValuePair.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/LawfulBasisForProcessing.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/LoginCredentials.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/NonEmptyString.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Part.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/PhoneNumber.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Port.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Price.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/PrimitiveTypes.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Quantity.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ReLUValue.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/Relation.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ScalarLeavesArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/SigmoidValue.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/StringArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/StringType.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/SwiftBic.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/TimeUnit.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ToArrayInterface.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ToStringInterface.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ToStringTrait.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/UniqueArrayFeatures.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/UniqueIntArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/UniqueStringArray.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/UnsignedFloat.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/UnsignedInt.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/UrlType.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/VatId.php (added)
-
tags/2.1.13/libs/smartemailing/types/src/ZipCode.php (added)
-
tags/2.1.13/libs/smartemailing/types/tools (added)
-
tags/2.1.13/libs/smartemailing/types/tools/cs (added)
-
tags/2.1.13/libs/smartemailing/types/tools/cs/ruleset.xml (added)
-
tags/2.1.13/libs/smartemailing/types/tools/phpstan (added)
-
tags/2.1.13/libs/smartemailing/types/tools/phpstan/phpstan.neon (added)
-
tags/2.1.13/media (added)
-
tags/2.1.13/media/colors.css (added)
-
tags/2.1.13/media/dist (added)
-
tags/2.1.13/media/dist/clipboard.min.js (added)
-
tags/2.1.13/media/dist/fapi.dev.js (added)
-
tags/2.1.13/media/dist/fapi.dist.js (added)
-
tags/2.1.13/media/dist/polyfill.min.js (added)
-
tags/2.1.13/media/dist/sweetalert2.js (added)
-
tags/2.1.13/media/dist/sweetalert2.min.css (added)
-
tags/2.1.13/media/fapi-member-public.css (added)
-
tags/2.1.13/media/fapi-user-profile.css (added)
-
tags/2.1.13/media/font (added)
-
tags/2.1.13/media/font/proxima_nova_font-webfont.woff (added)
-
tags/2.1.13/media/font/proxima_nova_font-webfont.woff2 (added)
-
tags/2.1.13/media/font/stylesheet.css (added)
-
tags/2.1.13/multiple-blocks (added)
-
tags/2.1.13/multiple-blocks/build (added)
-
tags/2.1.13/multiple-blocks/build/block-extender.asset.php (added)
-
tags/2.1.13/multiple-blocks/build/block-extender.js (added)
-
tags/2.1.13/multiple-blocks/build/fapi-form-block.asset.php (added)
-
tags/2.1.13/multiple-blocks/build/fapi-form-block.css (added)
-
tags/2.1.13/multiple-blocks/build/fapi-form-block.js (added)
-
tags/2.1.13/multiple-blocks/includes (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/block-extender (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/block-extender/block.json (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/block-extender/index.js (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/fapi-form-block (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/fapi-form-block/block.json (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/fapi-form-block/edit.js (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/fapi-form-block/index.js (added)
-
tags/2.1.13/multiple-blocks/includes/block-editor/blocks/fapi-form-block/save.js (added)
-
tags/2.1.13/multiple-blocks/multiple-blocks.php (added)
-
tags/2.1.13/multiple-blocks/package.json (added)
-
tags/2.1.13/multiple-blocks/webpack.config.js (added)
-
tags/2.1.13/readme.txt (added)
-
tags/2.1.13/src (added)
-
tags/2.1.13/src/Api (added)
-
tags/2.1.13/src/Api/V1 (added)
-
tags/2.1.13/src/Api/V1/RequestHandler.php (added)
-
tags/2.1.13/src/Api/V2 (added)
-
tags/2.1.13/src/Api/V2/ApiController.php (added)
-
tags/2.1.13/src/Api/V2/Endpoints (added)
-
tags/2.1.13/src/Api/V2/Endpoints/ApiConnectionsController.php (added)
-
tags/2.1.13/src/Api/V2/Endpoints/EmailsController.php (added)
-
tags/2.1.13/src/Api/V2/Endpoints/MembershipsController.php (added)
-
tags/2.1.13/src/Api/V2/Endpoints/PagesController.php (added)
-
tags/2.1.13/src/Api/V2/Endpoints/SectionsController.php (added)
-
tags/2.1.13/src/Api/V2/Endpoints/UsersController.php (added)
-
tags/2.1.13/src/Bootstrap.php (added)
-
tags/2.1.13/src/Container (added)
-
tags/2.1.13/src/Container/Container.php (added)
-
tags/2.1.13/src/Divi (added)
-
tags/2.1.13/src/Divi/FapiMemberDivi.php (added)
-
tags/2.1.13/src/Divi/includes (added)
-
tags/2.1.13/src/Divi/includes/FmDivi.php (added)
-
tags/2.1.13/src/Divi/includes/fields (added)
-
tags/2.1.13/src/Divi/includes/fields/MultiSelect (added)
-
tags/2.1.13/src/Divi/includes/fields/MultiSelect/MultiSelect.jsx (added)
-
tags/2.1.13/src/Divi/includes/fields/index.js (added)
-
tags/2.1.13/src/Divi/includes/loader.js (added)
-
tags/2.1.13/src/Divi/includes/loader.php (added)
-
tags/2.1.13/src/Divi/includes/modules (added)
-
tags/2.1.13/src/Divi/includes/modules/FapiMemberContainer (added)
-
tags/2.1.13/src/Divi/includes/modules/index.js (added)
-
tags/2.1.13/src/Divi/scripts (added)
-
tags/2.1.13/src/Divi/scripts/builder-bundle.min.js (added)
-
tags/2.1.13/src/Divi/scripts/frontend-bundle.min.js (added)
-
tags/2.1.13/src/Divi/scripts/frontend.js (added)
-
tags/2.1.13/src/Elementor (added)
-
tags/2.1.13/src/Elementor/Category (added)
-
tags/2.1.13/src/Elementor/Category/CategoryRegister.php (added)
-
tags/2.1.13/src/Elementor/Filters (added)
-
tags/2.1.13/src/Elementor/Filters/ContentProtector.php (added)
-
tags/2.1.13/src/Elementor/WidgetSettingsExtender (added)
-
tags/2.1.13/src/Elementor/WidgetSettingsExtender/WidgetsSettingsExtender.php (added)
-
tags/2.1.13/src/Elementor/Widgets (added)
-
tags/2.1.13/src/Elementor/Widgets/FapiFormWidget.php (added)
-
tags/2.1.13/src/Elementor/fapi-member.php (added)
-
tags/2.1.13/src/FapiMemberPlugin.php (added)
-
tags/2.1.13/src/Model (added)
-
tags/2.1.13/src/Model/ApiConnection.php (added)
-
tags/2.1.13/src/Model/Enums (added)
-
tags/2.1.13/src/Model/Enums/Alert.php (added)
-
tags/2.1.13/src/Model/Enums/Format.php (added)
-
tags/2.1.13/src/Model/Enums/Keys (added)
-
tags/2.1.13/src/Model/Enums/Keys/MetaKey.php (added)
-
tags/2.1.13/src/Model/Enums/Keys/OptionKey.php (added)
-
tags/2.1.13/src/Model/Enums/Keys/ScheduleKey.php (added)
-
tags/2.1.13/src/Model/Enums/Keys/SettingsKey.php (added)
-
tags/2.1.13/src/Model/Enums/PostValue.php (added)
-
tags/2.1.13/src/Model/Enums/SubPage.php (added)
-
tags/2.1.13/src/Model/Enums/Types (added)
-
tags/2.1.13/src/Model/Enums/Types/AlertType.php (added)
-
tags/2.1.13/src/Model/Enums/Types/EmailType.php (added)
-
tags/2.1.13/src/Model/Enums/Types/FormValueType.php (added)
-
tags/2.1.13/src/Model/Enums/Types/LevelUnlockType.php (added)
-
tags/2.1.13/src/Model/Enums/Types/RequestMethodType.php (added)
-
tags/2.1.13/src/Model/Enums/Types/ServicePageType.php (added)
-
tags/2.1.13/src/Model/Enums/UserPermission.php (added)
-
tags/2.1.13/src/Model/MemberLevel.php (added)
-
tags/2.1.13/src/Model/MemberSection.php (added)
-
tags/2.1.13/src/Model/Membership.php (added)
-
tags/2.1.13/src/Model/Page.php (added)
-
tags/2.1.13/src/Model/Settings.php (added)
-
tags/2.1.13/src/Model/User.php (added)
-
tags/2.1.13/src/Repository (added)
-
tags/2.1.13/src/Repository/EmailRepository.php (added)
-
tags/2.1.13/src/Repository/LevelOrderRepository.php (added)
-
tags/2.1.13/src/Repository/LevelRepository.php (added)
-
tags/2.1.13/src/Repository/MembershipHistoryRepository.php (added)
-
tags/2.1.13/src/Repository/MembershipRepository.php (added)
-
tags/2.1.13/src/Repository/PageRepository.php (added)
-
tags/2.1.13/src/Repository/Repository.php (added)
-
tags/2.1.13/src/Repository/SettingsRepository.php (added)
-
tags/2.1.13/src/Repository/UserRepository.php (added)
-
tags/2.1.13/src/Service (added)
-
tags/2.1.13/src/Service/ApiService.php (added)
-
tags/2.1.13/src/Service/ElementService.php (added)
-
tags/2.1.13/src/Service/EmailService.php (added)
-
tags/2.1.13/src/Service/FormService.php (added)
-
tags/2.1.13/src/Service/LevelOrderService.php (added)
-
tags/2.1.13/src/Service/LevelService.php (added)
-
tags/2.1.13/src/Service/MembershipService.php (added)
-
tags/2.1.13/src/Service/RedirectService.php (added)
-
tags/2.1.13/src/Service/SanitizationService.php (added)
-
tags/2.1.13/src/Service/UserService.php (added)
-
tags/2.1.13/src/Templates (added)
-
tags/2.1.13/src/Templates/levelSelection.php (added)
-
tags/2.1.13/src/Utils (added)
-
tags/2.1.13/src/Utils/AlertProvider.php (added)
-
tags/2.1.13/src/Utils/ApiClient.php (added)
-
tags/2.1.13/src/Utils/DateTimeHelper.php (added)
-
tags/2.1.13/src/Utils/DateTimes.php (added)
-
tags/2.1.13/src/Utils/DateTimesImmutable.php (added)
-
tags/2.1.13/src/Utils/DisplayHelper.php (added)
-
tags/2.1.13/src/Utils/EmailHelper.php (added)
-
tags/2.1.13/src/Utils/PostTypeHelper.php (added)
-
tags/2.1.13/src/Utils/Random.php (added)
-
tags/2.1.13/src/Utils/SecurityValidator.php (added)
-
tags/2.1.13/src/Utils/ShortcodeSubstitutor.php (added)
-
tags/2.1.13/src/Utils/TemplateProvider.php (added)
-
tags/2.1.13/src/Utils/functions.php (added)
-
tags/2.1.13/uninstall.php (added)
-
tags/2.1.13/vendor (added)
-
tags/2.1.13/vendor/autoload.php (added)
-
tags/2.1.13/vendor/composer (added)
-
tags/2.1.13/vendor/composer/ClassLoader.php (added)
-
tags/2.1.13/vendor/composer/InstalledVersions.php (added)
-
tags/2.1.13/vendor/composer/LICENSE (added)
-
tags/2.1.13/vendor/composer/autoload_classmap.php (added)
-
tags/2.1.13/vendor/composer/autoload_namespaces.php (added)
-
tags/2.1.13/vendor/composer/autoload_psr4.php (added)
-
tags/2.1.13/vendor/composer/autoload_real.php (added)
-
tags/2.1.13/vendor/composer/autoload_static.php (added)
-
tags/2.1.13/vendor/composer/installed.json (added)
-
tags/2.1.13/vendor/composer/installed.php (added)
-
trunk/app/dist/bundle.js (modified) (14 diffs)
-
trunk/app/dist/src_Components_Content_Levels_Levels_LevelsContent_Unlocking_js.bundle.js (modified) (1 diff)
-
trunk/fapi-member.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (4 diffs)
-
trunk/src/Api/V2/Endpoints/MembershipsController.php (modified) (3 diffs)
-
trunk/src/Divi/includes/modules/FapiMemberContainer (added)
-
trunk/src/Model/Enums/Alert.php (modified) (1 diff)
-
trunk/src/Model/Enums/Types/AlertType.php (modified) (1 diff)
-
trunk/src/Repository/LevelRepository.php (modified) (1 diff)
-
trunk/src/Service/MembershipService.php (modified) (3 diffs)
-
trunk/src/Utils/AlertProvider.php (modified) (1 diff)
-
trunk/src/Utils/DateTimeHelper.php (modified) (1 diff)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
fapi-member/trunk/app/dist/bundle.js
r3135563 r3142904 37 37 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38 38 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?");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/* 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?"); 40 40 41 41 /***/ }), … … 57 57 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 58 58 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?");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/* 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?"); 60 60 61 61 /***/ }), … … 137 137 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 138 138 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?");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/* 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?"); 140 140 141 141 /***/ }), … … 147 147 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 148 148 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?");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/* 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?"); 150 150 151 151 /***/ }), … … 157 157 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 158 158 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?");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 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?"); 160 160 161 161 /***/ }), … … 167 167 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 168 168 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?");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 [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?"); 170 170 171 171 /***/ }), … … 217 217 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 218 218 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?");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 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?"); 220 220 221 221 /***/ }), … … 237 237 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 238 238 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 get Time() {\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?");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 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?"); 240 240 241 241 /***/ }), … … 247 247 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 248 248 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?");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, _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?"); 250 250 251 251 /***/ }), … … 307 307 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 308 308 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?");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' || 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?"); 310 310 311 311 /***/ }), … … 317 317 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 318 318 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?");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' || (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?"); 320 320 321 321 /***/ }), … … 337 337 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 338 338 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 constroot = (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?");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 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?"); 340 340 341 341 /***/ }), … … 357 357 /***/ ((module, __webpack_exports__, __webpack_require__) => { 358 358 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");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: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"); 360 360 361 361 /***/ }), … … 367 367 /***/ ((module, __webpack_exports__, __webpack_require__) => { 368 368 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");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-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"); 370 370 371 371 /***/ }), -
fapi-member/trunk/app/dist/src_Components_Content_Levels_Levels_LevelsContent_Unlocking_js.bundle.js
r3129661 r3142904 16 16 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 17 17 18 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var 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?");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/* 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?"); 19 19 20 20 /***/ }), -
fapi-member/trunk/fapi-member.php
r3142275 r3142904 15 15 * Plugin URI: https://fapi.cz/ 16 16 * Description: Plugin FAPI pro jednoduchou správu členských sekcí na webu. 17 * Version: 2.1.1 217 * Version: 2.1.13 18 18 * Requires at least: 5.9 19 19 * Requires PHP: 8.1 … … 30 30 require __DIR__ . '/src/Utils/functions.php'; 31 31 32 define('FAPI_MEMBER_PLUGIN_VERSION', '2.1.1 2');32 define('FAPI_MEMBER_PLUGIN_VERSION', '2.1.13'); 33 33 34 34 $FapiPlugin = new FapiMemberPlugin(); -
fapi-member/trunk/readme.txt
r3142275 r3142904 6 6 Requires PHP: 8.1 7 7 License: GPLv2 or later 8 Stable tag: 2.1.1 28 Stable tag: 2.1.13 9 9 10 10 Plugin FAPI pro jednoduchou správu členských sekcí na webu. … … 27 27 == Changelog == 28 28 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 29 35 = 2.1.12 = 30 36 * Added support for Divi Builder (hiding/showing elements based user's memberships) … … 37 43 38 44 = 2.1.9 = 39 * Added internal debug ing features45 * Added internal debugging features 40 46 41 47 = 2.1.8 = … … 49 55 50 56 = 2.1.5 = 51 * Reworked Page a postand cpts - Added ordering, filtering and pagination57 * Reworked Page, posts and cpts - Added ordering, filtering and pagination 52 58 53 59 = 2.1.4 = -
fapi-member/trunk/src/Api/V2/Endpoints/MembershipsController.php
r3128080 r3142904 6 6 use FapiMember\Container\Container; 7 7 use FapiMember\Library\SmartEmailing\Types\IntType; 8 use FapiMember\Library\SmartEmailing\Types\StringType; 9 use FapiMember\Model\Enums\Alert; 8 10 use FapiMember\Model\Enums\Format; 11 use FapiMember\Model\Enums\Types\AlertType; 9 12 use FapiMember\Model\Enums\Types\RequestMethodType; 10 13 use FapiMember\Model\Membership; … … 101 104 } 102 105 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); 104 125 } 105 126 … … 156 177 } 157 178 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 158 200 } -
fapi-member/trunk/src/Model/Enums/Alert.php
r3128080 r3142904 31 31 const REORDER_FAILED = 'reorderFailed'; 32 32 33 const MEMBERSHIP_REGISTERED_EXTENDED = 'membershipRegisteredExtended'; 34 35 const MEMBERSHIP_UNTIL_EXTENDED = 'membershipUntilExtended'; 36 33 37 } -
fapi-member/trunk/src/Model/Enums/Types/AlertType.php
r3103529 r3142904 9 9 const ERROR = 'error'; 10 10 11 const WARNING = 'warning'; 12 11 13 const SUCCESS = 'success'; 12 14 } -
fapi-member/trunk/src/Repository/LevelRepository.php
r3129661 r3142904 4 4 5 5 use FapiMember\Container\Container; 6 use FapiMember\Model\Enums\Format;7 6 use FapiMember\Model\Enums\Keys\MetaKey; 8 7 use FapiMember\Model\Enums\Types\EmailType; 9 8 use FapiMember\Model\MemberLevel; 10 9 use FapiMember\Model\MemberSection; 11 use FapiMember\Utils\DateTimeHelper;12 10 use FapiMember\Utils\EmailHelper; 13 11 use WP_Error; -
fapi-member/trunk/src/Service/MembershipService.php
r3129661 r3142904 3 3 namespace FapiMember\Service; 4 4 5 use DateInterval; 6 use DateTimeImmutable; 5 7 use FapiMember\Container\Container; 6 8 use FapiMember\Model\Enums\Format; … … 421 423 'user_id' => $userId, 422 424 'registered' => DateTimeHelper::getNow()->format(Format::DATE_TIME), 423 'is_unlimited' => true, 425 'until' => $membership->getUntil()?->format(Format::DATE_TIME), 426 'is_unlimited' => $membership->isUnlimited(), 424 427 ])); 425 428 } … … 428 431 } 429 432 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 430 472 } -
fapi-member/trunk/src/Utils/AlertProvider.php
r3128080 r3142904 22 22 Alert::LEVEL_ALREADY_EXISTS => [AlertType::ERROR, 'Sekce/úroveň s tímto názvem již existuje.'], 23 23 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ě.'], 24 26 ]; 25 27 -
fapi-member/trunk/src/Utils/DateTimeHelper.php
r3129528 r3142904 22 22 } 23 23 24 public static function createOrNull(string $dateTimeString, string $format): DateTimeImmutable|null24 public static function createOrNull(string|null $dateTimeString, string $format): DateTimeImmutable|null 25 25 { 26 if ($dateTimeString === null) { 27 return null; 28 } 29 26 30 $dateTime = DateTimeImmutable::createFromFormat( 27 31 $format, -
fapi-member/trunk/vendor/composer/installed.php
r3142275 r3142904 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' e92d5fbec7382af0a0cddb8272c179dc613823b2',6 'reference' => '92eb93ed42b5ce1308afb35c4d71d5dd23997bd9', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-master', 15 15 'version' => 'dev-master', 16 'reference' => ' e92d5fbec7382af0a0cddb8272c179dc613823b2',16 'reference' => '92eb93ed42b5ce1308afb35c4d71d5dd23997bd9', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.