@strapi/admin 5.48.0 → 5.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/StrapiApp.js +41 -25
- package/dist/admin/admin/src/StrapiApp.js.map +1 -1
- package/dist/admin/admin/src/StrapiApp.mjs +15 -7
- package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
- package/dist/admin/admin/src/components/ConfirmDialog.js +3 -2
- package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
- package/dist/admin/admin/src/components/Context.js +4 -3
- package/dist/admin/admin/src/components/Context.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js +8 -4
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.js +3 -2
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Form.js +9 -5
- package/dist/admin/admin/src/components/Form.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Date.js +3 -2
- package/dist/admin/admin/src/components/FormInputs/Date.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Json.js +3 -2
- package/dist/admin/admin/src/components/FormInputs/Json.js.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js +3 -2
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Context.js +3 -2
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +3 -2
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.js +9 -3
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +6 -1
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
- package/dist/admin/admin/src/components/LanguageProvider.js +5 -1
- package/dist/admin/admin/src/components/LanguageProvider.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +3 -2
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.js +4 -3
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +4 -3
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.js +3 -2
- package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
- package/dist/admin/admin/src/components/Pagination.js +3 -2
- package/dist/admin/admin/src/components/Pagination.js.map +1 -1
- package/dist/admin/admin/src/components/PluginsInitializer.js +3 -2
- package/dist/admin/admin/src/components/PluginsInitializer.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.js +3 -2
- package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js +3 -2
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/SearchInput.js +3 -2
- package/dist/admin/admin/src/components/SearchInput.js.map +1 -1
- package/dist/admin/admin/src/components/Table.js +3 -2
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Theme.js +3 -2
- package/dist/admin/admin/src/components/Theme.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
- package/dist/admin/admin/src/components/WidgetRoot.js +9 -5
- package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
- package/dist/admin/admin/src/core/apis/CustomFields.js +14 -10
- package/dist/admin/admin/src/core/apis/CustomFields.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +8 -4
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.js +20 -16
- package/dist/admin/admin/src/core/apis/router.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
- package/dist/admin/admin/src/features/Auth.js +78 -6
- package/dist/admin/admin/src/features/Auth.js.map +1 -1
- package/dist/admin/admin/src/features/Auth.mjs +77 -6
- package/dist/admin/admin/src/features/Auth.mjs.map +1 -1
- package/dist/admin/admin/src/features/BackButton.js +3 -2
- package/dist/admin/admin/src/features/BackButton.js.map +1 -1
- package/dist/admin/admin/src/features/Configuration.js +3 -2
- package/dist/admin/admin/src/features/Configuration.js.map +1 -1
- package/dist/admin/admin/src/features/Notifications.js +3 -2
- package/dist/admin/admin/src/features/Notifications.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +7 -3
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Widgets.js +3 -2
- package/dist/admin/admin/src/features/Widgets.js.map +1 -1
- package/dist/admin/admin/src/hooks/useAPIErrorHandler.js +3 -2
- package/dist/admin/admin/src/hooks/useAPIErrorHandler.js.map +1 -1
- package/dist/admin/admin/src/hooks/useAdminRoles.js +3 -2
- package/dist/admin/admin/src/hooks/useAdminRoles.js.map +1 -1
- package/dist/admin/admin/src/hooks/useControllableState.js +3 -2
- package/dist/admin/admin/src/hooks/useControllableState.js.map +1 -1
- package/dist/admin/admin/src/hooks/useDebounce.js +3 -2
- package/dist/admin/admin/src/hooks/useDebounce.js.map +1 -1
- package/dist/admin/admin/src/hooks/useDeviceType.js +3 -2
- package/dist/admin/admin/src/hooks/useDeviceType.js.map +1 -1
- package/dist/admin/admin/src/hooks/useElementOnScreen.js +3 -2
- package/dist/admin/admin/src/hooks/useElementOnScreen.js.map +1 -1
- package/dist/admin/admin/src/hooks/useEnterprise.js +3 -2
- package/dist/admin/admin/src/hooks/useEnterprise.js.map +1 -1
- package/dist/admin/admin/src/hooks/useFetchClient.js +3 -2
- package/dist/admin/admin/src/hooks/useFetchClient.js.map +1 -1
- package/dist/admin/admin/src/hooks/useForceUpdate.js +3 -2
- package/dist/admin/admin/src/hooks/useForceUpdate.js.map +1 -1
- package/dist/admin/admin/src/hooks/useIdleSessionLogout.js +85 -15
- package/dist/admin/admin/src/hooks/useIdleSessionLogout.js.map +1 -1
- package/dist/admin/admin/src/hooks/useIdleSessionLogout.mjs +82 -14
- package/dist/admin/admin/src/hooks/useIdleSessionLogout.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useIsMounted.js +3 -2
- package/dist/admin/admin/src/hooks/useIsMounted.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMediaQuery.js +3 -2
- package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.js +47 -8
- package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useMenu.mjs +40 -6
- package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useOnce.js +3 -2
- package/dist/admin/admin/src/hooks/useOnce.js.map +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.js +7 -3
- package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
- package/dist/admin/admin/src/hooks/useSettingsMenu.js +68 -4
- package/dist/admin/admin/src/hooks/useSettingsMenu.js.map +1 -1
- package/dist/admin/admin/src/hooks/useSettingsMenu.mjs +61 -2
- package/dist/admin/admin/src/hooks/useSettingsMenu.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.js +5 -1
- package/dist/admin/admin/src/hooks/useThrottledCallback.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +11 -5
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/ForgotPassword.js +3 -2
- package/dist/admin/admin/src/pages/Auth/components/ForgotPassword.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Login.js +8 -4
- package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Oops.js +3 -2
- package/dist/admin/admin/src/pages/Auth/components/Oops.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +9 -5
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +4 -3
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +9 -4
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +6 -2
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +8 -4
- package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +8 -4
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +7 -3
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.js +8 -4
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +3 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +3 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.js +3 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/utils/getDateOfExpiration.js +3 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/utils/getDateOfExpiration.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +7 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +5 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js +6 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +5 -2
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +7 -3
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +10 -6
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js +13 -7
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +15 -9
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js +9 -5
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +33 -25
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +10 -6
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/difference.js +9 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/difference.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js +8 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/layouts.js +6 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/layouts.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.js +8 -3
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +9 -5
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +3 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +4 -3
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js +3 -2
- package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
- package/dist/admin/admin/src/translations/ar.json.js +1 -1
- package/dist/admin/admin/src/translations/ar.json.mjs +1 -1
- package/dist/admin/admin/src/translations/cs.json.js +1 -1
- package/dist/admin/admin/src/translations/cs.json.mjs +1 -1
- package/dist/admin/admin/src/translations/de.json.js +1 -1
- package/dist/admin/admin/src/translations/de.json.mjs +1 -1
- package/dist/admin/admin/src/translations/en.json.js +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +1 -1
- package/dist/admin/admin/src/translations/es.json.js +1 -1
- package/dist/admin/admin/src/translations/es.json.mjs +1 -1
- package/dist/admin/admin/src/translations/fi.json.js +1 -1
- package/dist/admin/admin/src/translations/fi.json.mjs +1 -1
- package/dist/admin/admin/src/translations/fr.json.js +1 -1
- package/dist/admin/admin/src/translations/fr.json.mjs +1 -1
- package/dist/admin/admin/src/translations/it.json.js +1 -1
- package/dist/admin/admin/src/translations/it.json.mjs +1 -1
- package/dist/admin/admin/src/translations/ko.json.js +1 -1
- package/dist/admin/admin/src/translations/ko.json.mjs +1 -1
- package/dist/admin/admin/src/translations/nl.json.js +1 -1
- package/dist/admin/admin/src/translations/nl.json.mjs +1 -1
- package/dist/admin/admin/src/translations/pl.json.js +1 -1
- package/dist/admin/admin/src/translations/pl.json.mjs +1 -1
- package/dist/admin/admin/src/translations/ru.json.js +1 -1
- package/dist/admin/admin/src/translations/ru.json.mjs +1 -1
- package/dist/admin/admin/src/translations/tr.json.js +1 -1
- package/dist/admin/admin/src/translations/tr.json.mjs +1 -1
- package/dist/admin/admin/src/translations/uk.json.js +1 -1
- package/dist/admin/admin/src/translations/uk.json.mjs +1 -1
- package/dist/admin/admin/src/translations/vi.json.js +1 -1
- package/dist/admin/admin/src/translations/vi.json.mjs +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.js +1 -1
- package/dist/admin/admin/src/translations/zh-Hans.json.mjs +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js +7 -2
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/locales.js +3 -2
- package/dist/admin/admin/src/utils/locales.js.map +1 -1
- package/dist/admin/admin/src/utils/objects.js +9 -4
- package/dist/admin/admin/src/utils/objects.js.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.js +5 -1
- package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
- package/dist/admin/admin/src/utils/urls.js +5 -1
- package/dist/admin/admin/src/utils/urls.js.map +1 -1
- package/dist/admin/admin/src/utils/widgetVisibility.js +25 -0
- package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -0
- package/dist/admin/admin/src/utils/widgetVisibility.mjs +22 -0
- package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -0
- package/dist/admin/admin/tests/utils.js +3 -2
- package/dist/admin/admin/tests/utils.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js +7 -3
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js +3 -2
- package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.js +3 -2
- package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +6 -4
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +6 -4
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +3 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js +3 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js +5 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +3 -2
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js +7 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js.map +1 -1
- package/dist/admin/src/StrapiApp.d.ts +7 -1
- package/dist/admin/src/core/apis/router.d.ts +1 -2
- package/dist/admin/src/hooks/useIdleSessionLogout.d.ts +66 -12
- package/dist/admin/src/hooks/useMenu.d.ts +2 -1
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +2 -1
- package/dist/admin/src/utils/widgetVisibility.d.ts +18 -0
- package/dist/ee/server/src/controllers/user.d.ts.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +5 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.js +5 -1
- package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/ee/server/src/controllers/user.js +12 -7
- package/dist/server/ee/server/src/controllers/user.js.map +1 -1
- package/dist/server/ee/server/src/controllers/user.mjs +7 -6
- package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/ee/server/src/services/auth.js +5 -1
- package/dist/server/ee/server/src/services/auth.js.map +1 -1
- package/dist/server/ee/server/src/services/user.js +8 -4
- package/dist/server/ee/server/src/services/user.js.map +1 -1
- package/dist/server/index.js +6 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/server/src/ai/services/ai.js +10 -4
- package/dist/server/server/src/ai/services/ai.js.map +1 -1
- package/dist/server/server/src/controllers/admin.js +9 -4
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.js +25 -4
- package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
- package/dist/server/server/src/controllers/authenticated-user.mjs +25 -4
- package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
- package/dist/server/server/src/controllers/authentication.js +8 -18
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +1 -16
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/controllers/user.js +9 -7
- package/dist/server/server/src/controllers/user.js.map +1 -1
- package/dist/server/server/src/controllers/user.mjs +6 -5
- package/dist/server/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/server/src/controllers/webhooks.js +7 -2
- package/dist/server/server/src/controllers/webhooks.js.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.js +7 -2
- package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
- package/dist/server/server/src/policies/hasPermissions.js +7 -3
- package/dist/server/server/src/policies/hasPermissions.js.map +1 -1
- package/dist/server/server/src/routes/authentication.js +4 -1
- package/dist/server/server/src/routes/authentication.js.map +1 -1
- package/dist/server/server/src/routes/authentication.mjs +4 -1
- package/dist/server/server/src/routes/authentication.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js +8 -3
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/services/api-token.js +7 -3
- package/dist/server/server/src/services/api-token.js.map +1 -1
- package/dist/server/server/src/services/auth.js +8 -3
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/content-type.js +6 -2
- package/dist/server/server/src/services/content-type.js.map +1 -1
- package/dist/server/server/src/services/encryption.js +8 -4
- package/dist/server/server/src/services/encryption.js.map +1 -1
- package/dist/server/server/src/services/passport.js +6 -2
- package/dist/server/server/src/services/passport.js.map +1 -1
- package/dist/server/server/src/services/permission/engine.js +5 -1
- package/dist/server/server/src/services/permission/engine.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/index.js +5 -1
- package/dist/server/server/src/services/permission/permissions-manager/index.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js +20 -11
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs +21 -12
- package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/query-builders.js +14 -10
- package/dist/server/server/src/services/permission/permissions-manager/query-builders.js.map +1 -1
- package/dist/server/server/src/services/permission/queries.js +5 -1
- package/dist/server/server/src/services/permission/queries.js.map +1 -1
- package/dist/server/server/src/services/project-settings.js +6 -2
- package/dist/server/server/src/services/project-settings.js.map +1 -1
- package/dist/server/server/src/services/role.js +8 -4
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/token.js +7 -2
- package/dist/server/server/src/services/token.js.map +1 -1
- package/dist/server/server/src/services/transfer/permission.js +5 -1
- package/dist/server/server/src/services/transfer/permission.js.map +1 -1
- package/dist/server/server/src/services/transfer/token.js +10 -5
- package/dist/server/server/src/services/transfer/token.js.map +1 -1
- package/dist/server/server/src/services/user.js +50 -9
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +40 -3
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/utils/normalize-email.js +24 -0
- package/dist/server/server/src/utils/normalize-email.js.map +1 -0
- package/dist/server/server/src/utils/normalize-email.mjs +22 -0
- package/dist/server/server/src/utils/normalize-email.mjs.map +1 -0
- package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js +5 -1
- package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -1
- package/dist/server/server/src/validation/common-functions/check-fields-dont-have-duplicates.js +6 -2
- package/dist/server/server/src/validation/common-functions/check-fields-dont-have-duplicates.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.js +6 -2
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/policies/hasPermissions.js +6 -2
- package/dist/server/server/src/validation/policies/hasPermissions.js.map +1 -1
- package/dist/server/shared/utils/session-auth.js +5 -1
- package/dist/server/shared/utils/session-auth.js.map +1 -1
- package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/controllers/user.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +1 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/authentication.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +1 -0
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/server/src/utils/normalize-email.d.ts +12 -0
- package/dist/server/src/utils/normalize-email.d.ts.map +1 -0
- package/package.json +11 -13
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var throttle = require('lodash/throttle');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var throttle__default = /*#__PURE__*/_interopDefault(throttle);
|
|
9
|
+
|
|
6
10
|
/**
|
|
7
11
|
* @internal
|
|
8
12
|
* @description Create a throttled version of a callback
|
|
@@ -20,7 +24,7 @@ var throttle = require('lodash/throttle');
|
|
|
20
24
|
* <Button onClick={myThrottledCallback} />
|
|
21
25
|
* ```
|
|
22
26
|
*/ const useThrottledCallback = (callback, wait, options)=>{
|
|
23
|
-
const throttledCallback = React.useMemo(()=>
|
|
27
|
+
const throttledCallback = React.useMemo(()=>throttle__default.default(callback, wait, options), [
|
|
24
28
|
callback,
|
|
25
29
|
options,
|
|
26
30
|
wait
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThrottledCallback.js","sources":["../../../../../admin/src/hooks/useThrottledCallback.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport throttle from 'lodash/throttle';\n\ntype ThrottleSettings = Parameters<typeof throttle>[2];\n\n/**\n * @internal\n * @description Create a throttled version of a callback\n * @example\n * ```tsx\n * // First create a callback using React’s `useCallback` hook\n * const myCallback = useCallback(() => {\n * // this is not throttled\n * }, [])\n *\n * // Then make a throttled version using the `useThrottledCallback` hook\n * const myThrottledCallback = useThrottledCallback(myCallback, 100)\n *\n * // Call the throttled callback\n * <Button onClick={myThrottledCallback} />\n * ```\n */\nconst useThrottledCallback = <T extends (...args: any[]) => any>(\n callback: T,\n wait: number,\n options: ThrottleSettings\n): T => {\n const throttledCallback = useMemo(\n () => throttle(callback, wait, options) as unknown as T,\n [callback, options, wait]\n );\n\n return throttledCallback;\n};\n\nexport { useThrottledCallback };\n"],"names":["useThrottledCallback","callback","wait","options","throttledCallback","useMemo","throttle"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useThrottledCallback.js","sources":["../../../../../admin/src/hooks/useThrottledCallback.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport throttle from 'lodash/throttle';\n\ntype ThrottleSettings = Parameters<typeof throttle>[2];\n\n/**\n * @internal\n * @description Create a throttled version of a callback\n * @example\n * ```tsx\n * // First create a callback using React’s `useCallback` hook\n * const myCallback = useCallback(() => {\n * // this is not throttled\n * }, [])\n *\n * // Then make a throttled version using the `useThrottledCallback` hook\n * const myThrottledCallback = useThrottledCallback(myCallback, 100)\n *\n * // Call the throttled callback\n * <Button onClick={myThrottledCallback} />\n * ```\n */\nconst useThrottledCallback = <T extends (...args: any[]) => any>(\n callback: T,\n wait: number,\n options: ThrottleSettings\n): T => {\n const throttledCallback = useMemo(\n () => throttle(callback, wait, options) as unknown as T,\n [callback, options, wait]\n );\n\n return throttledCallback;\n};\n\nexport { useThrottledCallback };\n"],"names":["useThrottledCallback","callback","wait","options","throttledCallback","useMemo","throttle"],"mappings":";;;;;;;;;AAMA;;;;;;;;;;;;;;;;AAgBC,IACD,MAAMA,oBAAAA,GAAuB,CAC3BC,QAAAA,EACAC,IAAAA,EACAC,OAAAA,GAAAA;AAEA,IAAA,MAAMC,oBAAoBC,aAAAA,CACxB,IAAMC,yBAAAA,CAASL,QAAAA,EAAUC,MAAMC,OAAAA,CAAAA,EAC/B;AAACF,QAAAA,QAAAA;AAAUE,QAAAA,OAAAA;AAASD,QAAAA;AAAK,KAAA,CAAA;IAG3B,OAAOE,iBAAAA;AACT;;;;"}
|
|
@@ -25,7 +25,10 @@ var useMenu = require('../hooks/useMenu.js');
|
|
|
25
25
|
var admin = require('../services/admin.js');
|
|
26
26
|
var users = require('../utils/users.js');
|
|
27
27
|
|
|
28
|
-
function
|
|
28
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
|
+
|
|
30
|
+
function _interopNamespace(e) {
|
|
31
|
+
if (e && e.__esModule) return e;
|
|
29
32
|
var n = Object.create(null);
|
|
30
33
|
if (e) {
|
|
31
34
|
Object.keys(e).forEach(function (k) {
|
|
@@ -42,9 +45,12 @@ function _interopNamespaceDefault(e) {
|
|
|
42
45
|
return Object.freeze(n);
|
|
43
46
|
}
|
|
44
47
|
|
|
45
|
-
var React__namespace = /*#__PURE__*/
|
|
48
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
49
|
+
var packageInfo__default = /*#__PURE__*/_interopDefault(packageInfo);
|
|
50
|
+
var lt__default = /*#__PURE__*/_interopDefault(lt);
|
|
51
|
+
var valid__default = /*#__PURE__*/_interopDefault(valid);
|
|
46
52
|
|
|
47
|
-
const { version: strapiVersion } =
|
|
53
|
+
const { version: strapiVersion } = packageInfo__default.default;
|
|
48
54
|
const AdminLayout = ()=>{
|
|
49
55
|
const { formatMessage } = reactIntl.useIntl();
|
|
50
56
|
const userInfo = Auth.useAuth('AuthenticatedApp', (state)=>state.user);
|
|
@@ -164,10 +170,10 @@ const PrivateAdminLayout = ()=>{
|
|
|
164
170
|
});
|
|
165
171
|
};
|
|
166
172
|
const checkLatestStrapiVersion = (currentPackageVersion, latestPublishedVersion = '')=>{
|
|
167
|
-
if (!
|
|
173
|
+
if (!valid__default.default(currentPackageVersion) || !valid__default.default(latestPublishedVersion)) {
|
|
168
174
|
return false;
|
|
169
175
|
}
|
|
170
|
-
return
|
|
176
|
+
return lt__default.default(currentPackageVersion, latestPublishedVersion);
|
|
171
177
|
};
|
|
172
178
|
|
|
173
179
|
exports.AdminLayout = AdminLayout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticatedLayout.js","sources":["../../../../../admin/src/layouts/AuthenticatedLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport packageInfo from '@strapi/admin/package.json';\nimport { Box, Flex, SkipToContent } from '@strapi/design-system';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { Outlet } from 'react-router-dom';\nimport lt from 'semver/functions/lt';\nimport valid from 'semver/functions/valid';\n\nimport { LeftMenu } from '../components/LeftMenu';\nimport { NpsSurvey } from '../components/NpsSurvey';\nimport { Page } from '../components/PageHelpers';\nimport { PluginsInitializer } from '../components/PluginsInitializer';\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { UpsellBanner } from '../components/UpsellBanner';\nimport { AppInfoProvider } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useConfiguration } from '../features/Configuration';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { useTracking } from '../features/Tracking';\nimport { useMenu } from '../hooks/useMenu';\nimport { useInformationQuery } from '../services/admin';\nimport { hashAdminUserEmail } from '../utils/users';\n\nconst { version: strapiVersion } = packageInfo;\n\nconst AdminLayout = () => {\n const { formatMessage } = useIntl();\n const userInfo = useAuth('AuthenticatedApp', (state) => state.user);\n const [userId, setUserId] = React.useState<string>();\n const { showReleaseNotification } = useConfiguration('AuthenticatedApp');\n\n const { data: appInfo, isLoading: isLoadingAppInfo } = useInformationQuery();\n const [tagName, setTagName] = React.useState<string>(strapiVersion);\n\n React.useEffect(() => {\n if (showReleaseNotification) {\n fetch('https://api.github.com/repos/strapi/strapi/releases/latest')\n .then(async (res) => {\n if (!res.ok) {\n return;\n }\n\n const response = (await res.json()) as { tag_name: string | null | undefined };\n\n if (!response.tag_name) {\n throw new Error();\n }\n\n setTagName(response.tag_name);\n })\n .catch(() => {\n /**\n * silence is golden & we'll use the strapiVersion as a fallback\n */\n });\n }\n }, [showReleaseNotification]);\n\n React.useEffect(() => {\n hashAdminUserEmail(userInfo).then((id) => {\n if (id) {\n setUserId(id);\n }\n });\n }, [userInfo]);\n\n const { trackUsage } = useTracking();\n\n const {\n isLoading: isLoadingMenu,\n generalSectionLinks,\n pluginsSectionLinks,\n topMobileNavigation,\n burgerMobileNavigation,\n } = useMenu(checkLatestStrapiVersion(strapiVersion, tagName));\n\n const getAllWidgets = useStrapiApp('TrackingProvider', (state) => state.widgets.getAll);\n const projectId = appInfo?.projectId;\n React.useEffect(() => {\n if (projectId) {\n trackUsage('didAccessAuthenticatedAdministration', {\n registeredWidgets: getAllWidgets().map((widget) => widget.uid),\n projectId,\n });\n }\n }, [projectId, getAllWidgets, trackUsage]);\n\n // We don't need to wait for the release query to be fetched before rendering the plugins\n // however, we need the appInfos and the permissions\n if (isLoadingMenu || isLoadingAppInfo) {\n return <Page.Loading />;\n }\n\n return (\n <AppInfoProvider\n {...appInfo}\n userId={userId}\n latestStrapiReleaseTag={tagName}\n shouldUpdateStrapi={checkLatestStrapiVersion(strapiVersion, tagName)}\n >\n <NpsSurvey />\n <PluginsInitializer>\n <DndProvider backend={HTML5Backend}>\n <Box background=\"neutral100\">\n <SkipToContent>\n {formatMessage({ id: 'skipToContent', defaultMessage: 'Skip to content' })}\n </SkipToContent>\n <Flex\n height=\"100dvh\"\n direction={{\n initial: 'column',\n large: 'row',\n }}\n alignItems=\"flex-start\"\n >\n <LeftMenu\n generalSectionLinks={generalSectionLinks}\n pluginsSectionLinks={pluginsSectionLinks}\n topMobileNavigation={topMobileNavigation}\n burgerMobileNavigation={burgerMobileNavigation}\n />\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n flex={1}\n overflow=\"auto\"\n width=\"100%\"\n height={{\n initial: 'auto',\n large: '100%',\n }}\n >\n <UpsellBanner />\n <Outlet />\n </Flex>\n </Flex>\n </Box>\n </DndProvider>\n </PluginsInitializer>\n </AppInfoProvider>\n );\n};\n\nconst PrivateAdminLayout = () => {\n return (\n <PrivateRoute>\n <AdminLayout />\n </PrivateRoute>\n );\n};\n\nconst checkLatestStrapiVersion = (\n currentPackageVersion: string,\n latestPublishedVersion: string = ''\n): boolean => {\n if (!valid(currentPackageVersion) || !valid(latestPublishedVersion)) {\n return false;\n }\n\n return lt(currentPackageVersion, latestPublishedVersion);\n};\n\nexport { AdminLayout, PrivateAdminLayout };\n"],"names":["version","strapiVersion","packageInfo","AdminLayout","formatMessage","useIntl","userInfo","useAuth","state","user","userId","setUserId","React","useState","showReleaseNotification","useConfiguration","data","appInfo","isLoading","isLoadingAppInfo","useInformationQuery","tagName","setTagName","useEffect","fetch","then","res","ok","response","json","tag_name","Error","catch","hashAdminUserEmail","id","trackUsage","useTracking","isLoadingMenu","generalSectionLinks","pluginsSectionLinks","topMobileNavigation","burgerMobileNavigation","useMenu","checkLatestStrapiVersion","getAllWidgets","useStrapiApp","widgets","getAll","projectId","registeredWidgets","map","widget","uid","_jsx","Page","Loading","_jsxs","AppInfoProvider","latestStrapiReleaseTag","shouldUpdateStrapi","NpsSurvey","PluginsInitializer","DndProvider","backend","HTML5Backend","Box","background","SkipToContent","defaultMessage","Flex","height","direction","initial","large","alignItems","LeftMenu","flex","overflow","width","UpsellBanner","Outlet","PrivateAdminLayout","PrivateRoute","currentPackageVersion","latestPublishedVersion","valid","lt"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthenticatedLayout.js","sources":["../../../../../admin/src/layouts/AuthenticatedLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport packageInfo from '@strapi/admin/package.json';\nimport { Box, Flex, SkipToContent } from '@strapi/design-system';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { Outlet } from 'react-router-dom';\nimport lt from 'semver/functions/lt';\nimport valid from 'semver/functions/valid';\n\nimport { LeftMenu } from '../components/LeftMenu';\nimport { NpsSurvey } from '../components/NpsSurvey';\nimport { Page } from '../components/PageHelpers';\nimport { PluginsInitializer } from '../components/PluginsInitializer';\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { UpsellBanner } from '../components/UpsellBanner';\nimport { AppInfoProvider } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useConfiguration } from '../features/Configuration';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { useTracking } from '../features/Tracking';\nimport { useMenu } from '../hooks/useMenu';\nimport { useInformationQuery } from '../services/admin';\nimport { hashAdminUserEmail } from '../utils/users';\n\nconst { version: strapiVersion } = packageInfo;\n\nconst AdminLayout = () => {\n const { formatMessage } = useIntl();\n const userInfo = useAuth('AuthenticatedApp', (state) => state.user);\n const [userId, setUserId] = React.useState<string>();\n const { showReleaseNotification } = useConfiguration('AuthenticatedApp');\n\n const { data: appInfo, isLoading: isLoadingAppInfo } = useInformationQuery();\n const [tagName, setTagName] = React.useState<string>(strapiVersion);\n\n React.useEffect(() => {\n if (showReleaseNotification) {\n fetch('https://api.github.com/repos/strapi/strapi/releases/latest')\n .then(async (res) => {\n if (!res.ok) {\n return;\n }\n\n const response = (await res.json()) as { tag_name: string | null | undefined };\n\n if (!response.tag_name) {\n throw new Error();\n }\n\n setTagName(response.tag_name);\n })\n .catch(() => {\n /**\n * silence is golden & we'll use the strapiVersion as a fallback\n */\n });\n }\n }, [showReleaseNotification]);\n\n React.useEffect(() => {\n hashAdminUserEmail(userInfo).then((id) => {\n if (id) {\n setUserId(id);\n }\n });\n }, [userInfo]);\n\n const { trackUsage } = useTracking();\n\n const {\n isLoading: isLoadingMenu,\n generalSectionLinks,\n pluginsSectionLinks,\n topMobileNavigation,\n burgerMobileNavigation,\n } = useMenu(checkLatestStrapiVersion(strapiVersion, tagName));\n\n const getAllWidgets = useStrapiApp('TrackingProvider', (state) => state.widgets.getAll);\n const projectId = appInfo?.projectId;\n React.useEffect(() => {\n if (projectId) {\n trackUsage('didAccessAuthenticatedAdministration', {\n registeredWidgets: getAllWidgets().map((widget) => widget.uid),\n projectId,\n });\n }\n }, [projectId, getAllWidgets, trackUsage]);\n\n // We don't need to wait for the release query to be fetched before rendering the plugins\n // however, we need the appInfos and the permissions\n if (isLoadingMenu || isLoadingAppInfo) {\n return <Page.Loading />;\n }\n\n return (\n <AppInfoProvider\n {...appInfo}\n userId={userId}\n latestStrapiReleaseTag={tagName}\n shouldUpdateStrapi={checkLatestStrapiVersion(strapiVersion, tagName)}\n >\n <NpsSurvey />\n <PluginsInitializer>\n <DndProvider backend={HTML5Backend}>\n <Box background=\"neutral100\">\n <SkipToContent>\n {formatMessage({ id: 'skipToContent', defaultMessage: 'Skip to content' })}\n </SkipToContent>\n <Flex\n height=\"100dvh\"\n direction={{\n initial: 'column',\n large: 'row',\n }}\n alignItems=\"flex-start\"\n >\n <LeftMenu\n generalSectionLinks={generalSectionLinks}\n pluginsSectionLinks={pluginsSectionLinks}\n topMobileNavigation={topMobileNavigation}\n burgerMobileNavigation={burgerMobileNavigation}\n />\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n flex={1}\n overflow=\"auto\"\n width=\"100%\"\n height={{\n initial: 'auto',\n large: '100%',\n }}\n >\n <UpsellBanner />\n <Outlet />\n </Flex>\n </Flex>\n </Box>\n </DndProvider>\n </PluginsInitializer>\n </AppInfoProvider>\n );\n};\n\nconst PrivateAdminLayout = () => {\n return (\n <PrivateRoute>\n <AdminLayout />\n </PrivateRoute>\n );\n};\n\nconst checkLatestStrapiVersion = (\n currentPackageVersion: string,\n latestPublishedVersion: string = ''\n): boolean => {\n if (!valid(currentPackageVersion) || !valid(latestPublishedVersion)) {\n return false;\n }\n\n return lt(currentPackageVersion, latestPublishedVersion);\n};\n\nexport { AdminLayout, PrivateAdminLayout };\n"],"names":["version","strapiVersion","packageInfo","AdminLayout","formatMessage","useIntl","userInfo","useAuth","state","user","userId","setUserId","React","useState","showReleaseNotification","useConfiguration","data","appInfo","isLoading","isLoadingAppInfo","useInformationQuery","tagName","setTagName","useEffect","fetch","then","res","ok","response","json","tag_name","Error","catch","hashAdminUserEmail","id","trackUsage","useTracking","isLoadingMenu","generalSectionLinks","pluginsSectionLinks","topMobileNavigation","burgerMobileNavigation","useMenu","checkLatestStrapiVersion","getAllWidgets","useStrapiApp","widgets","getAll","projectId","registeredWidgets","map","widget","uid","_jsx","Page","Loading","_jsxs","AppInfoProvider","latestStrapiReleaseTag","shouldUpdateStrapi","NpsSurvey","PluginsInitializer","DndProvider","backend","HTML5Backend","Box","background","SkipToContent","defaultMessage","Flex","height","direction","initial","large","alignItems","LeftMenu","flex","overflow","width","UpsellBanner","Outlet","PrivateAdminLayout","PrivateRoute","currentPackageVersion","latestPublishedVersion","valid","lt"],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@ var auth = require('../../../services/auth.js');
|
|
|
14
14
|
var baseQuery = require('../../../utils/baseQuery.js');
|
|
15
15
|
var translatedErrors = require('../../../utils/translatedErrors.js');
|
|
16
16
|
|
|
17
|
-
function
|
|
17
|
+
function _interopNamespace(e) {
|
|
18
|
+
if (e && e.__esModule) return e;
|
|
18
19
|
var n = Object.create(null);
|
|
19
20
|
if (e) {
|
|
20
21
|
Object.keys(e).forEach(function (k) {
|
|
@@ -31,7 +32,7 @@ function _interopNamespaceDefault(e) {
|
|
|
31
32
|
return Object.freeze(n);
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
var yup__namespace = /*#__PURE__*/
|
|
35
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
35
36
|
|
|
36
37
|
const ForgotPassword = ()=>{
|
|
37
38
|
const navigate = reactRouterDom.useNavigate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPassword.js","sources":["../../../../../../../admin/src/pages/Auth/components/ForgotPassword.tsx"],"sourcesContent":["import { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { useForgotPasswordMutation } from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nimport type { ForgotPassword } from '../../../../../shared/contracts/authentication';\n\nconst ForgotPassword = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [forgotPassword, { error }] = useForgotPasswordMutation();\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({\n id: 'Auth.form.button.password-recovery',\n defaultMessage: 'Password Recovery',\n })}\n </Typography>\n </Box>\n {error ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {isBaseQueryError(error)\n ? formatAPIError(error)\n : formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n })}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"POST\"\n initialValues={{\n email: '',\n }}\n onSubmit={async (body) => {\n const res = await forgotPassword(body);\n\n if (!('error' in res)) {\n navigate('/auth/forgot-password-success');\n }\n }}\n validationSchema={yup.object().shape({\n email: yup\n .string()\n .email(translatedErrors.email)\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required.',\n })\n .nullable(),\n })}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n label: formatMessage({ id: 'Auth.form.email.label', defaultMessage: 'Email' }),\n name: 'email',\n placeholder: formatMessage({\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'kai@doe.com',\n }),\n required: true,\n type: 'string' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button type=\"submit\" fullWidth>\n {formatMessage({\n id: 'Auth.form.button.forgot-password',\n defaultMessage: 'Send Email',\n })}\n </Button>\n </Flex>\n </Form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.ready', defaultMessage: 'Ready to sign in?' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { ForgotPassword };\n"],"names":["ForgotPassword","navigate","useNavigate","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","forgotPassword","error","useForgotPasswordMutation","_jsx","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","id","defaultMessage","role","tabIndex","textColor","isBaseQueryError","Form","method","initialValues","email","onSubmit","body","res","validationSchema","yup","object","shape","string","translatedErrors","required","nullable","Flex","direction","alignItems","gap","label","name","placeholder","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","NavLink","to"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ForgotPassword.js","sources":["../../../../../../../admin/src/pages/Auth/components/ForgotPassword.tsx"],"sourcesContent":["import { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { useForgotPasswordMutation } from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nimport type { ForgotPassword } from '../../../../../shared/contracts/authentication';\n\nconst ForgotPassword = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [forgotPassword, { error }] = useForgotPasswordMutation();\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({\n id: 'Auth.form.button.password-recovery',\n defaultMessage: 'Password Recovery',\n })}\n </Typography>\n </Box>\n {error ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {isBaseQueryError(error)\n ? formatAPIError(error)\n : formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n })}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"POST\"\n initialValues={{\n email: '',\n }}\n onSubmit={async (body) => {\n const res = await forgotPassword(body);\n\n if (!('error' in res)) {\n navigate('/auth/forgot-password-success');\n }\n }}\n validationSchema={yup.object().shape({\n email: yup\n .string()\n .email(translatedErrors.email)\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required.',\n })\n .nullable(),\n })}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n label: formatMessage({ id: 'Auth.form.email.label', defaultMessage: 'Email' }),\n name: 'email',\n placeholder: formatMessage({\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'kai@doe.com',\n }),\n required: true,\n type: 'string' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button type=\"submit\" fullWidth>\n {formatMessage({\n id: 'Auth.form.button.forgot-password',\n defaultMessage: 'Send Email',\n })}\n </Button>\n </Flex>\n </Form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.ready', defaultMessage: 'Ready to sign in?' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { ForgotPassword };\n"],"names":["ForgotPassword","navigate","useNavigate","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","forgotPassword","error","useForgotPasswordMutation","_jsx","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","id","defaultMessage","role","tabIndex","textColor","isBaseQueryError","Form","method","initialValues","email","onSubmit","body","res","validationSchema","yup","object","shape","string","translatedErrors","required","nullable","Flex","direction","alignItems","gap","label","name","placeholder","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","NavLink","to"],"mappings":"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"}
|
|
@@ -14,7 +14,10 @@ var Auth = require('../../../features/Auth.js');
|
|
|
14
14
|
var UnauthenticatedLayout = require('../../../layouts/UnauthenticatedLayout.js');
|
|
15
15
|
var translatedErrors = require('../../../utils/translatedErrors.js');
|
|
16
16
|
|
|
17
|
-
function
|
|
17
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
|
|
19
|
+
function _interopNamespace(e) {
|
|
20
|
+
if (e && e.__esModule) return e;
|
|
18
21
|
var n = Object.create(null);
|
|
19
22
|
if (e) {
|
|
20
23
|
Object.keys(e).forEach(function (k) {
|
|
@@ -31,8 +34,9 @@ function _interopNamespaceDefault(e) {
|
|
|
31
34
|
return Object.freeze(n);
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
var React__namespace = /*#__PURE__*/
|
|
35
|
-
var
|
|
37
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
38
|
+
var camelCase__default = /*#__PURE__*/_interopDefault(camelCase);
|
|
39
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
36
40
|
|
|
37
41
|
const LOGIN_SCHEMA = yup__namespace.object().shape({
|
|
38
42
|
email: yup__namespace.string().nullable().email({
|
|
@@ -56,7 +60,7 @@ const Login = ({ children })=>{
|
|
|
56
60
|
const res = await login(body);
|
|
57
61
|
if ('error' in res) {
|
|
58
62
|
const message = res.error.message ?? 'Something went wrong';
|
|
59
|
-
if (
|
|
63
|
+
if (camelCase__default.default(message).toLowerCase() === 'usernotactive') {
|
|
60
64
|
navigate('/auth/oops');
|
|
61
65
|
return;
|
|
62
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","sources":["../../../../../../../admin/src/pages/Auth/components/Login.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport camelCase from 'lodash/camelCase';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useAuth } from '../../../features/Auth';\nimport {\n UnauthenticatedLayout,\n Column,\n LayoutContent,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nimport type { Login } from '../../../../../shared/contracts/authentication';\n\ninterface LoginProps {\n children?: React.ReactNode;\n}\n\nconst LOGIN_SCHEMA = yup.object().shape({\n email: yup\n .string()\n .nullable()\n .email({\n id: translatedErrors.email.id,\n defaultMessage: 'Not a valid email',\n })\n .required(translatedErrors.required),\n password: yup.string().required(translatedErrors.required).nullable(),\n rememberMe: yup.bool().nullable(),\n});\n\nconst Login = ({ children }: LoginProps) => {\n const [apiError, setApiError] = React.useState<string>();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const navigate = useNavigate();\n\n const { login } = useAuth('Login', (auth) => auth);\n\n const handleLogin = async (body: Parameters<typeof login>[0]) => {\n setApiError(undefined);\n\n const res = await login(body);\n\n if ('error' in res) {\n const message = res.error.message ?? 'Something went wrong';\n\n if (camelCase(message).toLowerCase() === 'usernotactive') {\n navigate('/auth/oops');\n return;\n }\n\n setApiError(message);\n } else {\n const redirectTo = query.get('redirectTo');\n const redirectUrl = redirectTo ? decodeURIComponent(redirectTo) : '/';\n\n navigate(redirectUrl);\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography variant=\"alpha\" tag=\"h1\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.welcome.title',\n defaultMessage: 'Welcome!',\n })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography\n variant=\"epsilon\"\n textColor=\"neutral600\"\n textAlign=\"center\"\n display=\"block\"\n >\n {formatMessage({\n id: 'Auth.form.welcome.subtitle',\n defaultMessage: 'Log in to your Strapi account',\n })}\n </Typography>\n </Box>\n {apiError ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {apiError}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"PUT\"\n initialValues={{\n email: '',\n password: '',\n rememberMe: false,\n }}\n onSubmit={(values) => {\n handleLogin(values);\n }}\n validationSchema={LOGIN_SCHEMA}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n label: formatMessage({ id: 'Auth.form.email.label', defaultMessage: 'Email' }),\n name: 'email',\n placeholder: formatMessage({\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'kai@doe.com',\n }),\n required: true,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.rememberMe.label',\n defaultMessage: 'Remember me',\n }),\n name: 'rememberMe',\n type: 'checkbox' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button fullWidth type=\"submit\">\n {formatMessage({ id: 'Auth.form.button.login', defaultMessage: 'Login' })}\n </Button>\n </Flex>\n </Form>\n {children}\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link isExternal={false} tag={NavLink} to=\"/auth/forgot-password\">\n {formatMessage({\n id: 'Auth.link.forgot-password',\n defaultMessage: 'Forgot your password?',\n })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { Login };\nexport type { LoginProps };\n"],"names":["LOGIN_SCHEMA","yup","object","shape","email","string","nullable","id","translatedErrors","defaultMessage","required","password","rememberMe","bool","Login","children","apiError","setApiError","React","useState","formatMessage","useIntl","search","searchString","useLocation","query","useMemo","URLSearchParams","navigate","useNavigate","login","useAuth","auth","handleLogin","body","undefined","res","message","error","camelCase","toLowerCase","redirectTo","get","redirectUrl","decodeURIComponent","_jsx","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","variant","tag","textAlign","textColor","display","role","tabIndex","Form","method","initialValues","onSubmit","values","validationSchema","Flex","direction","alignItems","gap","label","name","placeholder","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","isExternal","NavLink","to"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Login.js","sources":["../../../../../../../admin/src/pages/Auth/components/Login.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport camelCase from 'lodash/camelCase';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useAuth } from '../../../features/Auth';\nimport {\n UnauthenticatedLayout,\n Column,\n LayoutContent,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nimport type { Login } from '../../../../../shared/contracts/authentication';\n\ninterface LoginProps {\n children?: React.ReactNode;\n}\n\nconst LOGIN_SCHEMA = yup.object().shape({\n email: yup\n .string()\n .nullable()\n .email({\n id: translatedErrors.email.id,\n defaultMessage: 'Not a valid email',\n })\n .required(translatedErrors.required),\n password: yup.string().required(translatedErrors.required).nullable(),\n rememberMe: yup.bool().nullable(),\n});\n\nconst Login = ({ children }: LoginProps) => {\n const [apiError, setApiError] = React.useState<string>();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const navigate = useNavigate();\n\n const { login } = useAuth('Login', (auth) => auth);\n\n const handleLogin = async (body: Parameters<typeof login>[0]) => {\n setApiError(undefined);\n\n const res = await login(body);\n\n if ('error' in res) {\n const message = res.error.message ?? 'Something went wrong';\n\n if (camelCase(message).toLowerCase() === 'usernotactive') {\n navigate('/auth/oops');\n return;\n }\n\n setApiError(message);\n } else {\n const redirectTo = query.get('redirectTo');\n const redirectUrl = redirectTo ? decodeURIComponent(redirectTo) : '/';\n\n navigate(redirectUrl);\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography variant=\"alpha\" tag=\"h1\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.welcome.title',\n defaultMessage: 'Welcome!',\n })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography\n variant=\"epsilon\"\n textColor=\"neutral600\"\n textAlign=\"center\"\n display=\"block\"\n >\n {formatMessage({\n id: 'Auth.form.welcome.subtitle',\n defaultMessage: 'Log in to your Strapi account',\n })}\n </Typography>\n </Box>\n {apiError ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {apiError}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"PUT\"\n initialValues={{\n email: '',\n password: '',\n rememberMe: false,\n }}\n onSubmit={(values) => {\n handleLogin(values);\n }}\n validationSchema={LOGIN_SCHEMA}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n label: formatMessage({ id: 'Auth.form.email.label', defaultMessage: 'Email' }),\n name: 'email',\n placeholder: formatMessage({\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'kai@doe.com',\n }),\n required: true,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.rememberMe.label',\n defaultMessage: 'Remember me',\n }),\n name: 'rememberMe',\n type: 'checkbox' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button fullWidth type=\"submit\">\n {formatMessage({ id: 'Auth.form.button.login', defaultMessage: 'Login' })}\n </Button>\n </Flex>\n </Form>\n {children}\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link isExternal={false} tag={NavLink} to=\"/auth/forgot-password\">\n {formatMessage({\n id: 'Auth.link.forgot-password',\n defaultMessage: 'Forgot your password?',\n })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { Login };\nexport type { LoginProps };\n"],"names":["LOGIN_SCHEMA","yup","object","shape","email","string","nullable","id","translatedErrors","defaultMessage","required","password","rememberMe","bool","Login","children","apiError","setApiError","React","useState","formatMessage","useIntl","search","searchString","useLocation","query","useMemo","URLSearchParams","navigate","useNavigate","login","useAuth","auth","handleLogin","body","undefined","res","message","error","camelCase","toLowerCase","redirectTo","get","redirectUrl","decodeURIComponent","_jsx","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","variant","tag","textAlign","textColor","display","role","tabIndex","Form","method","initialValues","onSubmit","values","validationSchema","Flex","direction","alignItems","gap","label","name","placeholder","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","isExternal","NavLink","to"],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ var reactRouterDom = require('react-router-dom');
|
|
|
8
8
|
var UnauthenticatedLogo = require('../../../components/UnauthenticatedLogo.js');
|
|
9
9
|
var UnauthenticatedLayout = require('../../../layouts/UnauthenticatedLayout.js');
|
|
10
10
|
|
|
11
|
-
function
|
|
11
|
+
function _interopNamespace(e) {
|
|
12
|
+
if (e && e.__esModule) return e;
|
|
12
13
|
var n = Object.create(null);
|
|
13
14
|
if (e) {
|
|
14
15
|
Object.keys(e).forEach(function (k) {
|
|
@@ -25,7 +26,7 @@ function _interopNamespaceDefault(e) {
|
|
|
25
26
|
return Object.freeze(n);
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
var React__namespace = /*#__PURE__*/
|
|
29
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
29
30
|
|
|
30
31
|
const Oops = ()=>{
|
|
31
32
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Oops.js","sources":["../../../../../../../admin/src/pages/Auth/components/Oops.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\n\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\n\nconst Oops = () => {\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n\n const message =\n query.get('info') ||\n formatMessage({\n id: 'Auth.components.Oops.text',\n defaultMessage: 'Your account has been suspended.',\n });\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.components.Oops.title', defaultMessage: 'Oops...' })}\n </Typography>\n </Box>\n <Typography>{message}</Typography>\n <Box paddingTop={4}>\n <Typography>\n {formatMessage({\n id: 'Auth.components.Oops.text.admin',\n defaultMessage: 'If this is a mistake, please contact your administrator.',\n })}\n </Typography>\n </Box>\n </Column>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.signin', defaultMessage: 'Sign in' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { Oops };\n"],"names":["Oops","formatMessage","useIntl","search","searchString","useLocation","query","React","useMemo","URLSearchParams","message","get","id","defaultMessage","_jsx","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","Flex","justifyContent","Link","NavLink","to"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Oops.js","sources":["../../../../../../../admin/src/pages/Auth/components/Oops.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\n\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\n\nconst Oops = () => {\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n\n const message =\n query.get('info') ||\n formatMessage({\n id: 'Auth.components.Oops.text',\n defaultMessage: 'Your account has been suspended.',\n });\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.components.Oops.title', defaultMessage: 'Oops...' })}\n </Typography>\n </Box>\n <Typography>{message}</Typography>\n <Box paddingTop={4}>\n <Typography>\n {formatMessage({\n id: 'Auth.components.Oops.text.admin',\n defaultMessage: 'If this is a mistake, please contact your administrator.',\n })}\n </Typography>\n </Box>\n </Column>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.signin', defaultMessage: 'Sign in' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { Oops };\n"],"names":["Oops","formatMessage","useIntl","search","searchString","useLocation","query","React","useMemo","URLSearchParams","message","get","id","defaultMessage","_jsx","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","Flex","justifyContent","Link","NavLink","to"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,IAAAA,GAAO,IAAA;IACX,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,MAAAA,EAAQC,YAAY,EAAE,GAAGC,0BAAAA,EAAAA;AACjC,IAAA,MAAMC,QAAQC,gBAAAA,CAAMC,OAAO,CAAC,IAAM,IAAIC,gBAAgBL,YAAAA,CAAAA,EAAe;AAACA,QAAAA;AAAa,KAAA,CAAA;AAEnF,IAAA,MAAMM,OAAAA,GACJJ,KAAAA,CAAMK,GAAG,CAAC,WACVV,aAAAA,CAAc;QACZW,EAAAA,EAAI,2BAAA;QACJC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEF,IAAA,qBACEC,cAAA,CAACC,2CAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAC,eAAA,CAACC,iBAAAA,EAAAA;;8BACCH,cAAA,CAACI,mCAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAF,eAAA,CAACG,4BAAAA,EAAAA;;0CACCL,cAAA,CAACM,wBAAAA,EAAAA,EAAAA,CAAAA;0CACDN,cAAA,CAACO,gBAAAA,EAAAA;gCAAIC,UAAAA,EAAY,CAAA;gCAAGC,aAAAA,EAAe,CAAA;AACjC,gCAAA,QAAA,gBAAAT,cAAA,CAACU,uBAAAA,EAAAA;oCAAWC,GAAAA,EAAI,IAAA;oCAAKC,OAAAA,EAAQ,OAAA;8CAC1BzB,aAAAA,CAAc;wCAAEW,EAAAA,EAAI,4BAAA;wCAA8BC,cAAAA,EAAgB;AAAU,qCAAA;;;0CAGjFC,cAAA,CAACU,uBAAAA,EAAAA;AAAYd,gCAAAA,QAAAA,EAAAA;;0CACbI,cAAA,CAACO,gBAAAA,EAAAA;gCAAIC,UAAAA,EAAY,CAAA;AACf,gCAAA,QAAA,gBAAAR,cAAA,CAACU,uBAAAA,EAAAA;8CACEvB,aAAAA,CAAc;wCACbW,EAAAA,EAAI,iCAAA;wCACJC,cAAAA,EAAgB;AAClB,qCAAA;;;;;;8BAKRC,cAAA,CAACa,iBAAAA,EAAAA;oBAAKC,cAAAA,EAAe,QAAA;AACnB,oBAAA,QAAA,gBAAAd,cAAA,CAACO,gBAAAA,EAAAA;wBAAIC,UAAAA,EAAY,CAAA;AACf,wBAAA,QAAA,gBAAAR,cAAA,CAACe,iBAAAA,EAAAA;4BAAKJ,GAAAA,EAAKK,sBAAAA;4BAASC,EAAAA,EAAG,aAAA;sCACpB9B,aAAAA,CAAc;gCAAEW,EAAAA,EAAI,kBAAA;gCAAoBC,cAAAA,EAAgB;AAAU,6BAAA;;;;;;;AAOjF;;;;"}
|
|
@@ -24,7 +24,10 @@ var deviceId = require('../../../utils/deviceId.js');
|
|
|
24
24
|
var strings = require('../../../utils/strings.js');
|
|
25
25
|
var translatedErrors = require('../../../utils/translatedErrors.js');
|
|
26
26
|
|
|
27
|
-
function
|
|
27
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
28
|
+
|
|
29
|
+
function _interopNamespace(e) {
|
|
30
|
+
if (e && e.__esModule) return e;
|
|
28
31
|
var n = Object.create(null);
|
|
29
32
|
if (e) {
|
|
30
33
|
Object.keys(e).forEach(function (k) {
|
|
@@ -41,8 +44,9 @@ function _interopNamespaceDefault(e) {
|
|
|
41
44
|
return Object.freeze(n);
|
|
42
45
|
}
|
|
43
46
|
|
|
44
|
-
var React__namespace = /*#__PURE__*/
|
|
45
|
-
var
|
|
47
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
48
|
+
var omit__default = /*#__PURE__*/_interopDefault(omit);
|
|
49
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
46
50
|
|
|
47
51
|
const REGISTER_USER_SCHEMA = yup__namespace.object().shape({
|
|
48
52
|
firstname: yup__namespace.string().trim().required(translatedErrors.translatedErrors.required).nullable(),
|
|
@@ -339,7 +343,7 @@ const Register = ({ hasAdmin })=>{
|
|
|
339
343
|
}
|
|
340
344
|
if (normalizedData.registrationToken) {
|
|
341
345
|
handleRegisterUser({
|
|
342
|
-
userInfo:
|
|
346
|
+
userInfo: omit__default.default(normalizedData, [
|
|
343
347
|
'registrationToken',
|
|
344
348
|
'confirmPassword',
|
|
345
349
|
'email',
|
|
@@ -349,7 +353,7 @@ const Register = ({ hasAdmin })=>{
|
|
|
349
353
|
news: normalizedData.news
|
|
350
354
|
}, helpers.setErrors);
|
|
351
355
|
} else {
|
|
352
|
-
await handleRegisterAdmin(
|
|
356
|
+
await handleRegisterAdmin(omit__default.default(normalizedData, [
|
|
353
357
|
'registrationToken',
|
|
354
358
|
'confirmPassword'
|
|
355
359
|
]), helpers.setErrors);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Register.js","sources":["../../../../../../../admin/src/pages/Auth/components/Register.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, Link } from '@strapi/design-system';\nimport omit from 'lodash/omit';\nimport { type MessageDescriptor, type PrimitiveType, useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate, useMatch, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\nimport { ValidationError } from 'yup';\n\nimport {\n Register as RegisterUser,\n RegisterAdmin,\n} from '../../../../../shared/contracts/authentication';\nimport { Form, FormHelpers } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { useNpsSurveySettings } from '../../../components/NpsSurvey';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useTracking } from '../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { LayoutContent, UnauthenticatedLayout } from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport {\n useGetRegistrationInfoQuery,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n} from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getOrCreateDeviceId } from '../../../utils/deviceId';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst REGISTER_USER_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required).nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n registrationToken: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'Registration token is required',\n }),\n});\n\nconst REGISTER_ADMIN_SCHEMA = yup.object().shape({\n firstname: yup\n .string()\n .trim()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Firstname is required',\n })\n .nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value) return true;\n return new TextEncoder().encode(value).length <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .nullable()\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n }),\n email: yup\n .string()\n .email({\n id: translatedErrors.email.id,\n defaultMessage: 'Not a valid email',\n })\n .strict()\n .lowercase({\n id: translatedErrors.lowercase.id,\n defaultMessage: 'Email must be lowercase',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Email is required',\n })\n .nullable(),\n});\n\ninterface RegisterProps {\n hasAdmin?: boolean;\n}\n\ninterface RegisterFormValues {\n firstname: string;\n lastname: string;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n}\n\ninterface IntlFormattedMessage extends MessageDescriptor {\n values?: Record<string, PrimitiveType>;\n}\n\nconst Register = ({ hasAdmin }: RegisterProps) => {\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const [submitCount, setSubmitCount] = React.useState(0);\n const [apiError, setApiError] = React.useState<string>();\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const match = useMatch('/auth/:authType');\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { setNpsSurveySettings } = useNpsSurveySettings();\n\n const registrationToken = query.get('registrationToken');\n\n const { data: userInfo, error } = useGetRegistrationInfoQuery(registrationToken as string, {\n skip: !registrationToken,\n });\n\n React.useEffect(() => {\n if (error) {\n const message: string = isBaseQueryError(error)\n ? formatAPIError(error)\n : (error.message ?? '');\n\n toggleNotification({\n type: 'danger',\n message,\n });\n\n navigate(`/auth/oops?info=${encodeURIComponent(message)}`);\n }\n }, [error, formatAPIError, navigate, toggleNotification]);\n\n const [registerAdmin] = useRegisterAdminMutation();\n const [registerUser] = useRegisterUserMutation();\n const dispatch = useTypedDispatch();\n\n const handleRegisterAdmin = async (\n { news, ...body }: RegisterAdmin.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerAdmin({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${true}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n const handleRegisterUser = async (\n { news, ...body }: RegisterUser.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerUser({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${hasAdmin}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n if (\n !match ||\n (match.params.authType !== 'register' && match.params.authType !== 'register-admin')\n ) {\n return <Navigate to=\"/\" />;\n }\n\n const isAdminRegistration = match.params.authType === 'register-admin';\n\n const schema = isAdminRegistration ? REGISTER_ADMIN_SCHEMA : REGISTER_USER_SCHEMA;\n\n return (\n <UnauthenticatedLayout>\n <LayoutContent>\n <Flex direction=\"column\" alignItems=\"center\" gap={3}>\n <Logo />\n\n <Typography tag=\"h1\" variant=\"alpha\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.welcome.title',\n defaultMessage: 'Welcome to Strapi!',\n })}\n </Typography>\n <Typography variant=\"epsilon\" textColor=\"neutral600\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.register.subtitle',\n defaultMessage:\n 'Credentials are only used to authenticate in Strapi. All saved data will be stored in your database.',\n })}\n </Typography>\n {apiError ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {apiError}\n </Typography>\n ) : null}\n </Flex>\n <Form\n method=\"POST\"\n initialValues={\n {\n firstname: userInfo?.firstname || '',\n lastname: userInfo?.lastname || '',\n email: userInfo?.email || '',\n password: '',\n confirmPassword: '',\n registrationToken: registrationToken || undefined,\n news: false,\n } satisfies RegisterFormValues\n }\n onSubmit={async (data, helpers) => {\n const normalizedData = normalizeData(data);\n\n try {\n await schema.validate(normalizedData, { abortEarly: false });\n\n if (submitCount > 0 && isAdminRegistration) {\n trackUsage('didSubmitWithErrorsFirstAdmin', { count: submitCount.toString() });\n }\n\n if (normalizedData.registrationToken) {\n handleRegisterUser(\n {\n userInfo: omit(normalizedData, [\n 'registrationToken',\n 'confirmPassword',\n 'email',\n 'news',\n ]),\n registrationToken: normalizedData.registrationToken,\n news: normalizedData.news,\n },\n helpers.setErrors\n );\n } else {\n await handleRegisterAdmin(\n omit(normalizedData, ['registrationToken', 'confirmPassword']),\n helpers.setErrors\n );\n }\n } catch (err) {\n if (err instanceof ValidationError) {\n const formatDescriptor = (msg: any) => {\n try {\n if (!msg) return '';\n if (typeof msg === 'string') return msg;\n // Direct descriptor\n if ('id' in msg && 'defaultMessage' in msg) return formatMessage(msg as any);\n // Wrapped descriptor: { message: { id, defaultMessage } }\n if (msg.message && typeof msg.message === 'object' && 'id' in msg.message) {\n return formatMessage(msg.message as any);\n }\n // errors array: [{ id, defaultMessage }]\n if (Array.isArray(msg.errors) && msg.errors.length > 0) {\n const first = msg.errors[0];\n if (typeof first === 'string') return first;\n if (first && typeof first === 'object' && 'id' in first)\n return formatMessage(first as any);\n }\n // fallback to defaultMessage if present\n if ('defaultMessage' in msg) return msg.defaultMessage;\n return String(msg);\n } catch (e) {\n return String(msg);\n }\n };\n\n const computed = err.inner.reduce<Record<string, string>>(\n (acc, { message, path }) => {\n if (!path) return acc;\n acc[path] = formatDescriptor(message);\n return acc;\n },\n {}\n );\n\n helpers.setErrors(computed);\n }\n\n setSubmitCount(submitCount + 1);\n }\n }}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} marginTop={7}>\n <Grid.Root gap={4}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'Firstname',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Lastname',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n disabled: !isAdminRegistration,\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 12,\n type: 'email' as const,\n },\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage(\n {\n id: 'Auth.form.register.news.label',\n defaultMessage:\n 'Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy}).',\n },\n {\n terms: (\n <A target=\"_blank\" href=\"https://strapi.io/terms\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.terms',\n defaultMessage: 'terms',\n })}\n </A>\n ),\n policy: (\n <A target=\"_blank\" href=\"https://strapi.io/privacy\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.policy',\n defaultMessage: 'policy',\n })}\n </A>\n ),\n }\n ),\n name: 'news',\n size: 12,\n type: 'checkbox' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n xs={12}\n m={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n <Button fullWidth size=\"L\" type=\"submit\">\n {formatMessage({\n id: 'Auth.form.button.register',\n defaultMessage: \"Let's start\",\n })}\n </Button>\n </Flex>\n </Form>\n {match?.params.authType === 'register' && (\n <Box paddingTop={4}>\n <Flex justifyContent=\"center\">\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({\n id: 'Auth.link.signin.account',\n defaultMessage: 'Already have an account?',\n })}\n </Link>\n </Flex>\n </Box>\n )}\n </LayoutContent>\n </UnauthenticatedLayout>\n );\n};\n\ntype StringKeys<T> = {\n [K in keyof T]: T[K] extends string | undefined ? K : never;\n}[keyof T];\n\n/**\n * @description Trims all values but the password & sets lastName to null if it's a falsey value.\n */\nfunction normalizeData(data: RegisterFormValues) {\n return Object.entries(data).reduce(\n (acc, [key, value]) => {\n type PasswordKeys = Extract<keyof RegisterFormValues, 'password' | 'confirmPassword'>;\n type RegisterFormStringValues = Exclude<\n keyof Pick<RegisterFormValues, StringKeys<RegisterFormValues>>,\n PasswordKeys\n >;\n\n if (!['password', 'confirmPassword'].includes(key) && typeof value === 'string') {\n acc[key as RegisterFormStringValues] = value.trim();\n\n if (key === 'lastname') {\n acc[key] = value || undefined;\n }\n } else {\n acc[key as PasswordKeys] = value;\n }\n\n return acc;\n },\n {} as {\n firstname: string;\n lastname: string | undefined;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n }\n );\n}\n\nconst A = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\nexport { Register };\nexport type { RegisterProps };\n"],"names":["REGISTER_USER_SCHEMA","yup","object","shape","firstname","string","trim","required","translatedErrors","nullable","lastname","password","min","id","minLength","defaultMessage","values","test","value","byteSize","getByteSize","message","confirmPassword","oneOf","ref","registrationToken","REGISTER_ADMIN_SCHEMA","TextEncoder","encode","length","email","strict","lowercase","Register","hasAdmin","toggleNotification","useNotification","navigate","useNavigate","submitCount","setSubmitCount","React","useState","apiError","setApiError","trackUsage","useTracking","formatMessage","useIntl","search","searchString","useLocation","query","useMemo","URLSearchParams","match","useMatch","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","setNpsSurveySettings","useNpsSurveySettings","get","data","userInfo","error","useGetRegistrationInfoQuery","skip","useEffect","isBaseQueryError","type","encodeURIComponent","registerAdmin","useRegisterAdminMutation","registerUser","useRegisterUserMutation","dispatch","useTypedDispatch","handleRegisterAdmin","news","body","setFormErrors","res","deviceId","getOrCreateDeviceId","login","token","s","enabled","pathname","name","handleRegisterUser","params","authType","_jsx","Navigate","to","isAdminRegistration","schema","UnauthenticatedLayout","_jsxs","LayoutContent","Flex","direction","alignItems","gap","Logo","Typography","tag","variant","textAlign","textColor","role","tabIndex","Form","method","initialValues","undefined","onSubmit","helpers","normalizedData","normalizeData","validate","abortEarly","count","toString","omit","setErrors","err","ValidationError","formatDescriptor","msg","Array","isArray","errors","first","String","e","computed","inner","reduce","acc","path","marginTop","Grid","Root","label","size","disabled","hint","terms","A","target","href","rel","policy","map","field","Item","xs","m","InputRenderer","Button","fullWidth","Box","paddingTop","justifyContent","Link","NavLink","Object","entries","key","includes","styled","a","theme","colors","primary600"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Register.js","sources":["../../../../../../../admin/src/pages/Auth/components/Register.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, Link } from '@strapi/design-system';\nimport omit from 'lodash/omit';\nimport { type MessageDescriptor, type PrimitiveType, useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate, useMatch, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\nimport { ValidationError } from 'yup';\n\nimport {\n Register as RegisterUser,\n RegisterAdmin,\n} from '../../../../../shared/contracts/authentication';\nimport { Form, FormHelpers } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { useNpsSurveySettings } from '../../../components/NpsSurvey';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useNotification } from '../../../features/Notifications';\nimport { useTracking } from '../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport { LayoutContent, UnauthenticatedLayout } from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport {\n useGetRegistrationInfoQuery,\n useRegisterAdminMutation,\n useRegisterUserMutation,\n} from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getOrCreateDeviceId } from '../../../utils/deviceId';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst REGISTER_USER_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required).nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n registrationToken: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'Registration token is required',\n }),\n});\n\nconst REGISTER_ADMIN_SCHEMA = yup.object().shape({\n firstname: yup\n .string()\n .trim()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Firstname is required',\n })\n .nullable(),\n lastname: yup.string().nullable(),\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n .test(\n 'max-bytes',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value) return true;\n return new TextEncoder().encode(value).length <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .nullable()\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n }),\n email: yup\n .string()\n .email({\n id: translatedErrors.email.id,\n defaultMessage: 'Not a valid email',\n })\n .strict()\n .lowercase({\n id: translatedErrors.lowercase.id,\n defaultMessage: 'Email must be lowercase',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Email is required',\n })\n .nullable(),\n});\n\ninterface RegisterProps {\n hasAdmin?: boolean;\n}\n\ninterface RegisterFormValues {\n firstname: string;\n lastname: string;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n}\n\ninterface IntlFormattedMessage extends MessageDescriptor {\n values?: Record<string, PrimitiveType>;\n}\n\nconst Register = ({ hasAdmin }: RegisterProps) => {\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const [submitCount, setSubmitCount] = React.useState(0);\n const [apiError, setApiError] = React.useState<string>();\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const match = useMatch('/auth/:authType');\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { setNpsSurveySettings } = useNpsSurveySettings();\n\n const registrationToken = query.get('registrationToken');\n\n const { data: userInfo, error } = useGetRegistrationInfoQuery(registrationToken as string, {\n skip: !registrationToken,\n });\n\n React.useEffect(() => {\n if (error) {\n const message: string = isBaseQueryError(error)\n ? formatAPIError(error)\n : (error.message ?? '');\n\n toggleNotification({\n type: 'danger',\n message,\n });\n\n navigate(`/auth/oops?info=${encodeURIComponent(message)}`);\n }\n }, [error, formatAPIError, navigate, toggleNotification]);\n\n const [registerAdmin] = useRegisterAdminMutation();\n const [registerUser] = useRegisterUserMutation();\n const dispatch = useTypedDispatch();\n\n const handleRegisterAdmin = async (\n { news, ...body }: RegisterAdmin.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerAdmin({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${true}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n const handleRegisterUser = async (\n { news, ...body }: RegisterUser.Request['body'] & { news: boolean },\n setFormErrors: FormHelpers<RegisterFormValues>['setErrors']\n ) => {\n const res = await registerUser({ ...body, deviceId: getOrCreateDeviceId() });\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n\n if (news) {\n // Only enable EE survey if user accepted the newsletter\n setNpsSurveySettings((s) => ({ ...s, enabled: true }));\n\n navigate({\n pathname: '/usecase',\n search: `?hasAdmin=${hasAdmin}`,\n });\n } else {\n navigate('/');\n }\n } else {\n if (isBaseQueryError(res.error)) {\n trackUsage('didNotCreateFirstAdmin');\n\n if (res.error.name === 'ValidationError') {\n setFormErrors(formatValidationErrors(res.error));\n return;\n }\n\n setApiError(formatAPIError(res.error));\n }\n }\n };\n\n if (\n !match ||\n (match.params.authType !== 'register' && match.params.authType !== 'register-admin')\n ) {\n return <Navigate to=\"/\" />;\n }\n\n const isAdminRegistration = match.params.authType === 'register-admin';\n\n const schema = isAdminRegistration ? REGISTER_ADMIN_SCHEMA : REGISTER_USER_SCHEMA;\n\n return (\n <UnauthenticatedLayout>\n <LayoutContent>\n <Flex direction=\"column\" alignItems=\"center\" gap={3}>\n <Logo />\n\n <Typography tag=\"h1\" variant=\"alpha\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.welcome.title',\n defaultMessage: 'Welcome to Strapi!',\n })}\n </Typography>\n <Typography variant=\"epsilon\" textColor=\"neutral600\" textAlign=\"center\">\n {formatMessage({\n id: 'Auth.form.register.subtitle',\n defaultMessage:\n 'Credentials are only used to authenticate in Strapi. All saved data will be stored in your database.',\n })}\n </Typography>\n {apiError ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {apiError}\n </Typography>\n ) : null}\n </Flex>\n <Form\n method=\"POST\"\n initialValues={\n {\n firstname: userInfo?.firstname || '',\n lastname: userInfo?.lastname || '',\n email: userInfo?.email || '',\n password: '',\n confirmPassword: '',\n registrationToken: registrationToken || undefined,\n news: false,\n } satisfies RegisterFormValues\n }\n onSubmit={async (data, helpers) => {\n const normalizedData = normalizeData(data);\n\n try {\n await schema.validate(normalizedData, { abortEarly: false });\n\n if (submitCount > 0 && isAdminRegistration) {\n trackUsage('didSubmitWithErrorsFirstAdmin', { count: submitCount.toString() });\n }\n\n if (normalizedData.registrationToken) {\n handleRegisterUser(\n {\n userInfo: omit(normalizedData, [\n 'registrationToken',\n 'confirmPassword',\n 'email',\n 'news',\n ]),\n registrationToken: normalizedData.registrationToken,\n news: normalizedData.news,\n },\n helpers.setErrors\n );\n } else {\n await handleRegisterAdmin(\n omit(normalizedData, ['registrationToken', 'confirmPassword']),\n helpers.setErrors\n );\n }\n } catch (err) {\n if (err instanceof ValidationError) {\n const formatDescriptor = (msg: any) => {\n try {\n if (!msg) return '';\n if (typeof msg === 'string') return msg;\n // Direct descriptor\n if ('id' in msg && 'defaultMessage' in msg) return formatMessage(msg as any);\n // Wrapped descriptor: { message: { id, defaultMessage } }\n if (msg.message && typeof msg.message === 'object' && 'id' in msg.message) {\n return formatMessage(msg.message as any);\n }\n // errors array: [{ id, defaultMessage }]\n if (Array.isArray(msg.errors) && msg.errors.length > 0) {\n const first = msg.errors[0];\n if (typeof first === 'string') return first;\n if (first && typeof first === 'object' && 'id' in first)\n return formatMessage(first as any);\n }\n // fallback to defaultMessage if present\n if ('defaultMessage' in msg) return msg.defaultMessage;\n return String(msg);\n } catch (e) {\n return String(msg);\n }\n };\n\n const computed = err.inner.reduce<Record<string, string>>(\n (acc, { message, path }) => {\n if (!path) return acc;\n acc[path] = formatDescriptor(message);\n return acc;\n },\n {}\n );\n\n helpers.setErrors(computed);\n }\n\n setSubmitCount(submitCount + 1);\n }\n }}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} marginTop={7}>\n <Grid.Root gap={4}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'Firstname',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Lastname',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n disabled: !isAdminRegistration,\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 12,\n type: 'email' as const,\n },\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n size: 12,\n type: 'password' as const,\n },\n {\n label: formatMessage(\n {\n id: 'Auth.form.register.news.label',\n defaultMessage:\n 'Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy}).',\n },\n {\n terms: (\n <A target=\"_blank\" href=\"https://strapi.io/terms\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.terms',\n defaultMessage: 'terms',\n })}\n </A>\n ),\n policy: (\n <A target=\"_blank\" href=\"https://strapi.io/privacy\" rel=\"noreferrer\">\n {formatMessage({\n id: 'Auth.privacy-policy-agreement.policy',\n defaultMessage: 'policy',\n })}\n </A>\n ),\n }\n ),\n name: 'news',\n size: 12,\n type: 'checkbox' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n xs={12}\n m={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n <Button fullWidth size=\"L\" type=\"submit\">\n {formatMessage({\n id: 'Auth.form.button.register',\n defaultMessage: \"Let's start\",\n })}\n </Button>\n </Flex>\n </Form>\n {match?.params.authType === 'register' && (\n <Box paddingTop={4}>\n <Flex justifyContent=\"center\">\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({\n id: 'Auth.link.signin.account',\n defaultMessage: 'Already have an account?',\n })}\n </Link>\n </Flex>\n </Box>\n )}\n </LayoutContent>\n </UnauthenticatedLayout>\n );\n};\n\ntype StringKeys<T> = {\n [K in keyof T]: T[K] extends string | undefined ? K : never;\n}[keyof T];\n\n/**\n * @description Trims all values but the password & sets lastName to null if it's a falsey value.\n */\nfunction normalizeData(data: RegisterFormValues) {\n return Object.entries(data).reduce(\n (acc, [key, value]) => {\n type PasswordKeys = Extract<keyof RegisterFormValues, 'password' | 'confirmPassword'>;\n type RegisterFormStringValues = Exclude<\n keyof Pick<RegisterFormValues, StringKeys<RegisterFormValues>>,\n PasswordKeys\n >;\n\n if (!['password', 'confirmPassword'].includes(key) && typeof value === 'string') {\n acc[key as RegisterFormStringValues] = value.trim();\n\n if (key === 'lastname') {\n acc[key] = value || undefined;\n }\n } else {\n acc[key as PasswordKeys] = value;\n }\n\n return acc;\n },\n {} as {\n firstname: string;\n lastname: string | undefined;\n email: string;\n password: string;\n confirmPassword: string;\n registrationToken: string | undefined;\n news: boolean;\n }\n );\n}\n\nconst A = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\nexport { Register };\nexport type { RegisterProps };\n"],"names":["REGISTER_USER_SCHEMA","yup","object","shape","firstname","string","trim","required","translatedErrors","nullable","lastname","password","min","id","minLength","defaultMessage","values","test","value","byteSize","getByteSize","message","confirmPassword","oneOf","ref","registrationToken","REGISTER_ADMIN_SCHEMA","TextEncoder","encode","length","email","strict","lowercase","Register","hasAdmin","toggleNotification","useNotification","navigate","useNavigate","submitCount","setSubmitCount","React","useState","apiError","setApiError","trackUsage","useTracking","formatMessage","useIntl","search","searchString","useLocation","query","useMemo","URLSearchParams","match","useMatch","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","setNpsSurveySettings","useNpsSurveySettings","get","data","userInfo","error","useGetRegistrationInfoQuery","skip","useEffect","isBaseQueryError","type","encodeURIComponent","registerAdmin","useRegisterAdminMutation","registerUser","useRegisterUserMutation","dispatch","useTypedDispatch","handleRegisterAdmin","news","body","setFormErrors","res","deviceId","getOrCreateDeviceId","login","token","s","enabled","pathname","name","handleRegisterUser","params","authType","_jsx","Navigate","to","isAdminRegistration","schema","UnauthenticatedLayout","_jsxs","LayoutContent","Flex","direction","alignItems","gap","Logo","Typography","tag","variant","textAlign","textColor","role","tabIndex","Form","method","initialValues","undefined","onSubmit","helpers","normalizedData","normalizeData","validate","abortEarly","count","toString","omit","setErrors","err","ValidationError","formatDescriptor","msg","Array","isArray","errors","first","String","e","computed","inner","reduce","acc","path","marginTop","Grid","Root","label","size","disabled","hint","terms","A","target","href","rel","policy","map","field","Item","xs","m","InputRenderer","Button","fullWidth","Box","paddingTop","justifyContent","Link","NavLink","Object","entries","key","includes","styled","a","theme","colors","primary600"],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@ var baseQuery = require('../../../utils/baseQuery.js');
|
|
|
18
18
|
var strings = require('../../../utils/strings.js');
|
|
19
19
|
var translatedErrors = require('../../../utils/translatedErrors.js');
|
|
20
20
|
|
|
21
|
-
function
|
|
21
|
+
function _interopNamespace(e) {
|
|
22
|
+
if (e && e.__esModule) return e;
|
|
22
23
|
var n = Object.create(null);
|
|
23
24
|
if (e) {
|
|
24
25
|
Object.keys(e).forEach(function (k) {
|
|
@@ -35,8 +36,8 @@ function _interopNamespaceDefault(e) {
|
|
|
35
36
|
return Object.freeze(n);
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
var React__namespace = /*#__PURE__*/
|
|
39
|
-
var yup__namespace = /*#__PURE__*/
|
|
39
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
40
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
40
41
|
|
|
41
42
|
const RESET_PASSWORD_SCHEMA = yup__namespace.object().shape({
|
|
42
43
|
password: yup__namespace.string().min(8, {
|