@strapi/admin 4.0.2 → 4.0.6
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/admin/src/components/LeftMenu/index.js +13 -5
- package/admin/src/components/UpgradePlanModal/index.js +7 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/CellValue.js +12 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/utils/getNumberOfDecimals.js +8 -0
- package/admin/src/content-manager/components/DynamicZone/components/DzLabel/index.js +24 -7
- package/admin/src/content-manager/components/DynamicZone/index.js +6 -10
- package/admin/src/content-manager/components/InputUID/index.js +4 -0
- package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +8 -0
- package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
- package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/IconButtonCustoms.js +0 -4
- package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +36 -14
- package/admin/src/content-manager/components/RepeatableComponent/index.js +2 -2
- package/admin/src/content-manager/components/Wysiwyg/Editor.js +6 -4
- package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +2 -0
- package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +2 -1
- package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +79 -68
- package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -0
- package/admin/src/content-manager/components/Wysiwyg/index.js +17 -5
- package/admin/src/content-manager/pages/App/index.js +9 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +1 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +6 -7
- package/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js +1 -1
- package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +1 -0
- package/admin/src/pages/Admin/index.js +2 -0
- package/admin/src/pages/AuthPage/components/Register/index.js +4 -1
- package/admin/src/pages/AuthPage/utils/forms.js +2 -0
- package/admin/src/pages/InternalErrorPage/index.js +53 -0
- package/admin/src/pages/NotFoundPage/index.js +45 -2
- package/admin/src/pages/ProfilePage/index.js +2 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +1 -0
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js +2 -0
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/layout.js +2 -0
- package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +1 -0
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +1 -9
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +2 -0
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +1 -4
- package/admin/src/translations/dk.json +300 -110
- package/admin/src/translations/en.json +4 -0
- package/admin/src/translations/es.json +204 -4
- package/admin/src/translations/hu.json +672 -0
- package/admin/src/translations/ja.json +327 -7
- package/admin/src/translations/languageNativeNames.js +1 -0
- package/admin/src/translations/nl.json +512 -125
- package/admin/src/translations/pt-BR.json +398 -19
- package/admin/src/translations/uk.json +40 -40
- package/admin/src/translations/zh-Hans.json +554 -204
- package/admin/src/translations/zh.json +7 -0
- package/build/{1024.1b15fbb5.chunk.js → 1024.595f3e01.chunk.js} +1 -1
- package/build/{1856.0a6992d6.chunk.js → 1856.cc060f4a.chunk.js} +1 -1
- package/build/{5881.deb18c91.chunk.js → 3215.03a0bf5d.chunk.js} +2 -2
- package/build/{5881.deb18c91.chunk.js.LICENSE.txt → 3215.03a0bf5d.chunk.js.LICENSE.txt} +0 -0
- package/build/4261.061aed35.chunk.js +1 -0
- package/build/4362.1b2440be.chunk.js +1 -0
- package/build/4672.68466ddc.chunk.js +1 -0
- package/build/{4715.f134f37a.chunk.js → 4715.a5e6716c.chunk.js} +1 -1
- package/build/4741.18bf386b.chunk.js +2 -0
- package/build/{4741.1fb6ad6e.chunk.js.LICENSE.txt → 4741.18bf386b.chunk.js.LICENSE.txt} +0 -0
- package/build/4801.44382ab3.chunk.js +2 -0
- package/build/{2664.f33f619d.chunk.js.LICENSE.txt → 4801.44382ab3.chunk.js.LICENSE.txt} +0 -0
- package/build/{497.726adbfa.chunk.js → 497.a28b7510.chunk.js} +1 -1
- package/build/{4982.a7f87e6c.chunk.js → 4982.4666f610.chunk.js} +1 -1
- package/build/6060.72f9dda2.chunk.js +2 -0
- package/build/{3226.1a4b5cd1.chunk.js.LICENSE.txt → 6060.72f9dda2.chunk.js.LICENSE.txt} +1 -1
- package/build/{6250.11ba8b50.chunk.js → 6250.6c7a86f7.chunk.js} +1 -1
- package/build/849.2f8d8ef9.chunk.js +1 -0
- package/build/9235.63b1528f.chunk.js +1 -0
- package/build/Admin-authenticatedApp.b9ff71df.chunk.js +1 -0
- package/build/Admin_homePage.964f59a3.chunk.js +1 -0
- package/build/Admin_marketplace.1cf20eeb.chunk.js +1 -0
- package/build/{Admin_pluginsPage.22390055.chunk.js → Admin_pluginsPage.0d59d86e.chunk.js} +1 -1
- package/build/Admin_profilePage.c08119de.chunk.js +1 -0
- package/build/Admin_settingsPage.23cd984a.chunk.js +1 -0
- package/build/admin-edit-roles-page.57fa787d.chunk.js +1 -0
- package/build/admin-edit-users.572c68f8.chunk.js +1 -0
- package/build/admin-users.fa7573b6.chunk.js +1 -0
- package/build/{api-tokens-create-page.ab33d46d.chunk.js → api-tokens-create-page.ef71291c.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.749496cc.chunk.js → api-tokens-edit-page.1486974f.chunk.js} +1 -1
- package/build/api-tokens-list-page.05f53943.chunk.js +1 -0
- package/build/{ar-json.9805489e.chunk.js → ar-json.d79e4709.chunk.js} +1 -1
- package/build/codemirror-css.17bc19d4.chunk.js +1 -0
- package/build/codemirror-theme.b5559efc.chunk.js +1 -0
- package/build/content-manager.006dc634.chunk.js +1 -0
- package/build/{content-type-builder-translation-ar-json.bce4d624.chunk.js → content-type-builder-translation-ar-json.f1fedc12.chunk.js} +1 -1
- package/build/{content-type-builder-translation-cs-json.785866b6.chunk.js → content-type-builder-translation-cs-json.2f7e2289.chunk.js} +1 -1
- package/build/{content-type-builder-translation-de-json.6faa019a.chunk.js → content-type-builder-translation-de-json.46017754.chunk.js} +1 -1
- package/build/content-type-builder-translation-dk-json.098bd218.chunk.js +1 -0
- package/build/{content-type-builder-translation-en-json.81257d0d.chunk.js → content-type-builder-translation-en-json.d70fc3af.chunk.js} +1 -1
- package/build/content-type-builder-translation-es-json.20c177ee.chunk.js +1 -0
- package/build/{content-type-builder-translation-fr-json.2156f48c.chunk.js → content-type-builder-translation-fr-json.8f66eb66.chunk.js} +1 -1
- package/build/content-type-builder-translation-id-json.aab2f426.chunk.js +1 -0
- package/build/{content-type-builder-translation-it-json.dc154c62.chunk.js → content-type-builder-translation-it-json.4c91e895.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ja-json.9f8695a0.chunk.js → content-type-builder-translation-ja-json.c239ba90.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ko-json.0288cb2b.chunk.js → content-type-builder-translation-ko-json.2a5e0769.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ms-json.cfc21fb6.chunk.js → content-type-builder-translation-ms-json.124be88c.chunk.js} +1 -1
- package/build/{content-type-builder-translation-nl-json.4d742025.chunk.js → content-type-builder-translation-nl-json.98a240b8.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pl-json.1b701a76.chunk.js → content-type-builder-translation-pl-json.2abc61bd.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pt-BR-json.2c514ada.chunk.js → content-type-builder-translation-pt-BR-json.c0415545.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pt-json.a3c4315c.chunk.js → content-type-builder-translation-pt-json.ab3e086d.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ru-json.72173619.chunk.js → content-type-builder-translation-ru-json.1a6779fd.chunk.js} +1 -1
- package/build/{content-type-builder-translation-sk-json.e654be3b.chunk.js → content-type-builder-translation-sk-json.5c82f020.chunk.js} +1 -1
- package/build/{content-type-builder-translation-th-json.403aa6a4.chunk.js → content-type-builder-translation-th-json.24ee19eb.chunk.js} +1 -1
- package/build/{content-type-builder-translation-tr-json.72027971.chunk.js → content-type-builder-translation-tr-json.30434835.chunk.js} +1 -1
- package/build/{content-type-builder-translation-uk-json.a1b9f71b.chunk.js → content-type-builder-translation-uk-json.771662ef.chunk.js} +1 -1
- package/build/{content-type-builder-translation-zh-Hans-json.4c242866.chunk.js → content-type-builder-translation-zh-Hans-json.070020ae.chunk.js} +1 -1
- package/build/{content-type-builder-translation-zh-json.3b3eb4e8.chunk.js → content-type-builder-translation-zh-json.9708310d.chunk.js} +1 -1
- package/build/content-type-builder.2e3a53f1.chunk.js +1 -0
- package/build/cropper-css.ace19575.chunk.js +1 -0
- package/build/{cs-json.ff08076e.chunk.js → cs-json.b8ba75b8.chunk.js} +1 -1
- package/build/de-json.e01bdeae.chunk.js +1 -0
- package/build/dk-json.7356ea4b.chunk.js +1 -0
- package/build/email-settings-page.8f22f49c.chunk.js +1 -0
- package/build/email-translation-ar-json.95d90eb4.chunk.js +1 -0
- package/build/email-translation-cs-json.dfd1f3f2.chunk.js +1 -0
- package/build/email-translation-de-json.559a7d5f.chunk.js +1 -0
- package/build/email-translation-dk-json.f8a595bf.chunk.js +1 -0
- package/build/{email-translation-en-json.ef8208e3.chunk.js → email-translation-en-json.fa0dc92b.chunk.js} +1 -1
- package/build/email-translation-es-json.eb303dea.chunk.js +1 -0
- package/build/email-translation-fr-json.49c3c888.chunk.js +1 -0
- package/build/email-translation-id-json.e3c2101d.chunk.js +1 -0
- package/build/email-translation-it-json.3de61cb6.chunk.js +1 -0
- package/build/{email-translation-ja-json.66b21ec1.chunk.js → email-translation-ja-json.66337e44.chunk.js} +1 -1
- package/build/{email-translation-ko-json.e383ad57.chunk.js → email-translation-ko-json.52bbd7b4.chunk.js} +1 -1
- package/build/email-translation-ms-json.e39256df.chunk.js +1 -0
- package/build/email-translation-nl-json.12d28adb.chunk.js +1 -0
- package/build/email-translation-pl-json.9585a84e.chunk.js +1 -0
- package/build/email-translation-pt-BR-json.6c04b3ef.chunk.js +1 -0
- package/build/email-translation-pt-json.0239be04.chunk.js +1 -0
- package/build/email-translation-ru-json.f3b4fecc.chunk.js +1 -0
- package/build/email-translation-sk-json.76dbaaa6.chunk.js +1 -0
- package/build/email-translation-th-json.25ad73e7.chunk.js +1 -0
- package/build/email-translation-tr-json.ae04a9f2.chunk.js +1 -0
- package/build/email-translation-uk-json.03b27b08.chunk.js +1 -0
- package/build/email-translation-vi-json.3e1dd5b3.chunk.js +1 -0
- package/build/email-translation-zh-Hans-json.0df4ca59.chunk.js +1 -0
- package/build/email-translation-zh-json.82978eb0.chunk.js +1 -0
- package/build/en-json.ec998c8f.chunk.js +1 -0
- package/build/es-json.ed9c8bef.chunk.js +1 -0
- package/build/fontawesome-css-all.3b89f909.chunk.js +1 -0
- package/build/fontawesome-css.ef93ee2a.chunk.js +1 -0
- package/build/fr-json.bae03a2c.chunk.js +1 -0
- package/build/{he-json.fafa8569.chunk.js → he-json.86f9e663.chunk.js} +1 -1
- package/build/highlight.js.6321cb45.chunk.js +1 -0
- package/build/hu-json.a741d263.chunk.js +1 -0
- package/build/i18n-translation-dk-json.932d3cc2.chunk.js +1 -0
- package/build/{i18n-translation-en-json.a90b9dc5.chunk.js → i18n-translation-en-json.239b740f.chunk.js} +1 -1
- package/build/i18n-translation-es-json.347904f3.chunk.js +1 -0
- package/build/i18n-translation-fr-json.b52474fc.chunk.js +1 -0
- package/build/{i18n-translation-ko-json.f0628aff.chunk.js → i18n-translation-ko-json.e88e11ef.chunk.js} +1 -1
- package/build/{i18n-translation-zh-Hans-json.670b4940.chunk.js → i18n-translation-zh-Hans-json.4c17fed0.chunk.js} +1 -1
- package/build/{id-json.3372dadc.chunk.js → id-json.0b0c9731.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/{it-json.0e5d5fdb.chunk.js → it-json.939916bc.chunk.js} +1 -1
- package/build/ja-json.52581a2a.chunk.js +1 -0
- package/build/{ko-json.35832b30.chunk.js → ko-json.29633034.chunk.js} +1 -1
- package/build/main.815f1087.js +2 -0
- package/build/{main.dfa22c7a.js.LICENSE.txt → main.815f1087.js.LICENSE.txt} +0 -0
- package/build/{ms-json.a66beabc.chunk.js → ms-json.5e5d12f9.chunk.js} +1 -1
- package/build/nl-json.ac661b7f.chunk.js +1 -0
- package/build/{no-json.25f63ee7.chunk.js → no-json.ff46b126.chunk.js} +1 -1
- package/build/{pl-json.3d7884e1.chunk.js → pl-json.6bff1d54.chunk.js} +1 -1
- package/build/pt-BR-json.8b3f799d.chunk.js +1 -0
- package/build/{pt-json.21a66a61.chunk.js → pt-json.b23d9a79.chunk.js} +1 -1
- package/build/{ru-json.ca2b6c3c.chunk.js → ru-json.bff93229.chunk.js} +1 -1
- package/build/runtime~main.85d349af.js +1 -0
- package/build/{sk-json.7f750e28.chunk.js → sk-json.a40bc2c8.chunk.js} +1 -1
- package/build/{sso-settings-page.bd7a8fd7.chunk.js → sso-settings-page.36c35df0.chunk.js} +1 -1
- package/build/{sv-json.3b5cc7f9.chunk.js → sv-json.8ac61ecf.chunk.js} +1 -1
- package/build/{th-json.694b4038.chunk.js → th-json.6e4502a3.chunk.js} +1 -1
- package/build/{tr-json.a842843a.chunk.js → tr-json.eaca955b.chunk.js} +1 -1
- package/build/uk-json.da2ed14e.chunk.js +1 -0
- package/build/{upload-translation-de-json.b4ff3c56.chunk.js → upload-translation-de-json.00f90715.chunk.js} +1 -1
- package/build/{upload-translation-dk-json.f37ae5c0.chunk.js → upload-translation-dk-json.bc6af8b4.chunk.js} +1 -1
- package/build/upload-translation-en-json.6b529046.chunk.js +1 -0
- package/build/upload-translation-es-json.b53d6641.chunk.js +1 -0
- package/build/{upload-translation-fr-json.0f4b3839.chunk.js → upload-translation-fr-json.ccb4ad8b.chunk.js} +1 -1
- package/build/{upload-translation-he-json.4b5e48bc.chunk.js → upload-translation-he-json.5dc34ea8.chunk.js} +1 -1
- package/build/upload-translation-it-json.c1809a47.chunk.js +1 -0
- package/build/{upload-translation-ja-json.9e1193c7.chunk.js → upload-translation-ja-json.71aa85eb.chunk.js} +1 -1
- package/build/{upload-translation-ko-json.b6602572.chunk.js → upload-translation-ko-json.da369eef.chunk.js} +1 -1
- package/build/{upload-translation-ms-json.bfb86c2e.chunk.js → upload-translation-ms-json.be669f81.chunk.js} +1 -1
- package/build/{upload-translation-pl-json.e0282fa4.chunk.js → upload-translation-pl-json.67685825.chunk.js} +1 -1
- package/build/{upload-translation-pt-BR-json.ad6bb9f8.chunk.js → upload-translation-pt-BR-json.f7b1133d.chunk.js} +1 -1
- package/build/{upload-translation-ru-json.4303b6a0.chunk.js → upload-translation-ru-json.54c031aa.chunk.js} +1 -1
- package/build/{upload-translation-sk-json.90a0bc6c.chunk.js → upload-translation-sk-json.f643dfc2.chunk.js} +1 -1
- package/build/{upload-translation-th-json.cf0d62e0.chunk.js → upload-translation-th-json.88ee2090.chunk.js} +1 -1
- package/build/{upload-translation-uk-json.ec345d61.chunk.js → upload-translation-uk-json.1a90e73c.chunk.js} +1 -1
- package/build/{upload-translation-zh-Hans-json.f320fa39.chunk.js → upload-translation-zh-Hans-json.ac1dc0b9.chunk.js} +1 -1
- package/build/{upload-translation-zh-json.9ad30216.chunk.js → upload-translation-zh-json.164ac601.chunk.js} +1 -1
- package/build/{upload.1e3e2685.chunk.js → upload.6f33785e.chunk.js} +1 -1
- package/build/users-email-settings-page.678794aa.chunk.js +1 -0
- package/build/{users-permissions-translation-ar-json.6fe0dcf5.chunk.js → users-permissions-translation-ar-json.bdddd0d7.chunk.js} +1 -1
- package/build/{users-permissions-translation-cs-json.dd4bb452.chunk.js → users-permissions-translation-cs-json.7881d3ff.chunk.js} +1 -1
- package/build/{users-permissions-translation-de-json.1505b462.chunk.js → users-permissions-translation-de-json.8d53c619.chunk.js} +1 -1
- package/build/{users-permissions-translation-dk-json.6b47229f.chunk.js → users-permissions-translation-dk-json.3e0295e5.chunk.js} +1 -1
- package/build/{users-permissions-translation-en-json.3e650c44.chunk.js → users-permissions-translation-en-json.1993655e.chunk.js} +1 -1
- package/build/users-permissions-translation-es-json.a4f81eaa.chunk.js +1 -0
- package/build/users-permissions-translation-fr-json.a2172545.chunk.js +1 -0
- package/build/users-permissions-translation-id-json.8f17982a.chunk.js +1 -0
- package/build/{users-permissions-translation-it-json.baa4f859.chunk.js → users-permissions-translation-it-json.87952a24.chunk.js} +1 -1
- package/build/{users-permissions-translation-ja-json.3ddd4418.chunk.js → users-permissions-translation-ja-json.5915d9ef.chunk.js} +1 -1
- package/build/users-permissions-translation-ko-json.f1ca6cc4.chunk.js +1 -0
- package/build/{users-permissions-translation-ms-json.dc405667.chunk.js → users-permissions-translation-ms-json.2268324c.chunk.js} +1 -1
- package/build/{users-permissions-translation-nl-json.2d8e847a.chunk.js → users-permissions-translation-nl-json.4e1231dd.chunk.js} +1 -1
- package/build/{users-permissions-translation-pl-json.b150dfb0.chunk.js → users-permissions-translation-pl-json.107638b5.chunk.js} +1 -1
- package/build/{users-permissions-translation-pt-BR-json.0c494c69.chunk.js → users-permissions-translation-pt-BR-json.8dafc053.chunk.js} +1 -1
- package/build/{users-permissions-translation-pt-json.0fccc389.chunk.js → users-permissions-translation-pt-json.3322464f.chunk.js} +1 -1
- package/build/users-permissions-translation-ru-json.5709c5a0.chunk.js +1 -0
- package/build/{users-permissions-translation-sk-json.2602e768.chunk.js → users-permissions-translation-sk-json.fe7cc044.chunk.js} +1 -1
- package/build/users-permissions-translation-sv-json.e7e1684b.chunk.js +1 -0
- package/build/{users-permissions-translation-th-json.abe0558b.chunk.js → users-permissions-translation-th-json.bb544ee3.chunk.js} +1 -1
- package/build/{users-permissions-translation-tr-json.269ee593.chunk.js → users-permissions-translation-tr-json.30f3ca90.chunk.js} +1 -1
- package/build/{users-permissions-translation-uk-json.ffd9a4ee.chunk.js → users-permissions-translation-uk-json.634f2569.chunk.js} +1 -1
- package/build/{users-permissions-translation-vi-json.c2cd19d5.chunk.js → users-permissions-translation-vi-json.605d88bc.chunk.js} +1 -1
- package/build/{users-permissions-translation-zh-Hans-json.2d909528.chunk.js → users-permissions-translation-zh-Hans-json.85480dab.chunk.js} +1 -1
- package/build/{users-permissions-translation-zh-json.7f3027c5.chunk.js → users-permissions-translation-zh-json.99932731.chunk.js} +1 -1
- package/build/users-providers-settings-page.fa21d558.chunk.js +1 -0
- package/build/users-roles-settings-page.e65d4d62.chunk.js +1 -0
- package/build/{vi-json.c25f42fe.chunk.js → vi-json.e993857a.chunk.js} +1 -1
- package/build/webhook-edit-page.640e85eb.chunk.js +1 -0
- package/build/{webhook-list-page.8abf0b5f.chunk.js → webhook-list-page.93432566.chunk.js} +1 -1
- package/build/zh-Hans-json.fcc53388.chunk.js +1 -0
- package/build/zh-json.2e4c9ef4.chunk.js +1 -0
- package/ee/admin/pages/App/utils/customRoutes.js +1 -1
- package/ee/server/controllers/authentication/utils.js +1 -1
- package/index.html +1 -1
- package/index.js +43 -26
- package/package.json +30 -37
- package/server/bootstrap.js +16 -0
- package/server/controllers/webhooks.js +6 -10
- package/server/services/api-token.js +1 -1
- package/server/services/metrics.js +6 -0
- package/server/services/permission/permissions-manager/sanitize.js +13 -5
- package/server/services/user.js +10 -0
- package/server/strategies/api-token.js +0 -3
- package/webpack.alias.js +0 -6
- package/webpack.config.js +1 -3
- package/build/2664.f33f619d.chunk.js +0 -2
- package/build/3226.1a4b5cd1.chunk.js +0 -2
- package/build/4064.2683bcce.chunk.js +0 -1
- package/build/4261.b7b7ac00.chunk.js +0 -1
- package/build/4362.c65ab24b.chunk.js +0 -1
- package/build/4741.1fb6ad6e.chunk.js +0 -2
- package/build/849.35b7e7af.chunk.js +0 -1
- package/build/9238.63386655.chunk.js +0 -1
- package/build/Admin-authenticatedApp.5e99b423.chunk.js +0 -1
- package/build/Admin_homePage.74b48134.chunk.js +0 -1
- package/build/Admin_marketplace.8d0028cc.chunk.js +0 -1
- package/build/Admin_profilePage.f276f571.chunk.js +0 -1
- package/build/Admin_settingsPage.1947fe0c.chunk.js +0 -1
- package/build/admin-edit-roles-page.2bccaf76.chunk.js +0 -1
- package/build/admin-edit-users.1632dcf7.chunk.js +0 -1
- package/build/admin-users.1f0533e6.chunk.js +0 -1
- package/build/api-tokens-list-page.d451255e.chunk.js +0 -1
- package/build/codemirror-css.d09c79d2.chunk.js +0 -1
- package/build/codemirror-theme.4a209ed5.chunk.js +0 -1
- package/build/content-manager.363a1bad.chunk.js +0 -1
- package/build/content-type-builder-translation-dk-json.215eca36.chunk.js +0 -1
- package/build/content-type-builder-translation-es-json.5a4f519b.chunk.js +0 -1
- package/build/content-type-builder-translation-id-json.e66f4e0a.chunk.js +0 -1
- package/build/content-type-builder.aa13e7a4.chunk.js +0 -1
- package/build/cropper-css.b71d1229.chunk.js +0 -1
- package/build/de-json.93987708.chunk.js +0 -1
- package/build/dk-json.97f8f309.chunk.js +0 -1
- package/build/email-settings-page.d3ce077f.chunk.js +0 -1
- package/build/email-translation-ar-json.536b0217.chunk.js +0 -1
- package/build/email-translation-cs-json.8f533c9b.chunk.js +0 -1
- package/build/email-translation-de-json.89f5373e.chunk.js +0 -1
- package/build/email-translation-dk-json.9c95cf96.chunk.js +0 -1
- package/build/email-translation-es-json.fec78330.chunk.js +0 -1
- package/build/email-translation-fr-json.76afb1c3.chunk.js +0 -1
- package/build/email-translation-id-json.1b3e055a.chunk.js +0 -1
- package/build/email-translation-it-json.7273fee2.chunk.js +0 -1
- package/build/email-translation-ms-json.af7c5861.chunk.js +0 -1
- package/build/email-translation-nl-json.10fec023.chunk.js +0 -1
- package/build/email-translation-pl-json.ebda42d5.chunk.js +0 -1
- package/build/email-translation-pt-BR-json.338d8b7c.chunk.js +0 -1
- package/build/email-translation-pt-json.1cd0fedf.chunk.js +0 -1
- package/build/email-translation-ru-json.2c369331.chunk.js +0 -1
- package/build/email-translation-sk-json.ba2e026d.chunk.js +0 -1
- package/build/email-translation-th-json.16457076.chunk.js +0 -1
- package/build/email-translation-tr-json.92e0a5d9.chunk.js +0 -1
- package/build/email-translation-uk-json.d00dd5b1.chunk.js +0 -1
- package/build/email-translation-vi-json.ed425dde.chunk.js +0 -1
- package/build/email-translation-zh-Hans-json.e2c630b6.chunk.js +0 -1
- package/build/email-translation-zh-json.2a06ebac.chunk.js +0 -1
- package/build/en-json.4c3c1c95.chunk.js +0 -1
- package/build/es-json.060b658c.chunk.js +0 -1
- package/build/fontawesome-css-all.90be2358.chunk.js +0 -1
- package/build/fontawesome-css.32df0f91.chunk.js +0 -1
- package/build/fr-json.c75e1a2e.chunk.js +0 -1
- package/build/highlight.js.3f31aed7.chunk.js +0 -1
- package/build/i18n-translation-fr-json.482f6933.chunk.js +0 -1
- package/build/ja-json.14eaee93.chunk.js +0 -1
- package/build/main.dfa22c7a.js +0 -2
- package/build/nl-json.9e55cf9c.chunk.js +0 -1
- package/build/pt-BR-json.e21cd994.chunk.js +0 -1
- package/build/runtime~main.2d8596f7.js +0 -1
- package/build/uk-json.3b8f967b.chunk.js +0 -1
- package/build/upload-translation-en-json.d205cecd.chunk.js +0 -1
- package/build/upload-translation-es-json.f9e9ffdf.chunk.js +0 -1
- package/build/upload-translation-it-json.fb24c332.chunk.js +0 -1
- package/build/users-email-settings-page.36142cd7.chunk.js +0 -1
- package/build/users-permissions-translation-es-json.768cc00e.chunk.js +0 -1
- package/build/users-permissions-translation-fr-json.12f3c930.chunk.js +0 -1
- package/build/users-permissions-translation-id-json.ec3deaf0.chunk.js +0 -1
- package/build/users-permissions-translation-ko-json.4677f640.chunk.js +0 -1
- package/build/users-permissions-translation-ru-json.4389c542.chunk.js +0 -1
- package/build/users-permissions-translation-sv-json.438e46f7.chunk.js +0 -1
- package/build/users-providers-settings-page.2c0685d3.chunk.js +0 -1
- package/build/users-roles-settings-page.61c9b376.chunk.js +0 -1
- package/build/webhook-edit-page.36755ae4.chunk.js +0 -1
- package/build/zh-Hans-json.e5041b18.chunk.js +0 -1
- package/build/zh-json.3b683748.chunk.js +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useRef, useState } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useIntl } from 'react-intl';
|
|
4
|
+
import { FocusTrap } from '@strapi/design-system/FocusTrap';
|
|
4
5
|
import { Box } from '@strapi/design-system/Box';
|
|
5
6
|
import { Button } from '@strapi/design-system/Button';
|
|
6
7
|
import { IconButtonGroup } from '@strapi/design-system/IconButton';
|
|
@@ -27,7 +28,9 @@ import {
|
|
|
27
28
|
} from './WysiwygStyles';
|
|
28
29
|
|
|
29
30
|
const WysiwygNav = ({
|
|
31
|
+
disabled,
|
|
30
32
|
editorRef,
|
|
33
|
+
isExpandMode,
|
|
31
34
|
isPreviewMode,
|
|
32
35
|
onActionClick,
|
|
33
36
|
onToggleMediaLib,
|
|
@@ -41,9 +44,11 @@ const WysiwygNav = ({
|
|
|
41
44
|
});
|
|
42
45
|
const buttonMoreRef = useRef();
|
|
43
46
|
|
|
44
|
-
const handleTogglePopover = () =>
|
|
47
|
+
const handleTogglePopover = () => {
|
|
48
|
+
setVisiblePopover(prev => !prev);
|
|
49
|
+
};
|
|
45
50
|
|
|
46
|
-
if (isPreviewMode) {
|
|
51
|
+
if (disabled || isPreviewMode) {
|
|
47
52
|
return (
|
|
48
53
|
<Box padding={2} background="neutral100">
|
|
49
54
|
<Flex justifyContent="space-between">
|
|
@@ -81,15 +86,17 @@ const WysiwygNav = ({
|
|
|
81
86
|
/>
|
|
82
87
|
</MainButtons>
|
|
83
88
|
|
|
84
|
-
<MoreButton disabled
|
|
89
|
+
<MoreButton disabled id="more" label="More" icon={<More />} />
|
|
85
90
|
</Flex>
|
|
86
91
|
|
|
87
|
-
|
|
88
|
-
{
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
{!isExpandMode && (
|
|
93
|
+
<Button onClick={onTogglePreviewMode} variant="tertiary" id="preview">
|
|
94
|
+
{formatMessage({
|
|
95
|
+
id: 'components.Wysiwyg.ToggleMode.markdown-mode',
|
|
96
|
+
defaultMessage: 'Markdown mode',
|
|
97
|
+
})}
|
|
98
|
+
</Button>
|
|
99
|
+
)}
|
|
93
100
|
</Flex>
|
|
94
101
|
</Box>
|
|
95
102
|
);
|
|
@@ -146,65 +153,67 @@ const WysiwygNav = ({
|
|
|
146
153
|
/>
|
|
147
154
|
{visiblePopover && (
|
|
148
155
|
<Popover centered source={buttonMoreRef} spacing={4} id="popover">
|
|
149
|
-
<
|
|
150
|
-
<
|
|
151
|
-
<
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
<
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
156
|
+
<FocusTrap onEscape={handleTogglePopover} restoreFocus={false}>
|
|
157
|
+
<Flex>
|
|
158
|
+
<IconButtonGroupMargin>
|
|
159
|
+
<CustomIconButton
|
|
160
|
+
onClick={() => onActionClick('Strikethrough', editorRef, handleTogglePopover)}
|
|
161
|
+
id="Strikethrough"
|
|
162
|
+
label="Strikethrough"
|
|
163
|
+
name="Strikethrough"
|
|
164
|
+
icon={<Strikethrough />}
|
|
165
|
+
/>
|
|
166
|
+
<CustomIconButton
|
|
167
|
+
onClick={() => onActionClick('BulletList', editorRef, handleTogglePopover)}
|
|
168
|
+
id="BulletList"
|
|
169
|
+
label="BulletList"
|
|
170
|
+
name="BulletList"
|
|
171
|
+
icon={<BulletList />}
|
|
172
|
+
/>
|
|
173
|
+
<CustomIconButton
|
|
174
|
+
onClick={() => onActionClick('NumberList', editorRef, handleTogglePopover)}
|
|
175
|
+
id="NumberList"
|
|
176
|
+
label="NumberList"
|
|
177
|
+
name="NumberList"
|
|
178
|
+
icon={<NumberList />}
|
|
179
|
+
/>
|
|
180
|
+
</IconButtonGroupMargin>
|
|
181
|
+
<IconButtonGroup>
|
|
182
|
+
<CustomIconButton
|
|
183
|
+
onClick={() => onActionClick('Code', editorRef, handleTogglePopover)}
|
|
184
|
+
id="Code"
|
|
185
|
+
label="Code"
|
|
186
|
+
name="Code"
|
|
187
|
+
icon={<Code />}
|
|
188
|
+
/>
|
|
189
|
+
<CustomIconButton
|
|
190
|
+
onClick={() => {
|
|
191
|
+
handleTogglePopover();
|
|
192
|
+
onToggleMediaLib();
|
|
193
|
+
}}
|
|
194
|
+
id="Image"
|
|
195
|
+
label="Image"
|
|
196
|
+
name="Image"
|
|
197
|
+
icon={<Image />}
|
|
198
|
+
/>
|
|
199
|
+
<CustomLinkIconButton
|
|
200
|
+
onClick={() => onActionClick('Link', editorRef, handleTogglePopover)}
|
|
201
|
+
id="Link"
|
|
202
|
+
label="Link"
|
|
203
|
+
name="Link"
|
|
204
|
+
// eslint-disable-next-line jsx-a11y/anchor-is-valid
|
|
205
|
+
icon={<Link />}
|
|
206
|
+
/>
|
|
207
|
+
<CustomIconButton
|
|
208
|
+
onClick={() => onActionClick('Quote', editorRef, handleTogglePopover)}
|
|
209
|
+
id="Quote"
|
|
210
|
+
label="Quote"
|
|
211
|
+
name="Quote"
|
|
212
|
+
icon={<Quote />}
|
|
213
|
+
/>
|
|
214
|
+
</IconButtonGroup>
|
|
215
|
+
</Flex>
|
|
216
|
+
</FocusTrap>
|
|
208
217
|
</Popover>
|
|
209
218
|
)}
|
|
210
219
|
</Flex>
|
|
@@ -230,7 +239,9 @@ WysiwygNav.defaultProps = {
|
|
|
230
239
|
};
|
|
231
240
|
|
|
232
241
|
WysiwygNav.propTypes = {
|
|
242
|
+
disabled: PropTypes.bool.isRequired,
|
|
233
243
|
editorRef: PropTypes.shape({ current: PropTypes.any }).isRequired,
|
|
244
|
+
isExpandMode: PropTypes.bool.isRequired,
|
|
234
245
|
isPreviewMode: PropTypes.bool,
|
|
235
246
|
onActionClick: PropTypes.func,
|
|
236
247
|
onToggleMediaLib: PropTypes.func,
|
|
@@ -26,6 +26,10 @@ const LabelAction = styled(Box)`
|
|
|
26
26
|
}
|
|
27
27
|
`;
|
|
28
28
|
|
|
29
|
+
const TypographyAsterisk = styled(Typography)`
|
|
30
|
+
line-height: 0;
|
|
31
|
+
`;
|
|
32
|
+
|
|
29
33
|
const Wysiwyg = ({
|
|
30
34
|
description,
|
|
31
35
|
disabled,
|
|
@@ -36,6 +40,7 @@ const Wysiwyg = ({
|
|
|
36
40
|
onChange,
|
|
37
41
|
placeholder,
|
|
38
42
|
value,
|
|
43
|
+
required,
|
|
39
44
|
}) => {
|
|
40
45
|
const { formatMessage } = useIntl();
|
|
41
46
|
const textareaRef = useRef(null);
|
|
@@ -49,7 +54,10 @@ const Wysiwyg = ({
|
|
|
49
54
|
|
|
50
55
|
const handleToggleMediaLib = () => setMediaLibVisible(prev => !prev);
|
|
51
56
|
const handleTogglePreviewMode = () => setIsPreviewMode(prev => !prev);
|
|
52
|
-
const handleToggleExpand = () =>
|
|
57
|
+
const handleToggleExpand = () => {
|
|
58
|
+
setIsPreviewMode(false);
|
|
59
|
+
setIsExpandMode(prev => !prev);
|
|
60
|
+
};
|
|
53
61
|
|
|
54
62
|
const handleActionClick = (value, currentEditorRef, togglePopover) => {
|
|
55
63
|
switch (value) {
|
|
@@ -124,6 +132,7 @@ const Wysiwyg = ({
|
|
|
124
132
|
<Stack horizontal size={1}>
|
|
125
133
|
<Typography variant="pi" fontWeight="bold" textColor="neutral800">
|
|
126
134
|
{label}
|
|
135
|
+
{required && <TypographyAsterisk textColor="danger600">*</TypographyAsterisk>}
|
|
127
136
|
</Typography>
|
|
128
137
|
{labelAction && <LabelAction paddingLeft={1}>{labelAction}</LabelAction>}
|
|
129
138
|
</Stack>
|
|
@@ -135,15 +144,18 @@ const Wysiwyg = ({
|
|
|
135
144
|
onCollapse={handleToggleExpand}
|
|
136
145
|
>
|
|
137
146
|
<WysiwygNav
|
|
147
|
+
isExpandMode={isExpandMode}
|
|
138
148
|
editorRef={editorRef}
|
|
139
149
|
isPreviewMode={isPreviewMode}
|
|
140
150
|
onActionClick={handleActionClick}
|
|
141
151
|
onToggleMediaLib={handleToggleMediaLib}
|
|
142
152
|
onTogglePreviewMode={isExpandMode ? undefined : handleTogglePreviewMode}
|
|
153
|
+
disabled={disabled}
|
|
143
154
|
/>
|
|
144
155
|
|
|
145
156
|
<Editor
|
|
146
157
|
disabled={disabled}
|
|
158
|
+
isExpandMode={isExpandMode}
|
|
147
159
|
editorRef={editorRef}
|
|
148
160
|
error={errorMessage}
|
|
149
161
|
isPreviewMode={isPreviewMode}
|
|
@@ -154,9 +166,7 @@ const Wysiwyg = ({
|
|
|
154
166
|
value={value}
|
|
155
167
|
/>
|
|
156
168
|
|
|
157
|
-
{!isExpandMode &&
|
|
158
|
-
<WysiwygFooter isPreviewMode={isPreviewMode} onToggleExpand={handleToggleExpand} />
|
|
159
|
-
)}
|
|
169
|
+
{!isExpandMode && <WysiwygFooter onToggleExpand={handleToggleExpand} />}
|
|
160
170
|
</EditorLayout>
|
|
161
171
|
<Hint description={description} name={name} error={error} />
|
|
162
172
|
</Stack>
|
|
@@ -178,10 +188,11 @@ const Wysiwyg = ({
|
|
|
178
188
|
|
|
179
189
|
Wysiwyg.defaultProps = {
|
|
180
190
|
description: null,
|
|
181
|
-
disabled:
|
|
191
|
+
disabled: false,
|
|
182
192
|
error: '',
|
|
183
193
|
labelAction: undefined,
|
|
184
194
|
placeholder: null,
|
|
195
|
+
required: false,
|
|
185
196
|
value: '',
|
|
186
197
|
};
|
|
187
198
|
|
|
@@ -206,6 +217,7 @@ Wysiwyg.propTypes = {
|
|
|
206
217
|
defaultMessage: PropTypes.string.isRequired,
|
|
207
218
|
values: PropTypes.object,
|
|
208
219
|
}),
|
|
220
|
+
required: PropTypes.bool,
|
|
209
221
|
value: PropTypes.string,
|
|
210
222
|
};
|
|
211
223
|
|
|
@@ -43,14 +43,20 @@ const App = () => {
|
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
// Array of models that are displayed in the content manager
|
|
47
|
+
const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);
|
|
48
|
+
|
|
46
49
|
// Redirect the user to the 403 page
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
if (
|
|
51
|
+
authorisedModels.length === 0 &&
|
|
52
|
+
supportedModelsToDisplay.length > 0 &&
|
|
53
|
+
pathname !== '/content-manager/403'
|
|
54
|
+
) {
|
|
49
55
|
return <Redirect to="/content-manager/403" />;
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
// Redirect the user to the create content type page
|
|
53
|
-
if (
|
|
59
|
+
if (supportedModelsToDisplay.length === 0 && pathname !== '/content-manager/no-content-types') {
|
|
54
60
|
return <Redirect to="/content-manager/no-content-types" />;
|
|
55
61
|
}
|
|
56
62
|
|
|
@@ -41,9 +41,7 @@ const DisplayedFields = ({ editLayout, editLayoutRemainingFields, onRemoveField,
|
|
|
41
41
|
<Box padding={4} hasRadius borderStyle="dashed" borderWidth="1px" borderColor="neutral300">
|
|
42
42
|
<Stack size={2}>
|
|
43
43
|
{editLayout.map((row, index) => (
|
|
44
|
-
<
|
|
45
|
-
<RowsLayout row={row} rowIndex={index} onRemoveField={onRemoveField} />
|
|
46
|
-
</React.Fragment>
|
|
44
|
+
<RowsLayout key={row.rowId} row={row} rowIndex={index} onRemoveField={onRemoveField} />
|
|
47
45
|
))}
|
|
48
46
|
<SimpleMenu
|
|
49
47
|
id="label"
|
|
@@ -24,7 +24,7 @@ const FieldButtonContent = ({ attribute, onEditField, onDeleteField, children })
|
|
|
24
24
|
|
|
25
25
|
return (
|
|
26
26
|
<Box overflow="hidden" width="100%">
|
|
27
|
-
<Flex paddingLeft={3} alignItems="
|
|
27
|
+
<Flex paddingLeft={3} alignItems="center" justifyContent="space-between">
|
|
28
28
|
<Typography fontWeight="semiBold" textColor="neutral800" ellipsis>
|
|
29
29
|
{children}
|
|
30
30
|
</Typography>
|
|
@@ -47,19 +47,18 @@ const ModalForm = ({ onChange }) => {
|
|
|
47
47
|
return formToDisplay.map(meta => {
|
|
48
48
|
const formType = get(attributes, [selectedField, 'type']);
|
|
49
49
|
|
|
50
|
-
if (
|
|
50
|
+
if (
|
|
51
|
+
formType === 'dynamiczone' ||
|
|
52
|
+
(formType === 'component' && !['label', 'description'].includes(meta))
|
|
53
|
+
) {
|
|
51
54
|
return null;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
if (
|
|
57
|
+
if (formType === 'component' && meta !== 'label') {
|
|
55
58
|
return null;
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
if (
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (formType === 'richtext' && meta === 'editable') {
|
|
61
|
+
if (['media', 'json', 'boolean'].includes(formType) && meta === 'placeholder') {
|
|
63
62
|
return null;
|
|
64
63
|
}
|
|
65
64
|
|
|
@@ -27,6 +27,7 @@ const MarketplacePage = lazy(() =>
|
|
|
27
27
|
import(/* webpackChunkName: "Admin_marketplace" */ '../MarketplacePage')
|
|
28
28
|
);
|
|
29
29
|
const NotFoundPage = lazy(() => import('../NotFoundPage'));
|
|
30
|
+
const InternalErrorPage = lazy(() => import('../InternalErrorPage'));
|
|
30
31
|
|
|
31
32
|
const ProfilePage = lazy(() =>
|
|
32
33
|
import(/* webpackChunkName: "Admin_profilePage" */ '../ProfilePage')
|
|
@@ -87,6 +88,7 @@ const Admin = () => {
|
|
|
87
88
|
<InstalledPluginsPage />
|
|
88
89
|
</Route>
|
|
89
90
|
<Route path="/404" component={NotFoundPage} />
|
|
91
|
+
<Route path="/500" component={InternalErrorPage} />
|
|
90
92
|
<Route path="" component={NotFoundPage} />
|
|
91
93
|
</Switch>
|
|
92
94
|
</Suspense>
|
|
@@ -178,7 +178,10 @@ const Register = ({ fieldsToDisable, noSignin, onSubmit, schema }) => {
|
|
|
178
178
|
: undefined
|
|
179
179
|
}
|
|
180
180
|
required
|
|
181
|
-
label={formatMessage({
|
|
181
|
+
label={formatMessage({
|
|
182
|
+
id: 'Auth.form.email.label',
|
|
183
|
+
defaultMessage: 'Email',
|
|
184
|
+
})}
|
|
182
185
|
type="email"
|
|
183
186
|
/>
|
|
184
187
|
<PasswordInput
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InternalErrorPage
|
|
3
|
+
*
|
|
4
|
+
* This is the page we show when the user gets a 500 error
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { useFocusWhenNavigate } from '@strapi/helper-plugin';
|
|
9
|
+
import { Main } from '@strapi/design-system/Main';
|
|
10
|
+
import { LinkButton } from '@strapi/design-system/LinkButton';
|
|
11
|
+
import { ContentLayout, HeaderLayout } from '@strapi/design-system/Layout';
|
|
12
|
+
import { EmptyStateLayout } from '@strapi/design-system/EmptyStateLayout';
|
|
13
|
+
import EmptyPictures from '@strapi/icons/EmptyPictures';
|
|
14
|
+
import ArrowRight from '@strapi/icons/ArrowRight';
|
|
15
|
+
import { useIntl } from 'react-intl';
|
|
16
|
+
|
|
17
|
+
const InternalErrorPage = () => {
|
|
18
|
+
const { formatMessage } = useIntl();
|
|
19
|
+
useFocusWhenNavigate();
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Main labelledBy="title">
|
|
23
|
+
<HeaderLayout
|
|
24
|
+
id="title"
|
|
25
|
+
title={formatMessage({
|
|
26
|
+
id: 'content-manager.pageNotFound',
|
|
27
|
+
defaultMessage: 'Page not found',
|
|
28
|
+
})}
|
|
29
|
+
/>
|
|
30
|
+
<ContentLayout>
|
|
31
|
+
<EmptyStateLayout
|
|
32
|
+
action={
|
|
33
|
+
<LinkButton variant="secondary" endIcon={<ArrowRight />} to="/">
|
|
34
|
+
{formatMessage({
|
|
35
|
+
id: 'app.components.NotFoundPage.back',
|
|
36
|
+
defaultMessage: 'Back to homepage',
|
|
37
|
+
})}
|
|
38
|
+
</LinkButton>
|
|
39
|
+
}
|
|
40
|
+
content={formatMessage({
|
|
41
|
+
id: 'notification.error',
|
|
42
|
+
defaultMessage: 'An error occured',
|
|
43
|
+
})}
|
|
44
|
+
hasRadius
|
|
45
|
+
icon={<EmptyPictures width="10rem" />}
|
|
46
|
+
shadow="tableShadow"
|
|
47
|
+
/>
|
|
48
|
+
</ContentLayout>
|
|
49
|
+
</Main>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default InternalErrorPage;
|
|
@@ -4,7 +4,50 @@
|
|
|
4
4
|
* This is the page we show when the user visits a url that doesn't have a route
|
|
5
5
|
*
|
|
6
6
|
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { useFocusWhenNavigate } from '@strapi/helper-plugin';
|
|
9
|
+
import { Main } from '@strapi/design-system/Main';
|
|
10
|
+
import { LinkButton } from '@strapi/design-system/LinkButton';
|
|
11
|
+
import { ContentLayout, HeaderLayout } from '@strapi/design-system/Layout';
|
|
12
|
+
import { EmptyStateLayout } from '@strapi/design-system/EmptyStateLayout';
|
|
13
|
+
import EmptyPictures from '@strapi/icons/EmptyPictures';
|
|
14
|
+
import ArrowRight from '@strapi/icons/ArrowRight';
|
|
15
|
+
import { useIntl } from 'react-intl';
|
|
7
16
|
|
|
8
|
-
const
|
|
17
|
+
const NoContentType = () => {
|
|
18
|
+
const { formatMessage } = useIntl();
|
|
19
|
+
useFocusWhenNavigate();
|
|
9
20
|
|
|
10
|
-
|
|
21
|
+
return (
|
|
22
|
+
<Main labelledBy="title">
|
|
23
|
+
<HeaderLayout
|
|
24
|
+
id="title"
|
|
25
|
+
title={formatMessage({
|
|
26
|
+
id: 'content-manager.pageNotFound',
|
|
27
|
+
defaultMessage: 'Page not found',
|
|
28
|
+
})}
|
|
29
|
+
/>
|
|
30
|
+
<ContentLayout>
|
|
31
|
+
<EmptyStateLayout
|
|
32
|
+
action={
|
|
33
|
+
<LinkButton variant="secondary" endIcon={<ArrowRight />} to="/">
|
|
34
|
+
{formatMessage({
|
|
35
|
+
id: 'app.components.NotFoundPage.back',
|
|
36
|
+
defaultMessage: 'Back to homepage',
|
|
37
|
+
})}
|
|
38
|
+
</LinkButton>
|
|
39
|
+
}
|
|
40
|
+
content={formatMessage({
|
|
41
|
+
id: 'app.page.not.found',
|
|
42
|
+
defaultMessage: "Oops! We can't seem to find the page you're looging for...",
|
|
43
|
+
})}
|
|
44
|
+
hasRadius
|
|
45
|
+
icon={<EmptyPictures width="10rem" />}
|
|
46
|
+
shadow="tableShadow"
|
|
47
|
+
/>
|
|
48
|
+
</ContentLayout>
|
|
49
|
+
</Main>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default NoContentType;
|
|
@@ -211,6 +211,7 @@ const ProfilePage = () => {
|
|
|
211
211
|
value={values.firstname || ''}
|
|
212
212
|
type="text"
|
|
213
213
|
name="firstname"
|
|
214
|
+
required
|
|
214
215
|
/>
|
|
215
216
|
</GridItem>
|
|
216
217
|
<GridItem s={12} col={6}>
|
|
@@ -234,6 +235,7 @@ const ProfilePage = () => {
|
|
|
234
235
|
value={values.email || ''}
|
|
235
236
|
type="email"
|
|
236
237
|
name="email"
|
|
238
|
+
required
|
|
237
239
|
/>
|
|
238
240
|
</GridItem>
|
|
239
241
|
<GridItem s={12} col={6}>
|
|
@@ -63,7 +63,7 @@ const EventInput = ({ isDraftAndPublish }) => {
|
|
|
63
63
|
: displayedData.events.default;
|
|
64
64
|
|
|
65
65
|
const { formatMessage } = useIntl();
|
|
66
|
-
const { values,
|
|
66
|
+
const { values, handleChange: onChange } = useFormikContext();
|
|
67
67
|
|
|
68
68
|
const inputName = 'events';
|
|
69
69
|
const inputValue = values.events;
|
|
@@ -154,14 +154,6 @@ const EventInput = ({ isDraftAndPublish }) => {
|
|
|
154
154
|
})}
|
|
155
155
|
</tbody>
|
|
156
156
|
</StyledTable>
|
|
157
|
-
{errors.events && (
|
|
158
|
-
<Typography variant="pi" textColor="danger600" data-strapi-field-error>
|
|
159
|
-
{formatMessage({
|
|
160
|
-
id: 'components.Input.error.validation.required',
|
|
161
|
-
defaultMessage: 'This value is required',
|
|
162
|
-
})}
|
|
163
|
-
</Typography>
|
|
164
|
-
)}
|
|
165
157
|
</Stack>
|
|
166
158
|
);
|
|
167
159
|
};
|
package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js
CHANGED
|
@@ -114,6 +114,7 @@ const WebhookForm = ({
|
|
|
114
114
|
id: 'Settings.webhooks.form.name',
|
|
115
115
|
defaultMessage: 'Name',
|
|
116
116
|
})}
|
|
117
|
+
required
|
|
117
118
|
/>
|
|
118
119
|
</GridItem>
|
|
119
120
|
<GridItem col={12}>
|
|
@@ -125,6 +126,7 @@ const WebhookForm = ({
|
|
|
125
126
|
id: 'Settings.roles.form.input.url',
|
|
126
127
|
defaultMessage: 'Url',
|
|
127
128
|
})}
|
|
129
|
+
required
|
|
128
130
|
/>
|
|
129
131
|
</GridItem>
|
|
130
132
|
</Grid>
|