@strapi/admin 4.0.5 → 4.1.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.
Files changed (299) hide show
  1. package/admin/src/components/AuthenticatedApp/index.js +25 -3
  2. package/admin/src/components/AuthenticatedApp/utils/api.js +15 -1
  3. package/admin/src/components/GuidedTour/Homepage/components/Step.js +61 -0
  4. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +58 -0
  5. package/admin/src/components/GuidedTour/Homepage/index.js +63 -0
  6. package/admin/src/components/GuidedTour/Modal/components/Content.js +50 -0
  7. package/admin/src/components/GuidedTour/Modal/components/Modal.js +75 -0
  8. package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +24 -0
  9. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +119 -0
  10. package/admin/src/components/GuidedTour/Modal/index.js +90 -0
  11. package/admin/src/components/GuidedTour/Modal/reducer.js +29 -0
  12. package/admin/src/components/GuidedTour/Stepper/StepLine.js +27 -0
  13. package/admin/src/components/GuidedTour/Stepper/StepNumber.js +71 -0
  14. package/admin/src/components/GuidedTour/constants.js +3 -0
  15. package/admin/src/components/GuidedTour/index.js +100 -0
  16. package/admin/src/components/GuidedTour/init.js +36 -0
  17. package/admin/src/components/GuidedTour/layout.js +153 -0
  18. package/admin/src/components/GuidedTour/reducer.js +50 -0
  19. package/admin/src/components/GuidedTour/utils/arePreviousSectionsDone.js +13 -0
  20. package/admin/src/components/GuidedTour/utils/arePreviousStepsDone.js +12 -0
  21. package/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js +6 -0
  22. package/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js +34 -0
  23. package/admin/src/components/Providers/index.js +4 -1
  24. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +14 -1
  25. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/isValidJSONString.js +15 -0
  26. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +11 -12
  27. package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +32 -0
  28. package/admin/src/content-manager/components/InputJSON/Label.js +5 -11
  29. package/admin/src/content-manager/components/InputJSON/index.js +27 -27
  30. package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +4 -0
  31. package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
  32. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +4 -0
  33. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +5 -1
  34. package/admin/src/content-manager/components/Wysiwyg/Editor.js +4 -1
  35. package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +2 -1
  36. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +14 -8
  37. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -0
  38. package/admin/src/content-manager/components/Wysiwyg/index.js +4 -1
  39. package/admin/src/content-manager/pages/App/index.js +15 -2
  40. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -3
  41. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +4 -3
  42. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +52 -11
  43. package/admin/src/content-manager/pages/EditSettingsView/index.js +10 -1
  44. package/admin/src/content-manager/pages/EditSettingsView/reducer.js +26 -5
  45. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +40 -9
  46. package/admin/src/content-manager/pages/EditView/index.js +2 -1
  47. package/admin/src/pages/Admin/index.js +4 -0
  48. package/admin/src/pages/AuthPage/components/Register/index.js +11 -6
  49. package/admin/src/pages/AuthPage/index.js +15 -1
  50. package/admin/src/pages/HomePage/index.js +8 -2
  51. package/admin/src/pages/InternalErrorPage/index.js +53 -0
  52. package/admin/src/pages/MarketplacePage/index.js +13 -13
  53. package/admin/src/pages/NotFoundPage/index.js +45 -2
  54. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +3 -0
  55. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +11 -2
  56. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +2 -2
  57. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +4 -1
  58. package/admin/src/translations/ar.json +0 -4
  59. package/admin/src/translations/cs.json +0 -6
  60. package/admin/src/translations/de.json +0 -12
  61. package/admin/src/translations/dk.json +158 -170
  62. package/admin/src/translations/en.json +45 -27
  63. package/admin/src/translations/es.json +15 -25
  64. package/admin/src/translations/fr.json +158 -166
  65. package/admin/src/translations/he.json +0 -10
  66. package/admin/src/translations/hu.json +16 -26
  67. package/admin/src/translations/id.json +0 -12
  68. package/admin/src/translations/it.json +0 -12
  69. package/admin/src/translations/ja.json +16 -28
  70. package/admin/src/translations/ko.json +656 -670
  71. package/admin/src/translations/ms.json +0 -6
  72. package/admin/src/translations/nl.json +16 -30
  73. package/admin/src/translations/no.json +0 -10
  74. package/admin/src/translations/pl.json +0 -12
  75. package/admin/src/translations/pt-BR.json +19 -29
  76. package/admin/src/translations/pt.json +0 -4
  77. package/admin/src/translations/ru.json +0 -12
  78. package/admin/src/translations/sk.json +0 -12
  79. package/admin/src/translations/sv.json +0 -4
  80. package/admin/src/translations/th.json +0 -12
  81. package/admin/src/translations/tr.json +0 -4
  82. package/admin/src/translations/uk.json +0 -6
  83. package/admin/src/translations/vi.json +0 -4
  84. package/admin/src/translations/zh-Hans.json +22 -32
  85. package/admin/src/translations/zh.json +24 -27
  86. package/build/1856.a06395b4.chunk.js +1 -0
  87. package/build/2481.7d15bd79.chunk.js +1 -0
  88. package/build/2736.e2b1233b.chunk.js +2 -0
  89. package/build/{6060.72f9dda2.chunk.js.LICENSE.txt → 2736.e2b1233b.chunk.js.LICENSE.txt} +0 -0
  90. package/build/2912.38fb9bd1.chunk.js +1 -0
  91. package/build/4261.a4e1e93c.chunk.js +1 -0
  92. package/build/4362.d0c1a04a.chunk.js +1 -0
  93. package/build/4715.31ca1967.chunk.js +1 -0
  94. package/build/4800.18e59c83.chunk.js +1 -0
  95. package/build/497.8f30da61.chunk.js +1 -0
  96. package/build/4982.da4adb38.chunk.js +1 -0
  97. package/build/5032.ed02a466.chunk.js +2 -0
  98. package/build/{8530.f3460d3b.chunk.js.LICENSE.txt → 5032.ed02a466.chunk.js.LICENSE.txt} +0 -0
  99. package/build/6250.dc6d7a58.chunk.js +1 -0
  100. package/build/6925.bd694b04.chunk.js +2 -0
  101. package/build/{6925.4767e761.chunk.js.LICENSE.txt → 6925.bd694b04.chunk.js.LICENSE.txt} +2 -1
  102. package/build/7841.ef9bcee9.chunk.js +1 -0
  103. package/build/{3215.e4e1d329.chunk.js → 8042.9b85175a.chunk.js} +2 -2
  104. package/build/{3215.e4e1d329.chunk.js.LICENSE.txt → 8042.9b85175a.chunk.js.LICENSE.txt} +0 -0
  105. package/build/849.9075d399.chunk.js +1 -0
  106. package/build/9235.ced8aebf.chunk.js +1 -0
  107. package/build/9238.bdd93dae.chunk.js +1 -0
  108. package/build/9988.b4229043.chunk.js +2 -0
  109. package/build/{4741.18bf386b.chunk.js.LICENSE.txt → 9988.b4229043.chunk.js.LICENSE.txt} +0 -0
  110. package/build/Admin-authenticatedApp.3bb032bf.chunk.js +1 -0
  111. package/build/Admin_homePage.e4779166.chunk.js +1 -0
  112. package/build/Admin_marketplace.e8654056.chunk.js +1 -0
  113. package/build/{Admin_pluginsPage.0d59d86e.chunk.js → Admin_pluginsPage.7d1bd7ce.chunk.js} +1 -1
  114. package/build/{Admin_profilePage.c08119de.chunk.js → Admin_profilePage.67dd744c.chunk.js} +1 -1
  115. package/build/{Admin_settingsPage.97246c41.chunk.js → Admin_settingsPage.2d0d2cca.chunk.js} +1 -1
  116. package/build/{admin-edit-roles-page.8af004a6.chunk.js → admin-edit-roles-page.2d1b6461.chunk.js} +1 -1
  117. package/build/{admin-edit-users.73877840.chunk.js → admin-edit-users.e736db15.chunk.js} +1 -1
  118. package/build/admin-users.5f79c031.chunk.js +1 -0
  119. package/build/api-tokens-create-page.2ffd893a.chunk.js +1 -0
  120. package/build/{api-tokens-create-page.ebe57c8e.chunk.js → api-tokens-edit-page.a939bd0a.chunk.js} +1 -1
  121. package/build/api-tokens-list-page.1ccc8615.chunk.js +1 -0
  122. package/build/ar-json.6a2565af.chunk.js +1 -0
  123. package/build/codemirror-css.48b438c9.chunk.js +1 -0
  124. package/build/{codemirror-javacript.381a518a.chunk.js → codemirror-javacript.8c7c015d.chunk.js} +1 -1
  125. package/build/content-manager.5f6197c8.chunk.js +1 -0
  126. package/build/{content-type-builder-translation-cs-json.2f7e2289.chunk.js → content-type-builder-translation-cs-json.89f7272e.chunk.js} +1 -1
  127. package/build/{content-type-builder-translation-de-json.46017754.chunk.js → content-type-builder-translation-de-json.0205697c.chunk.js} +1 -1
  128. package/build/content-type-builder-translation-dk-json.235ff56e.chunk.js +1 -0
  129. package/build/{content-type-builder-translation-en-json.d70fc3af.chunk.js → content-type-builder-translation-en-json.b3d8e9d4.chunk.js} +1 -1
  130. package/build/{content-type-builder-translation-es-json.20c177ee.chunk.js → content-type-builder-translation-es-json.13b2e2aa.chunk.js} +1 -1
  131. package/build/{content-type-builder-translation-fr-json.8f66eb66.chunk.js → content-type-builder-translation-fr-json.bee621f7.chunk.js} +1 -1
  132. package/build/{content-type-builder-translation-id-json.aab2f426.chunk.js → content-type-builder-translation-id-json.2fbf4f8c.chunk.js} +1 -1
  133. package/build/{content-type-builder-translation-it-json.4c91e895.chunk.js → content-type-builder-translation-it-json.a1afd7a9.chunk.js} +1 -1
  134. package/build/{content-type-builder-translation-ja-json.c239ba90.chunk.js → content-type-builder-translation-ja-json.1459fb88.chunk.js} +1 -1
  135. package/build/{content-type-builder-translation-ko-json.2a5e0769.chunk.js → content-type-builder-translation-ko-json.bc6fb3dc.chunk.js} +1 -1
  136. package/build/{content-type-builder-translation-ms-json.124be88c.chunk.js → content-type-builder-translation-ms-json.048122eb.chunk.js} +1 -1
  137. package/build/{content-type-builder-translation-nl-json.98a240b8.chunk.js → content-type-builder-translation-nl-json.8d59e86b.chunk.js} +1 -1
  138. package/build/{content-type-builder-translation-pl-json.2abc61bd.chunk.js → content-type-builder-translation-pl-json.01dc068c.chunk.js} +1 -1
  139. package/build/{content-type-builder-translation-pt-BR-json.c0415545.chunk.js → content-type-builder-translation-pt-BR-json.d311d056.chunk.js} +1 -1
  140. package/build/{content-type-builder-translation-pt-json.ab3e086d.chunk.js → content-type-builder-translation-pt-json.4893266f.chunk.js} +1 -1
  141. package/build/{content-type-builder-translation-ru-json.1a6779fd.chunk.js → content-type-builder-translation-ru-json.1285874d.chunk.js} +1 -1
  142. package/build/{content-type-builder-translation-sk-json.5c82f020.chunk.js → content-type-builder-translation-sk-json.0064156b.chunk.js} +1 -1
  143. package/build/{content-type-builder-translation-th-json.24ee19eb.chunk.js → content-type-builder-translation-th-json.5f690524.chunk.js} +1 -1
  144. package/build/{content-type-builder-translation-tr-json.30434835.chunk.js → content-type-builder-translation-tr-json.696283a5.chunk.js} +1 -1
  145. package/build/{content-type-builder-translation-uk-json.771662ef.chunk.js → content-type-builder-translation-uk-json.87496bf9.chunk.js} +1 -1
  146. package/build/{content-type-builder-translation-zh-Hans-json.070020ae.chunk.js → content-type-builder-translation-zh-Hans-json.283c640e.chunk.js} +1 -1
  147. package/build/{content-type-builder-translation-zh-json.9708310d.chunk.js → content-type-builder-translation-zh-json.77aa2275.chunk.js} +1 -1
  148. package/build/content-type-builder.f1cef05c.chunk.js +1 -0
  149. package/build/cs-json.8df09876.chunk.js +1 -0
  150. package/build/de-json.6e14f607.chunk.js +1 -0
  151. package/build/dk-json.be388470.chunk.js +1 -0
  152. package/build/email-settings-page.4338588d.chunk.js +1 -0
  153. package/build/en-json.bb614bb0.chunk.js +1 -0
  154. package/build/es-json.61553168.chunk.js +1 -0
  155. package/build/{fontawesome-css.ef93ee2a.chunk.js → fontawesome-css.36cff9ae.chunk.js} +1 -1
  156. package/build/fr-json.d1de8155.chunk.js +1 -0
  157. package/build/he-json.1742494e.chunk.js +1 -0
  158. package/build/hu-json.e667d285.chunk.js +1 -0
  159. package/build/i18n-settings-page.51e37957.chunk.js +1 -0
  160. package/build/i18n-translation-dk-json.ecf02d28.chunk.js +1 -0
  161. package/build/i18n-translation-en-json.4d823f62.chunk.js +1 -0
  162. package/build/i18n-translation-es-json.7049afa2.chunk.js +1 -0
  163. package/build/i18n-translation-fr-json.c6367bc9.chunk.js +1 -0
  164. package/build/i18n-translation-ko-json.6591fe59.chunk.js +1 -0
  165. package/build/i18n-translation-zh-Hans-json.258b2e1a.chunk.js +1 -0
  166. package/build/id-json.d87ebb20.chunk.js +1 -0
  167. package/build/index.html +1 -1
  168. package/build/it-json.a2880b81.chunk.js +1 -0
  169. package/build/ja-json.46e29f04.chunk.js +1 -0
  170. package/build/ko-json.63d1660a.chunk.js +1 -0
  171. package/build/main.a5659553.js +2 -0
  172. package/build/{main.f4419aa1.js.LICENSE.txt → main.a5659553.js.LICENSE.txt} +0 -0
  173. package/build/ms-json.3a062984.chunk.js +1 -0
  174. package/build/nl-json.30ce02cb.chunk.js +1 -0
  175. package/build/no-json.9af40e9d.chunk.js +1 -0
  176. package/build/pl-json.fd373053.chunk.js +1 -0
  177. package/build/pt-BR-json.30e2d716.chunk.js +1 -0
  178. package/build/pt-json.3aaf9e05.chunk.js +1 -0
  179. package/build/ru-json.78c56e1c.chunk.js +1 -0
  180. package/build/{runtime~main.25881105.js → runtime~main.cfbc273d.js} +1 -1
  181. package/build/sk-json.c0bf144c.chunk.js +1 -0
  182. package/build/{sso-settings-page.36c35df0.chunk.js → sso-settings-page.c073b6d7.chunk.js} +1 -1
  183. package/build/sv-json.aad187b9.chunk.js +1 -0
  184. package/build/th-json.e2b4a0fb.chunk.js +1 -0
  185. package/build/tr-json.0add11cd.chunk.js +1 -0
  186. package/build/uk-json.eb78e77e.chunk.js +1 -0
  187. package/build/upload-settings.8e7cbc3b.chunk.js +1 -0
  188. package/build/{upload-translation-de-json.00f90715.chunk.js → upload-translation-de-json.1308dce5.chunk.js} +1 -1
  189. package/build/upload-translation-dk-json.0d4e855f.chunk.js +1 -0
  190. package/build/upload-translation-en-json.c3373c8d.chunk.js +1 -0
  191. package/build/upload-translation-es-json.81b13eac.chunk.js +1 -0
  192. package/build/{upload-translation-fr-json.ccb4ad8b.chunk.js → upload-translation-fr-json.1bec79ec.chunk.js} +1 -1
  193. package/build/upload-translation-he-json.1d28982f.chunk.js +1 -0
  194. package/build/{upload-translation-it-json.c1809a47.chunk.js → upload-translation-it-json.7d4bdc5a.chunk.js} +1 -1
  195. package/build/{upload-translation-ja-json.71aa85eb.chunk.js → upload-translation-ja-json.97fcacd8.chunk.js} +1 -1
  196. package/build/upload-translation-ko-json.90424b11.chunk.js +1 -0
  197. package/build/{upload-translation-ms-json.be669f81.chunk.js → upload-translation-ms-json.081effd5.chunk.js} +1 -1
  198. package/build/{upload-translation-pl-json.67685825.chunk.js → upload-translation-pl-json.2dfe78bb.chunk.js} +1 -1
  199. package/build/{upload-translation-pt-BR-json.f7b1133d.chunk.js → upload-translation-pt-BR-json.65936d7b.chunk.js} +1 -1
  200. package/build/{upload-translation-ru-json.54c031aa.chunk.js → upload-translation-ru-json.2d3b6f69.chunk.js} +1 -1
  201. package/build/{upload-translation-sk-json.f643dfc2.chunk.js → upload-translation-sk-json.f15c7fd6.chunk.js} +1 -1
  202. package/build/upload-translation-th-json.6d3c2370.chunk.js +1 -0
  203. package/build/{upload-translation-uk-json.1a90e73c.chunk.js → upload-translation-uk-json.a6c38449.chunk.js} +1 -1
  204. package/build/{upload-translation-zh-Hans-json.ac1dc0b9.chunk.js → upload-translation-zh-Hans-json.f6b26c45.chunk.js} +1 -1
  205. package/build/{upload-translation-zh-json.164ac601.chunk.js → upload-translation-zh-json.06052336.chunk.js} +1 -1
  206. package/build/upload.803ab265.chunk.js +1 -0
  207. package/build/users-advanced-settings-page.7694d3c9.chunk.js +1 -0
  208. package/build/{users-email-settings-page.678794aa.chunk.js → users-email-settings-page.862eb51e.chunk.js} +1 -1
  209. package/build/users-permissions-translation-dk-json.89d41c4b.chunk.js +1 -0
  210. package/build/users-providers-settings-page.47f97b06.chunk.js +1 -0
  211. package/build/{users-roles-settings-page.4f04bf06.chunk.js → users-roles-settings-page.b67e2b4d.chunk.js} +1 -1
  212. package/build/vi-json.55a11ac0.chunk.js +1 -0
  213. package/build/webhook-edit-page.adad0a42.chunk.js +1 -0
  214. package/build/webhook-list-page.5c8f2a91.chunk.js +1 -0
  215. package/build/zh-Hans-json.55f6475b.chunk.js +1 -0
  216. package/build/zh-json.c3c2b225.chunk.js +1 -0
  217. package/ee/admin/pages/App/utils/customRoutes.js +1 -1
  218. package/ee/server/controllers/authentication/utils.js +1 -1
  219. package/index.js +31 -25
  220. package/package.json +13 -13
  221. package/server/services/permission/permissions-manager/sanitize.js +5 -3
  222. package/server/strategies/api-token.js +0 -3
  223. package/build/1024.a40d2d9e.chunk.js +0 -1
  224. package/build/1856.cc060f4a.chunk.js +0 -1
  225. package/build/2912.d903b59a.chunk.js +0 -1
  226. package/build/4064.d7baa10c.chunk.js +0 -1
  227. package/build/4261.061aed35.chunk.js +0 -1
  228. package/build/4362.029c5c86.chunk.js +0 -1
  229. package/build/4672.68466ddc.chunk.js +0 -1
  230. package/build/4715.a5e6716c.chunk.js +0 -1
  231. package/build/4741.18bf386b.chunk.js +0 -2
  232. package/build/497.7e65282d.chunk.js +0 -1
  233. package/build/4982.4666f610.chunk.js +0 -1
  234. package/build/6060.72f9dda2.chunk.js +0 -2
  235. package/build/6250.5f8cd6cb.chunk.js +0 -1
  236. package/build/6925.4767e761.chunk.js +0 -2
  237. package/build/7841.d2aa6f5e.chunk.js +0 -1
  238. package/build/849.46892e8e.chunk.js +0 -1
  239. package/build/8530.f3460d3b.chunk.js +0 -2
  240. package/build/Admin-authenticatedApp.a0ed38a6.chunk.js +0 -1
  241. package/build/Admin_homePage.83a8b04f.chunk.js +0 -1
  242. package/build/Admin_marketplace.1cf20eeb.chunk.js +0 -1
  243. package/build/admin-users.e0558d75.chunk.js +0 -1
  244. package/build/api-tokens-edit-page.35e1522b.chunk.js +0 -1
  245. package/build/api-tokens-list-page.f01b7b98.chunk.js +0 -1
  246. package/build/ar-json.d79e4709.chunk.js +0 -1
  247. package/build/codemirror-css.17bc19d4.chunk.js +0 -1
  248. package/build/content-manager.05646891.chunk.js +0 -1
  249. package/build/content-type-builder-translation-dk-json.098bd218.chunk.js +0 -1
  250. package/build/content-type-builder.7673250d.chunk.js +0 -1
  251. package/build/cs-json.b8ba75b8.chunk.js +0 -1
  252. package/build/de-json.e01bdeae.chunk.js +0 -1
  253. package/build/dk-json.7356ea4b.chunk.js +0 -1
  254. package/build/email-settings-page.8f22f49c.chunk.js +0 -1
  255. package/build/en-json.9e3c8615.chunk.js +0 -1
  256. package/build/es-json.ed9c8bef.chunk.js +0 -1
  257. package/build/fr-json.bae03a2c.chunk.js +0 -1
  258. package/build/he-json.86f9e663.chunk.js +0 -1
  259. package/build/hu-json.a741d263.chunk.js +0 -1
  260. package/build/i18n-settings-page.ad670b2c.chunk.js +0 -1
  261. package/build/i18n-translation-dk-json.932d3cc2.chunk.js +0 -1
  262. package/build/i18n-translation-en-json.239b740f.chunk.js +0 -1
  263. package/build/i18n-translation-es-json.347904f3.chunk.js +0 -1
  264. package/build/i18n-translation-fr-json.b52474fc.chunk.js +0 -1
  265. package/build/i18n-translation-ko-json.e88e11ef.chunk.js +0 -1
  266. package/build/i18n-translation-zh-Hans-json.4c17fed0.chunk.js +0 -1
  267. package/build/id-json.0b0c9731.chunk.js +0 -1
  268. package/build/it-json.939916bc.chunk.js +0 -1
  269. package/build/ja-json.52581a2a.chunk.js +0 -1
  270. package/build/ko-json.29633034.chunk.js +0 -1
  271. package/build/main.f4419aa1.js +0 -2
  272. package/build/ms-json.5e5d12f9.chunk.js +0 -1
  273. package/build/nl-json.ac661b7f.chunk.js +0 -1
  274. package/build/no-json.ff46b126.chunk.js +0 -1
  275. package/build/pl-json.6bff1d54.chunk.js +0 -1
  276. package/build/pt-BR-json.8b3f799d.chunk.js +0 -1
  277. package/build/pt-json.b23d9a79.chunk.js +0 -1
  278. package/build/ru-json.bff93229.chunk.js +0 -1
  279. package/build/sk-json.a40bc2c8.chunk.js +0 -1
  280. package/build/sv-json.8ac61ecf.chunk.js +0 -1
  281. package/build/th-json.6e4502a3.chunk.js +0 -1
  282. package/build/tr-json.eaca955b.chunk.js +0 -1
  283. package/build/uk-json.da2ed14e.chunk.js +0 -1
  284. package/build/upload-settings.f65c4d08.chunk.js +0 -1
  285. package/build/upload-translation-dk-json.bc6af8b4.chunk.js +0 -1
  286. package/build/upload-translation-en-json.31ea0622.chunk.js +0 -1
  287. package/build/upload-translation-es-json.b53d6641.chunk.js +0 -1
  288. package/build/upload-translation-he-json.5dc34ea8.chunk.js +0 -1
  289. package/build/upload-translation-ko-json.da369eef.chunk.js +0 -1
  290. package/build/upload-translation-th-json.88ee2090.chunk.js +0 -1
  291. package/build/upload.1e3e2685.chunk.js +0 -1
  292. package/build/users-advanced-settings-page.da9830fd.chunk.js +0 -1
  293. package/build/users-permissions-translation-dk-json.3e0295e5.chunk.js +0 -1
  294. package/build/users-providers-settings-page.d4f78a77.chunk.js +0 -1
  295. package/build/vi-json.e993857a.chunk.js +0 -1
  296. package/build/webhook-edit-page.42ec446c.chunk.js +0 -1
  297. package/build/webhook-list-page.775c0e30.chunk.js +0 -1
  298. package/build/zh-Hans-json.fcc53388.chunk.js +0 -1
  299. package/build/zh-json.2e4c9ef4.chunk.js +0 -1
@@ -15,6 +15,7 @@ import AppLayout from '../../layouts/AppLayout';
15
15
  import { useMenu, useReleaseNotification } from '../../hooks';
16
16
  import Onboarding from './Onboarding';
17
17
  import { createRoute } from '../../utils';
18
+ import GuidedTourModal from '../../components/GuidedTour/Modal';
18
19
 
19
20
  const CM = lazy(() =>
20
21
  import(/* webpackChunkName: "content-manager" */ '../../content-manager/pages/App')
@@ -27,6 +28,7 @@ const MarketplacePage = lazy(() =>
27
28
  import(/* webpackChunkName: "Admin_marketplace" */ '../MarketplacePage')
28
29
  );
29
30
  const NotFoundPage = lazy(() => import('../NotFoundPage'));
31
+ const InternalErrorPage = lazy(() => import('../InternalErrorPage'));
30
32
 
31
33
  const ProfilePage = lazy(() =>
32
34
  import(/* webpackChunkName: "Admin_profilePage" */ '../ProfilePage')
@@ -87,9 +89,11 @@ const Admin = () => {
87
89
  <InstalledPluginsPage />
88
90
  </Route>
89
91
  <Route path="/404" component={NotFoundPage} />
92
+ <Route path="/500" component={InternalErrorPage} />
90
93
  <Route path="" component={NotFoundPage} />
91
94
  </Switch>
92
95
  </Suspense>
96
+ <GuidedTourModal />
93
97
  <Onboarding />
94
98
  </AppLayout>
95
99
  </DndProvider>
@@ -10,7 +10,7 @@ import { Flex } from '@strapi/design-system/Flex';
10
10
  import { Link } from '@strapi/design-system/Link';
11
11
  import { Button } from '@strapi/design-system/Button';
12
12
  import { TextInput } from '@strapi/design-system/TextInput';
13
- import { Checkbox } from '@strapi/design-system/Checkbox';
13
+ // import { Checkbox } from '@strapi/design-system/Checkbox';
14
14
  import { Grid, GridItem } from '@strapi/design-system/Grid';
15
15
  import { Typography } from '@strapi/design-system/Typography';
16
16
  import EyeStriked from '@strapi/icons/EyeStriked';
@@ -30,9 +30,12 @@ import FieldActionWrapper from '../FieldActionWrapper';
30
30
  const CenteredBox = styled(Box)`
31
31
  text-align: center;
32
32
  `;
33
- const A = styled.a`
34
- color: ${({ theme }) => theme.colors.primary600};
35
- `;
33
+
34
+ // Experiment only until the next release
35
+ // To uncomment then
36
+ // const A = styled.a`
37
+ // color: ${({ theme }) => theme.colors.primary600};
38
+ // `;
36
39
 
37
40
  const PasswordInput = styled(TextInput)`
38
41
  ::-ms-reveal {
@@ -271,7 +274,9 @@ const Register = ({ fieldsToDisable, noSignin, onSubmit, schema }) => {
271
274
  })}
272
275
  type={confirmPasswordShown ? 'text' : 'password'}
273
276
  />
274
- <Checkbox
277
+ {/* Experiment only until the next release
278
+ To uncomment then */}
279
+ {/* <Checkbox
275
280
  onValueChange={checked => {
276
281
  handleChange({ target: { value: checked, name: 'news' } });
277
282
  }}
@@ -304,7 +309,7 @@ const Register = ({ fieldsToDisable, noSignin, onSubmit, schema }) => {
304
309
  ),
305
310
  }
306
311
  )}
307
- </Checkbox>
312
+ </Checkbox> */}
308
313
  <Button fullWidth size="L" type="submit">
309
314
  {formatMessage({
310
315
  id: 'Auth.form.button.register',
@@ -4,9 +4,10 @@ import camelCase from 'lodash/camelCase';
4
4
  import get from 'lodash/get';
5
5
  import omit from 'lodash/omit';
6
6
  import { Redirect, useRouteMatch, useHistory } from 'react-router-dom';
7
- import { auth, useQuery } from '@strapi/helper-plugin';
7
+ import { auth, useQuery, useGuidedTour } from '@strapi/helper-plugin';
8
8
  import PropTypes from 'prop-types';
9
9
  import forms from 'ee_else_ce/pages/AuthPage/utils/forms';
10
+ import persistStateToLocaleStorage from '../../components/GuidedTour/utils/persistStateToLocaleStorage';
10
11
  import useLocalesProvider from '../../components/LocalesProvider/useLocalesProvider';
11
12
  import formatAPIErrors from '../../utils/formatAPIErrors';
12
13
  import init from './init';
@@ -15,6 +16,7 @@ import { initialState, reducer } from './reducer';
15
16
  const AuthPage = ({ hasAdmin, setHasAdmin }) => {
16
17
  const { push } = useHistory();
17
18
  const { changeLocale } = useLocalesProvider();
19
+ const { setSkipped } = useGuidedTour();
18
20
  const {
19
21
  params: { authType },
20
22
  } = useRouteMatch('/auth/:authType');
@@ -176,6 +178,18 @@ const AuthPage = ({ hasAdmin, setHasAdmin }) => {
176
178
  // Redirect to the homePage
177
179
  setSubmitting(false);
178
180
  setHasAdmin(true);
181
+
182
+ const { roles } = user;
183
+
184
+ if (roles) {
185
+ const isUserSuperAdmin = roles.find(({ code }) => code === 'strapi-super-admin');
186
+
187
+ if (isUserSuperAdmin) {
188
+ persistStateToLocaleStorage.setSkipped(false);
189
+ setSkipped(false);
190
+ }
191
+ }
192
+
179
193
  push('/');
180
194
  } catch (err) {
181
195
  if (err.response) {
@@ -8,13 +8,15 @@ import { FormattedMessage } from 'react-intl';
8
8
  import styled from 'styled-components';
9
9
  import { Helmet } from 'react-helmet';
10
10
  import { useHistory } from 'react-router-dom';
11
- import { LoadingIndicatorPage } from '@strapi/helper-plugin';
11
+ import { LoadingIndicatorPage, useGuidedTour } from '@strapi/helper-plugin';
12
12
  import { Layout } from '@strapi/design-system/Layout';
13
13
  import { Main } from '@strapi/design-system/Main';
14
14
  import { Box } from '@strapi/design-system/Box';
15
15
  import { Grid, GridItem } from '@strapi/design-system/Grid';
16
16
  import Logo from '../../assets/images/homepage-logo.png';
17
17
  import { useModels } from '../../hooks';
18
+ import isGuidedTourCompleted from '../../components/GuidedTour/utils/isGuidedTourCompleted';
19
+ import GuidedTourHomepage from '../../components/GuidedTour/Homepage';
18
20
  import SocialLinks from './SocialLinks';
19
21
  import HomeHeader from './HomeHeader';
20
22
  import ContentBlocks from './ContentBlocks';
@@ -31,6 +33,10 @@ const LogoContainer = styled(Box)`
31
33
  const HomePage = () => {
32
34
  // // Temporary until we develop the menu API
33
35
  const { collectionTypes, singleTypes, isLoading: isLoadingForModels } = useModels();
36
+ const { guidedTourState, isGuidedTourVisible, isSkipped } = useGuidedTour();
37
+
38
+ const showGuidedTour =
39
+ !isGuidedTourCompleted(guidedTourState) && isGuidedTourVisible && !isSkipped;
34
40
 
35
41
  const { push } = useHistory();
36
42
  const handleClick = e => {
@@ -71,7 +77,7 @@ const HomePage = () => {
71
77
  </Grid>
72
78
  <Grid gap={6}>
73
79
  <GridItem col={8} s={12}>
74
- <ContentBlocks />
80
+ {showGuidedTour ? <GuidedTourHomepage /> : <ContentBlocks />}
75
81
  </GridItem>
76
82
  <GridItem col={4} s={12}>
77
83
  <SocialLinks />
@@ -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;
@@ -10,6 +10,7 @@ import { Stack } from '@strapi/design-system/Stack';
10
10
  import { LinkButton } from '@strapi/design-system/LinkButton';
11
11
  import { Main } from '@strapi/design-system/Main';
12
12
  import { Typography } from '@strapi/design-system/Typography';
13
+ import ExternalLink from '@strapi/icons/ExternalLink';
13
14
  import adminPermissions from '../../permissions';
14
15
  import MarketplacePicture from './assets/marketplace-coming-soon.png';
15
16
 
@@ -79,31 +80,30 @@ const MarketPlacePage = () => {
79
80
  </Typography>
80
81
  <Typography variant="alpha" textColor="primary700">
81
82
  {formatMessage({
82
- id: 'admin.pages.MarketPlacePage.coming-soon.2',
83
- defaultMessage: 'A new way to make Strapi awesome.',
83
+ id: 'admin.pages.MarketPlacePage.published',
84
+ defaultMessage: 'Finally here.',
84
85
  })}
85
86
  </Typography>
86
- <Flex maxWidth={pxToRem(580)} paddingTop={3}>
87
+ <Flex maxWidth={pxToRem(620)} paddingTop={3}>
87
88
  <CenterTypography variant="epsilon" textColor="neutral600">
88
89
  {formatMessage({
89
- id: 'admin.pages.MarketPlacePage.content.subtitle',
90
+ id: 'admin.pages.MarketPlacePage.content.subtitle.published',
90
91
  defaultMessage:
91
- 'The new marketplace will help you get more out of Strapi. We are working hard to offer the best experience to discover and install plugins.',
92
+ 'The web marketplace helps you get the most of Strapi. In addition, we are working hard to offer the best experience to discover and install plugins, directly from the app.',
92
93
  })}
93
94
  </CenterTypography>
94
95
  </Flex>
95
96
  <Stack paddingTop={6} horizontal size={2}>
96
- {/* Temporarily hidden until we have the right URL for the link */}
97
- {/* <LinkButton href="https://strapi.io/" size="L" variant="secondary">
97
+ <LinkButton href="https://market.strapi.io" size="L" variant="primary" endIcon={<ExternalLink />}>
98
98
  {formatMessage({
99
- id: 'admin.pages.MarketPlacePage.submit.plugin.link',
100
- defaultMessage: 'Submit your plugin',
99
+ id: 'admin.pages.MarketPlacePage.submit.market.link',
100
+ defaultMessage: 'Visit the web marketplace',
101
101
  })}
102
- </LinkButton> */}
103
- <LinkButton href="https://strapi.io/blog/strapi-market-is-coming-soon" size="L">
102
+ </LinkButton>
103
+ <LinkButton href="https://market.strapi.io/submit-plugin" size="L" variant="secondary">
104
104
  {formatMessage({
105
- id: 'admin.pages.MarketPlacePage.blog.link',
106
- defaultMessage: 'Read our blog post',
105
+ id: 'admin.pages.MarketPlacePage.submit.plugin.link',
106
+ defaultMessage: 'Submit your plugin',
107
107
  })}
108
108
  </LinkButton>
109
109
  </Stack>
@@ -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 NotFoundPage = () => 'TODO NOT FOUND';
17
+ const NoContentType = () => {
18
+ const { formatMessage } = useIntl();
19
+ useFocusWhenNavigate();
9
20
 
10
- export default NotFoundPage;
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;
@@ -7,6 +7,7 @@ import {
7
7
  useOverlayBlocker,
8
8
  useNotification,
9
9
  useTracking,
10
+ useGuidedTour,
10
11
  } from '@strapi/helper-plugin';
11
12
  import { HeaderLayout, ContentLayout } from '@strapi/design-system/Layout';
12
13
  import { Main } from '@strapi/design-system/Main';
@@ -40,6 +41,7 @@ const ApiTokenCreateView = () => {
40
41
  const history = useHistory();
41
42
  const { trackUsage } = useTracking();
42
43
  const trackUsageRef = useRef(trackUsage);
44
+ const { setCurrentStep } = useGuidedTour();
43
45
 
44
46
  const {
45
47
  params: { id },
@@ -103,6 +105,7 @@ const ApiTokenCreateView = () => {
103
105
 
104
106
  if (isCreating) {
105
107
  history.replace(`/settings/api-tokens/${response.id}`, { apiToken: response });
108
+ setCurrentStep('apiTokens.success');
106
109
  }
107
110
  } catch (err) {
108
111
  const errors = formatAPIErrors(err.response.data);
@@ -1,4 +1,4 @@
1
- import React, { useEffect } from 'react';
1
+ import React, { useEffect, useRef } from 'react';
2
2
  import { useIntl } from 'react-intl';
3
3
  import {
4
4
  SettingsPageTitle,
@@ -9,6 +9,7 @@ import {
9
9
  NoContent,
10
10
  DynamicTable,
11
11
  useTracking,
12
+ useGuidedTour,
12
13
  } from '@strapi/helper-plugin';
13
14
  import { HeaderLayout, ContentLayout } from '@strapi/design-system/Layout';
14
15
  import { Main } from '@strapi/design-system/Main';
@@ -33,6 +34,14 @@ const ApiTokenListView = () => {
33
34
  } = useRBAC(adminPermissions.settings['api-tokens']);
34
35
  const { push } = useHistory();
35
36
  const { trackUsage } = useTracking();
37
+ const { startSection } = useGuidedTour();
38
+ const startSectionRef = useRef(startSection);
39
+
40
+ useEffect(() => {
41
+ if (startSectionRef.current) {
42
+ startSectionRef.current('apiTokens');
43
+ }
44
+ }, []);
36
45
 
37
46
  useEffect(() => {
38
47
  push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });
@@ -111,7 +120,7 @@ const ApiTokenListView = () => {
111
120
  >
112
121
  {formatMessage({
113
122
  id: 'Settings.apiTokens.create',
114
- defaultMessage: 'Add Entry',
123
+ defaultMessage: 'Create new API Token',
115
124
  })}
116
125
  </LinkButton>
117
126
  ) : (
@@ -13,8 +13,8 @@ const RoleRow = ({ id, name, description, usersCount, icons }) => {
13
13
 
14
14
  const usersCountText = formatMessage(
15
15
  {
16
- id: `Roles.RoleRow.user-count.${usersCount > 1 ? 'plural' : 'singular'}`,
17
- defaultMessage: '{number} user',
16
+ id: `Roles.RoleRow.user-count`,
17
+ defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',
18
18
  },
19
19
  { number: usersCount }
20
20
  );
@@ -281,7 +281,10 @@ const ListView = () => {
281
281
  size="L"
282
282
  variant="danger-light"
283
283
  >
284
- Delete
284
+ {formatMessage({
285
+ id: 'Settings.webhooks.events.delete',
286
+ defaultMessage: 'Delete',
287
+ })}
285
288
  </Button>
286
289
  </>
287
290
  }
@@ -60,8 +60,6 @@
60
60
  "app.components.InputFileDetails.remove": "حذف هذا الملف",
61
61
  "app.components.InputFileDetails.size": "الحجم:",
62
62
  "app.components.InstallPluginPage.description": "قم بتوسيع التطبيق الخاص بك دون عناء.",
63
- "app.components.InstallPluginPage.helmet": "السوق - الإضافات",
64
- "app.components.InstallPluginPage.title": "السوق - الإضافات",
65
63
  "app.components.LeftMenuFooter.poweredBy": "مندعوم من ",
66
64
  "app.components.LeftMenuLinkContainer.configuration": "التهيئة",
67
65
  "app.components.LeftMenuLinkContainer.general": "عام",
@@ -84,8 +82,6 @@
84
82
  "app.components.PluginCard.more-details": "المزيد من التفاصيل",
85
83
  "app.components.listPlugins.button": "إضافة إضافة جديدة",
86
84
  "app.components.listPlugins.title.none": "لا يوجد اي إضافات مثبته",
87
- "app.components.listPlugins.title.plural": "{number} إضافات مثبته",
88
- "app.components.listPlugins.title.singular": "{number} إضافة مثبته",
89
85
  "app.components.listPluginsPage.deletePlugin.error": "حدث خطأ أثناء إلغاء تثبيت الإضافة",
90
86
  "app.utils.SelectOption.defaultMessage": " ",
91
87
  "app.utils.defaultMessage": " ",
@@ -74,8 +74,6 @@
74
74
  "app.components.InstallPluginPage.Download.description": "Může to trvat několik sekund, než se stáhne a nainstaluje zásuvný modul.",
75
75
  "app.components.InstallPluginPage.Download.title": "Stahování...",
76
76
  "app.components.InstallPluginPage.description": "Rozšiřte snadno svou aplikaci.",
77
- "app.components.InstallPluginPage.helmet": "Tržiště – Zásuvné moduly",
78
- "app.components.InstallPluginPage.title": "Tržiště – Zásuvné moduly",
79
77
  "app.components.LeftMenuFooter.documentation": "Dokumentace",
80
78
  "app.components.LeftMenuFooter.help": "Nápověda",
81
79
  "app.components.LeftMenuFooter.poweredBy": "Běží na ",
@@ -106,8 +104,6 @@
106
104
  "app.components.PluginCard.more-details": "Více podrobností",
107
105
  "app.components.listPlugins.button": "Přidat nový zásuvný modul",
108
106
  "app.components.listPlugins.title.none": "Nejsou instalovány žádné zásuvné moduly",
109
- "app.components.listPlugins.title.plural": "{number} zásuvných modulů je instalováno",
110
- "app.components.listPlugins.title.singular": "{number} zásuvný modul je nainstalován",
111
107
  "app.components.listPluginsPage.deletePlugin.error": "Došlo k chybě při odinstalaci zásuvného modulu",
112
108
  "app.containers.App.notification.error.init": "Při provádění požadavku na API došlo k chybě",
113
109
  "app.links.configure-view": "Upravit vzhled",
@@ -198,8 +194,6 @@
198
194
  "content-manager.containers.Edit.seeDetails": "Detaily",
199
195
  "content-manager.containers.Edit.submit": "Uložit",
200
196
  "content-manager.containers.EditSettingsView.modal-form.edit-field": "Upravit pole",
201
- "content-manager.containers.EditView.components.missing.plural": "Chybějící komponenty: {count}",
202
- "content-manager.containers.EditView.components.missing.singular": "Chybějící komponenty: {count}",
203
197
  "content-manager.containers.EditView.notification.errors": "Formulář obsahuje chyby",
204
198
  "content-manager.containers.Home.introduction": "K úpravě vašich záznamů prosím přistupte skrz odkaz v levém menu. Tento zásuvný modul neobsahuje způsob jak upravit nastavení, stále na něm pracujeme.",
205
199
  "content-manager.containers.Home.pluginHeaderDescription": "Spravujte své záznamy mocným a intuitivním rozhraním.",
@@ -63,8 +63,6 @@
63
63
  "Roles & Permissions": "Rollen & Berechtigungen",
64
64
  "Roles.ListPage.notification.delete-all-not-allowed": "Manche Rollen konnten nicht gelöscht werden, da sie mit Benutzern verknüpft sind",
65
65
  "Roles.ListPage.notification.delete-not-allowed": "Eine Rolle, die mit einem Benutzer verknüpft ist, kann nicht gelöscht werden",
66
- "Roles.RoleRow.user-count.plural": "{number} Benutzer",
67
- "Roles.RoleRow.user-count.singular": "{number} Benutzer",
68
66
  "Roles.components.List.empty.withSearch": "Es gibt keine Rolle die der Suche ({search}) entspricht...",
69
67
  "Settings.PageTitle": "Einstellungen - {name}",
70
68
  "Settings.application.description": "Projektdetails ansehen",
@@ -87,8 +85,6 @@
87
85
  "Settings.permissions.conditions.no-actions": "Keine Aktionen",
88
86
  "Settings.permissions.conditions.none-selected": "Jederzeit",
89
87
  "Settings.permissions.conditions.or": "ODER",
90
- "Settings.permissions.conditions.selected.plural": "{number} Bedingungen ausgewählt",
91
- "Settings.permissions.conditions.selected.singular": "{number} Bedingung ausgewählt",
92
88
  "Settings.permissions.conditions.when": "Wenn",
93
89
  "Settings.permissions.menu.link.roles.label": "Rollen",
94
90
  "Settings.permissions.menu.link.users.label": "Benutzer",
@@ -123,8 +119,6 @@
123
119
  "Settings.roles.form.title": "Details",
124
120
  "Settings.roles.list.button.add": "Neue Rolle hinzufügen",
125
121
  "Settings.roles.list.description": "Liste der Rollen",
126
- "Settings.roles.list.title.plural": "{number} Rollen",
127
- "Settings.roles.list.title.singular": "{number} Rolle",
128
122
  "Settings.roles.title": "Rollen",
129
123
  "Settings.roles.title.singular": "Rolle",
130
124
  "Settings.sso.description": "Einstellungen des Single Sign-On Features konfigurieren.",
@@ -197,8 +191,6 @@
197
191
  "app.components.InstallPluginPage.Download.description": "Es kann einige Sekunden dauern, bis das Plugin heruntergeladen und installiert ist.",
198
192
  "app.components.InstallPluginPage.Download.title": "Herunterladen...",
199
193
  "app.components.InstallPluginPage.description": "Erweitere deine App problemlos.",
200
- "app.components.InstallPluginPage.helmet": "Marktplatz - Plugins",
201
- "app.components.InstallPluginPage.title": "Marktplatz - Plugins",
202
194
  "app.components.LeftMenuFooter.documentation": "Dokumentation",
203
195
  "app.components.LeftMenuFooter.help": "Hilfe",
204
196
  "app.components.LeftMenuFooter.poweredBy": "Stolz präsentiert von ",
@@ -255,8 +247,6 @@
255
247
  "app.components.Users.SortPicker.sortby.username_desc": "Benutzername (Z nach A)",
256
248
  "app.components.listPlugins.button": "Neues Plugin hinzufügen",
257
249
  "app.components.listPlugins.title.none": "Es ist kein Plugin installiert",
258
- "app.components.listPlugins.title.plural": "{number} Plugins sind installiert",
259
- "app.components.listPlugins.title.singular": "{number} Plugin ist installiert",
260
250
  "app.components.listPluginsPage.deletePlugin.error": "Beim Entfernen des Plugins ist ein Fehler aufgetreten",
261
251
  "app.containers.App.notification.error.init": "Beim Aufruf der API ist ein Fehler aufgetreten.",
262
252
  "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin": "Bitte den Administrator kontaktieren, sollte der Link nicht ankommen.",
@@ -387,8 +377,6 @@
387
377
  "content-manager.containers.Edit.seeDetails": "Details",
388
378
  "content-manager.containers.Edit.submit": "Speichern",
389
379
  "content-manager.containers.EditSettingsView.modal-form.edit-field": "Feld bearbeiten",
390
- "content-manager.containers.EditView.components.missing.plural": "Es fehlen {count} Komponenten",
391
- "content-manager.containers.EditView.components.missing.singular": "Es fehlt {count} Komponente",
392
380
  "content-manager.containers.EditView.notification.errors": "Das Formular enthält Fehler",
393
381
  "content-manager.containers.Home.introduction": "Um deine Einträge zu verwalten, klicke auf den entsprechenden Link im Menü links. Dieses Plugin ist noch in aktiver Entwicklung und seine Einstellungen können nicht optimal angepasst werden.",
394
382
  "content-manager.containers.Home.pluginHeaderDescription": "Verwalte deine Einträge mithilfe eines mächtigen und wunderschönen Interfaces.",