@strapi/admin 4.1.5 → 4.1.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.
Files changed (375) hide show
  1. package/admin/src/StrapiApp.js +40 -42
  2. package/admin/src/components/AuthenticatedApp/utils/api.js +1 -1
  3. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +1 -1
  4. package/admin/src/components/GuidedTour/Homepage/index.js +2 -2
  5. package/admin/src/components/GuidedTour/Modal/components/Modal.js +1 -1
  6. package/admin/src/components/LeftMenu/index.js +2 -2
  7. package/admin/src/components/Providers/index.js +65 -32
  8. package/admin/src/components/Theme/index.js +11 -12
  9. package/admin/src/components/ThemeToggleProvider/index.js +66 -0
  10. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +17 -3
  11. package/admin/src/content-manager/components/ComponentInitializer/index.js +9 -4
  12. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +135 -0
  13. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +32 -0
  14. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +62 -0
  15. package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +37 -0
  16. package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +52 -27
  17. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js +60 -0
  18. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/isSingleRelation.js +3 -0
  19. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +1 -1
  20. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +42 -42
  21. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.js +18 -0
  22. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/handleAPIError.js +15 -0
  23. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +0 -1
  24. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +21 -19
  25. package/admin/src/content-manager/components/InputUID/index.js +1 -5
  26. package/admin/src/content-manager/components/Inputs/index.js +8 -10
  27. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +3 -1
  28. package/admin/src/content-manager/components/RepeatableComponent/index.js +1 -4
  29. package/admin/src/content-manager/components/SelectMany/index.js +1 -1
  30. package/admin/src/content-manager/components/SelectOne/index.js +1 -1
  31. package/admin/src/content-manager/components/SelectWrapper/utils/getSelectStyles.js +3 -1
  32. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +15 -3
  33. package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +4 -2
  34. package/admin/src/content-manager/components/Wysiwyg/index.js +3 -4
  35. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +23 -2
  36. package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +1 -1
  37. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +1 -1
  38. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +6 -1
  39. package/admin/src/content-manager/pages/EditSettingsView/index.js +2 -2
  40. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +7 -1
  41. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -4
  42. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +1 -4
  43. package/admin/src/content-manager/pages/EditView/Header/index.js +1 -1
  44. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +1 -1
  45. package/admin/src/content-manager/pages/ListSettingsView/index.js +2 -2
  46. package/admin/src/content-manager/pages/ListView/actions.js +2 -1
  47. package/admin/src/content-manager/pages/ListView/index.js +2 -5
  48. package/admin/src/content-manager/pages/ListView/reducer.js +55 -21
  49. package/admin/src/content-manager/pages/ListView/selectors.js +3 -6
  50. package/admin/src/content-manager/pages/ListViewLayoutManager/index.js +1 -1
  51. package/admin/src/content-manager/testUtils/data.js +5 -1
  52. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  53. package/admin/src/content-manager/utils/isFieldTypeNumber.js +3 -0
  54. package/admin/src/contexts/ThemeToggle/index.js +5 -0
  55. package/admin/src/contexts/index.js +1 -0
  56. package/admin/src/hooks/index.js +1 -0
  57. package/admin/src/hooks/useMenu/reducer.js +3 -3
  58. package/admin/src/hooks/useReleaseNotification/index.js +1 -1
  59. package/admin/src/hooks/useSettingsMenu/init.js +2 -2
  60. package/admin/src/hooks/useThemeToggle/index.js +10 -0
  61. package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -1
  62. package/admin/src/pages/Admin/Onboarding/index.js +2 -2
  63. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +1 -1
  64. package/admin/src/pages/AuthPage/components/Register/index.js +6 -6
  65. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +3 -3
  66. package/admin/src/pages/HomePage/ContentBlocks.js +1 -1
  67. package/admin/src/pages/HomePage/SocialLinks.js +1 -4
  68. package/admin/src/pages/InstalledPluginsPage/Plugins.js +3 -3
  69. package/admin/src/pages/InstalledPluginsPage/index.js +1 -1
  70. package/admin/src/pages/MarketplacePage/components/PluginCard/InstallPluginButton.js +66 -0
  71. package/admin/src/pages/MarketplacePage/components/PluginCard/index.js +13 -36
  72. package/admin/src/pages/MarketplacePage/index.js +18 -2
  73. package/admin/src/pages/ProfilePage/index.js +79 -15
  74. package/admin/src/pages/ProfilePage/utils/api.js +4 -2
  75. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +1 -1
  76. package/admin/src/pages/SettingsPage/index.js +1 -1
  77. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +1 -1
  78. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +3 -3
  79. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +1 -1
  80. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +1 -1
  81. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +1 -1
  82. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +3 -3
  83. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +2 -2
  84. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +6 -6
  85. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +5 -5
  86. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js +1 -1
  87. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +1 -1
  88. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +1 -1
  89. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/stepper.js +1 -1
  90. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +1 -1
  91. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +3 -3
  92. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +7 -7
  93. package/admin/src/pages/UseCasePage/index.js +2 -2
  94. package/admin/src/translations/ar.json +0 -6
  95. package/admin/src/translations/cs.json +0 -8
  96. package/admin/src/translations/de.json +0 -26
  97. package/admin/src/translations/dk.json +0 -53
  98. package/admin/src/translations/en.json +88 -101
  99. package/admin/src/translations/es.json +0 -53
  100. package/admin/src/translations/fr.json +0 -56
  101. package/admin/src/translations/he.json +0 -24
  102. package/admin/src/translations/hu.json +0 -53
  103. package/admin/src/translations/id.json +0 -21
  104. package/admin/src/translations/it.json +0 -22
  105. package/admin/src/translations/ja.json +0 -53
  106. package/admin/src/translations/ko.json +0 -56
  107. package/admin/src/translations/ms.json +0 -12
  108. package/admin/src/translations/nl.json +0 -53
  109. package/admin/src/translations/no.json +0 -22
  110. package/admin/src/translations/pl.json +0 -26
  111. package/admin/src/translations/pt-BR.json +0 -53
  112. package/admin/src/translations/pt.json +0 -13
  113. package/admin/src/translations/ru.json +0 -25
  114. package/admin/src/translations/sk.json +0 -21
  115. package/admin/src/translations/sv.json +0 -6
  116. package/admin/src/translations/th.json +0 -21
  117. package/admin/src/translations/tr.json +0 -13
  118. package/admin/src/translations/uk.json +0 -12
  119. package/admin/src/translations/vi.json +1 -10
  120. package/admin/src/translations/zh-Hans.json +0 -53
  121. package/admin/src/translations/zh.json +0 -56
  122. package/build/4362.d8299f0c.chunk.js +1 -0
  123. package/build/{6250.836851ca.chunk.js → 6404.3c2d0a81.chunk.js} +1 -1
  124. package/build/849.82c29ba7.chunk.js +1 -0
  125. package/build/9260.4233fae2.chunk.js +2 -0
  126. package/build/{9260.fa40c7bd.chunk.js.LICENSE.txt → 9260.4233fae2.chunk.js.LICENSE.txt} +0 -0
  127. package/build/Admin-authenticatedApp.c0239c26.chunk.js +1 -0
  128. package/build/Admin_homePage.4a3aa22e.chunk.js +1 -0
  129. package/build/Admin_marketplace.4748c8f6.chunk.js +1 -0
  130. package/build/Admin_pluginsPage.89a96d29.chunk.js +1 -0
  131. package/build/Admin_profilePage.7869a07a.chunk.js +1 -0
  132. package/build/Admin_settingsPage.2763454c.chunk.js +1 -0
  133. package/build/admin-edit-roles-page.fbcc195d.chunk.js +1 -0
  134. package/build/admin-edit-users.91e8f5e4.chunk.js +1 -0
  135. package/build/admin-users.0a6acd73.chunk.js +1 -0
  136. package/build/api-tokens-create-page.76e13a35.chunk.js +1 -0
  137. package/build/api-tokens-edit-page.b3d48a7f.chunk.js +1 -0
  138. package/build/api-tokens-list-page.4e822ac8.chunk.js +1 -0
  139. package/build/ar-json.cc19c13c.chunk.js +1 -0
  140. package/build/content-manager.abde723b.chunk.js +1 -0
  141. package/build/{content-type-builder-translation-ar-json.f1fedc12.chunk.js → content-type-builder-translation-ar-json.ab0a0caa.chunk.js} +1 -1
  142. package/build/content-type-builder-translation-cs-json.e3913c9f.chunk.js +1 -0
  143. package/build/content-type-builder-translation-de-json.5eb3135d.chunk.js +1 -0
  144. package/build/content-type-builder-translation-dk-json.52805572.chunk.js +1 -0
  145. package/build/content-type-builder-translation-en-json.e51b2ec3.chunk.js +1 -0
  146. package/build/content-type-builder-translation-es-json.5a362abf.chunk.js +1 -0
  147. package/build/content-type-builder-translation-fr-json.afd4a12f.chunk.js +1 -0
  148. package/build/content-type-builder-translation-id-json.4a21dfab.chunk.js +1 -0
  149. package/build/content-type-builder-translation-it-json.4fa203b1.chunk.js +1 -0
  150. package/build/{content-type-builder-translation-ja-json.1459fb88.chunk.js → content-type-builder-translation-ja-json.cbb3b88a.chunk.js} +1 -1
  151. package/build/content-type-builder-translation-ko-json.7daf86c3.chunk.js +1 -0
  152. package/build/content-type-builder-translation-ms-json.3755f8c8.chunk.js +1 -0
  153. package/build/content-type-builder-translation-nl-json.6f8d924b.chunk.js +1 -0
  154. package/build/{content-type-builder-translation-pl-json.01dc068c.chunk.js → content-type-builder-translation-pl-json.fc0b0c20.chunk.js} +1 -1
  155. package/build/{content-type-builder-translation-pt-BR-json.d311d056.chunk.js → content-type-builder-translation-pt-BR-json.86b192fa.chunk.js} +1 -1
  156. package/build/{content-type-builder-translation-pt-json.4893266f.chunk.js → content-type-builder-translation-pt-json.b584f79f.chunk.js} +1 -1
  157. package/build/content-type-builder-translation-ru-json.7648049a.chunk.js +1 -0
  158. package/build/content-type-builder-translation-sk-json.c12a8dec.chunk.js +1 -0
  159. package/build/content-type-builder-translation-th-json.668cd5f5.chunk.js +1 -0
  160. package/build/{content-type-builder-translation-tr-json.696283a5.chunk.js → content-type-builder-translation-tr-json.0f52e1e8.chunk.js} +1 -1
  161. package/build/content-type-builder-translation-uk-json.4bf80448.chunk.js +1 -0
  162. package/build/content-type-builder-translation-zh-Hans-json.76e58138.chunk.js +1 -0
  163. package/build/content-type-builder-translation-zh-json.0bec81f1.chunk.js +1 -0
  164. package/build/content-type-builder.19ae7eef.chunk.js +1 -0
  165. package/build/cs-json.ce6f2e52.chunk.js +1 -0
  166. package/build/de-json.2087d61e.chunk.js +1 -0
  167. package/build/dk-json.fb9ee45a.chunk.js +1 -0
  168. package/build/{email-settings-page.27ee4a98.chunk.js → email-settings-page.40ee2bda.chunk.js} +1 -1
  169. package/build/en-json.94e6ed8a.chunk.js +1 -0
  170. package/build/es-json.8f4d89e2.chunk.js +1 -0
  171. package/build/fr-json.2a0b93ed.chunk.js +1 -0
  172. package/build/he-json.917d416c.chunk.js +1 -0
  173. package/build/hu-json.bee23c51.chunk.js +1 -0
  174. package/build/{i18n-settings-page.c4018651.chunk.js → i18n-settings-page.1f6be747.chunk.js} +1 -1
  175. package/build/i18n-translation-de-json.96ae1f68.chunk.js +1 -0
  176. package/build/id-json.fef679cb.chunk.js +1 -0
  177. package/build/index.html +1 -1
  178. package/build/it-json.937b2108.chunk.js +1 -0
  179. package/build/ja-json.b4818378.chunk.js +1 -0
  180. package/build/ko-json.8294a7fc.chunk.js +1 -0
  181. package/build/{main.25a14c1f.js → main.82ea2ad5.js} +2 -2
  182. package/build/{main.25a14c1f.js.LICENSE.txt → main.82ea2ad5.js.LICENSE.txt} +0 -0
  183. package/build/ms-json.f46167ef.chunk.js +1 -0
  184. package/build/nl-json.86eae27d.chunk.js +1 -0
  185. package/build/no-json.17ecda5d.chunk.js +1 -0
  186. package/build/pl-json.0db77f2c.chunk.js +1 -0
  187. package/build/pt-BR-json.4c90cb2d.chunk.js +1 -0
  188. package/build/pt-json.ef0efd89.chunk.js +1 -0
  189. package/build/ru-json.da33236d.chunk.js +1 -0
  190. package/build/{runtime~main.385dfcf4.js → runtime~main.0634180a.js} +1 -1
  191. package/build/sk-json.797e898f.chunk.js +1 -0
  192. package/build/sso-settings-page.c5dda65d.chunk.js +1 -0
  193. package/build/sv-json.5bbe6a4f.chunk.js +1 -0
  194. package/build/th-json.c1393c06.chunk.js +1 -0
  195. package/build/tr-json.57cde8b0.chunk.js +1 -0
  196. package/build/uk-json.c6df66d2.chunk.js +1 -0
  197. package/build/{upload-settings.4401f36d.chunk.js → upload-settings.9d3231f4.chunk.js} +1 -1
  198. package/build/upload-translation-de-json.55a7e43a.chunk.js +1 -0
  199. package/build/upload-translation-dk-json.b74134c8.chunk.js +1 -0
  200. package/build/upload-translation-en-json.c4e56528.chunk.js +1 -0
  201. package/build/upload-translation-es-json.15a3015f.chunk.js +1 -0
  202. package/build/upload-translation-fr-json.b12f7247.chunk.js +1 -0
  203. package/build/upload-translation-he-json.bee013d1.chunk.js +1 -0
  204. package/build/upload-translation-it-json.43ec0a8d.chunk.js +1 -0
  205. package/build/upload-translation-ja-json.03f1af04.chunk.js +1 -0
  206. package/build/upload-translation-ko-json.08ad9013.chunk.js +1 -0
  207. package/build/upload-translation-ms-json.30974c82.chunk.js +1 -0
  208. package/build/upload-translation-pl-json.3740abed.chunk.js +1 -0
  209. package/build/upload-translation-pt-BR-json.c7656183.chunk.js +1 -0
  210. package/build/upload-translation-ru-json.0dd4f526.chunk.js +1 -0
  211. package/build/upload-translation-sk-json.55cacd22.chunk.js +1 -0
  212. package/build/upload-translation-th-json.f7aa9392.chunk.js +1 -0
  213. package/build/upload-translation-uk-json.696a16f3.chunk.js +1 -0
  214. package/build/upload-translation-zh-Hans-json.de7bc63f.chunk.js +1 -0
  215. package/build/upload-translation-zh-json.bbc1ed41.chunk.js +1 -0
  216. package/build/{upload.5a2dded7.chunk.js → upload.8edef1ea.chunk.js} +1 -1
  217. package/build/{users-advanced-settings-page.8905d8d8.chunk.js → users-advanced-settings-page.48c437f0.chunk.js} +1 -1
  218. package/build/users-email-settings-page.f39866d6.chunk.js +1 -0
  219. package/build/users-permissions-translation-ar-json.667e7eee.chunk.js +1 -0
  220. package/build/users-permissions-translation-cs-json.995b5d76.chunk.js +1 -0
  221. package/build/users-permissions-translation-de-json.a5c8db9c.chunk.js +1 -0
  222. package/build/users-permissions-translation-dk-json.1fe5e07a.chunk.js +1 -0
  223. package/build/users-permissions-translation-en-json.0e0bc290.chunk.js +1 -0
  224. package/build/users-permissions-translation-es-json.05669296.chunk.js +1 -0
  225. package/build/users-permissions-translation-fr-json.3e3522c3.chunk.js +1 -0
  226. package/build/users-permissions-translation-id-json.186a3f65.chunk.js +1 -0
  227. package/build/users-permissions-translation-it-json.ee5742c4.chunk.js +1 -0
  228. package/build/users-permissions-translation-ja-json.c9cafa6e.chunk.js +1 -0
  229. package/build/users-permissions-translation-ko-json.170f89c2.chunk.js +1 -0
  230. package/build/users-permissions-translation-ms-json.3a128ff4.chunk.js +1 -0
  231. package/build/users-permissions-translation-nl-json.4146aed1.chunk.js +1 -0
  232. package/build/users-permissions-translation-pl-json.a61de7ed.chunk.js +1 -0
  233. package/build/users-permissions-translation-pt-BR-json.51b1cc15.chunk.js +1 -0
  234. package/build/users-permissions-translation-pt-json.85f0e0e1.chunk.js +1 -0
  235. package/build/users-permissions-translation-ru-json.a19b2400.chunk.js +1 -0
  236. package/build/users-permissions-translation-sk-json.27af7260.chunk.js +1 -0
  237. package/build/users-permissions-translation-sv-json.739657b9.chunk.js +1 -0
  238. package/build/users-permissions-translation-th-json.f001fff3.chunk.js +1 -0
  239. package/build/users-permissions-translation-tr-json.3aae5dda.chunk.js +1 -0
  240. package/build/users-permissions-translation-uk-json.a66c7a8c.chunk.js +1 -0
  241. package/build/users-permissions-translation-vi-json.685c65cc.chunk.js +1 -0
  242. package/build/users-permissions-translation-zh-Hans-json.2202741e.chunk.js +1 -0
  243. package/build/users-permissions-translation-zh-json.429a3190.chunk.js +1 -0
  244. package/build/users-providers-settings-page.574ed765.chunk.js +1 -0
  245. package/build/{users-roles-settings-page.a2f6277a.chunk.js → users-roles-settings-page.b836dc30.chunk.js} +1 -1
  246. package/build/vi-json.104a6f3a.chunk.js +1 -0
  247. package/build/webhook-edit-page.b791c6f9.chunk.js +1 -0
  248. package/build/{webhook-list-page.c21b5a9a.chunk.js → webhook-list-page.502d1236.chunk.js} +1 -1
  249. package/build/zh-Hans-json.9afc1adf.chunk.js +1 -0
  250. package/build/zh-json.f36abb77.chunk.js +1 -0
  251. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -1
  252. package/ee/admin/pages/SettingsPage/SingleSignOn/index.js +2 -2
  253. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +5 -5
  254. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +6 -6
  255. package/package.json +5 -5
  256. package/scripts/build.js +15 -1
  257. package/server/bootstrap.js +6 -6
  258. package/server/validation/permission.js +5 -1
  259. package/admin/src/content-manager/components/DynamicTable/CellContent/Relation/PopoverContent.js +0 -87
  260. package/admin/src/content-manager/components/DynamicTable/CellContent/Relation/index.js +0 -107
  261. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getYupInnerErrors.js +0 -17
  262. package/admin/src/themes/colors.js +0 -51
  263. package/admin/src/themes/fontWeights.js +0 -8
  264. package/admin/src/themes/index.js +0 -13
  265. package/admin/src/themes/sizes.js +0 -31
  266. package/build/4362.cf5b578d.chunk.js +0 -1
  267. package/build/849.17f011e8.chunk.js +0 -1
  268. package/build/9260.fa40c7bd.chunk.js +0 -2
  269. package/build/Admin-authenticatedApp.a23bde1b.chunk.js +0 -1
  270. package/build/Admin_homePage.fd1fc572.chunk.js +0 -1
  271. package/build/Admin_marketplace.89a0a014.chunk.js +0 -1
  272. package/build/Admin_pluginsPage.97a514db.chunk.js +0 -1
  273. package/build/Admin_profilePage.c497b39d.chunk.js +0 -1
  274. package/build/Admin_settingsPage.55ec1f30.chunk.js +0 -1
  275. package/build/admin-edit-roles-page.49b6f01d.chunk.js +0 -1
  276. package/build/admin-edit-users.381e4a0d.chunk.js +0 -1
  277. package/build/admin-users.2740c223.chunk.js +0 -1
  278. package/build/api-tokens-create-page.db17bb39.chunk.js +0 -1
  279. package/build/api-tokens-edit-page.c7299a77.chunk.js +0 -1
  280. package/build/api-tokens-list-page.26a05a21.chunk.js +0 -1
  281. package/build/ar-json.6a2565af.chunk.js +0 -1
  282. package/build/content-manager.31be1448.chunk.js +0 -1
  283. package/build/content-type-builder-translation-cs-json.89f7272e.chunk.js +0 -1
  284. package/build/content-type-builder-translation-de-json.0205697c.chunk.js +0 -1
  285. package/build/content-type-builder-translation-dk-json.235ff56e.chunk.js +0 -1
  286. package/build/content-type-builder-translation-en-json.8034dab6.chunk.js +0 -1
  287. package/build/content-type-builder-translation-es-json.13b2e2aa.chunk.js +0 -1
  288. package/build/content-type-builder-translation-fr-json.bee621f7.chunk.js +0 -1
  289. package/build/content-type-builder-translation-id-json.2fbf4f8c.chunk.js +0 -1
  290. package/build/content-type-builder-translation-it-json.a1afd7a9.chunk.js +0 -1
  291. package/build/content-type-builder-translation-ko-json.d2080111.chunk.js +0 -1
  292. package/build/content-type-builder-translation-ms-json.048122eb.chunk.js +0 -1
  293. package/build/content-type-builder-translation-nl-json.8d59e86b.chunk.js +0 -1
  294. package/build/content-type-builder-translation-ru-json.1285874d.chunk.js +0 -1
  295. package/build/content-type-builder-translation-sk-json.0064156b.chunk.js +0 -1
  296. package/build/content-type-builder-translation-th-json.5f690524.chunk.js +0 -1
  297. package/build/content-type-builder-translation-uk-json.87496bf9.chunk.js +0 -1
  298. package/build/content-type-builder-translation-zh-Hans-json.283c640e.chunk.js +0 -1
  299. package/build/content-type-builder-translation-zh-json.77aa2275.chunk.js +0 -1
  300. package/build/content-type-builder.de5d18ad.chunk.js +0 -1
  301. package/build/cs-json.8df09876.chunk.js +0 -1
  302. package/build/de-json.6e14f607.chunk.js +0 -1
  303. package/build/dk-json.be388470.chunk.js +0 -1
  304. package/build/en-json.2bc27a3d.chunk.js +0 -1
  305. package/build/es-json.61553168.chunk.js +0 -1
  306. package/build/fr-json.a9ce0700.chunk.js +0 -1
  307. package/build/he-json.1742494e.chunk.js +0 -1
  308. package/build/hu-json.e667d285.chunk.js +0 -1
  309. package/build/i18n-translation-de-json.c5c9054f.chunk.js +0 -1
  310. package/build/id-json.d87ebb20.chunk.js +0 -1
  311. package/build/it-json.a2880b81.chunk.js +0 -1
  312. package/build/ja-json.e13f04e8.chunk.js +0 -1
  313. package/build/ko-json.2200c9c9.chunk.js +0 -1
  314. package/build/ms-json.3a062984.chunk.js +0 -1
  315. package/build/nl-json.30ce02cb.chunk.js +0 -1
  316. package/build/no-json.9af40e9d.chunk.js +0 -1
  317. package/build/pl-json.fd373053.chunk.js +0 -1
  318. package/build/pt-BR-json.30e2d716.chunk.js +0 -1
  319. package/build/pt-json.3aaf9e05.chunk.js +0 -1
  320. package/build/ru-json.78c56e1c.chunk.js +0 -1
  321. package/build/sk-json.c0bf144c.chunk.js +0 -1
  322. package/build/sso-settings-page.121dd0a6.chunk.js +0 -1
  323. package/build/sv-json.aad187b9.chunk.js +0 -1
  324. package/build/th-json.e2b4a0fb.chunk.js +0 -1
  325. package/build/tr-json.0add11cd.chunk.js +0 -1
  326. package/build/uk-json.eb78e77e.chunk.js +0 -1
  327. package/build/upload-translation-de-json.1308dce5.chunk.js +0 -1
  328. package/build/upload-translation-dk-json.0d4e855f.chunk.js +0 -1
  329. package/build/upload-translation-en-json.c334dd82.chunk.js +0 -1
  330. package/build/upload-translation-es-json.81b13eac.chunk.js +0 -1
  331. package/build/upload-translation-fr-json.1bec79ec.chunk.js +0 -1
  332. package/build/upload-translation-he-json.1d28982f.chunk.js +0 -1
  333. package/build/upload-translation-it-json.7d4bdc5a.chunk.js +0 -1
  334. package/build/upload-translation-ja-json.97fcacd8.chunk.js +0 -1
  335. package/build/upload-translation-ko-json.d7345fe1.chunk.js +0 -1
  336. package/build/upload-translation-ms-json.081effd5.chunk.js +0 -1
  337. package/build/upload-translation-pl-json.2dfe78bb.chunk.js +0 -1
  338. package/build/upload-translation-pt-BR-json.65936d7b.chunk.js +0 -1
  339. package/build/upload-translation-ru-json.2d3b6f69.chunk.js +0 -1
  340. package/build/upload-translation-sk-json.f15c7fd6.chunk.js +0 -1
  341. package/build/upload-translation-th-json.6d3c2370.chunk.js +0 -1
  342. package/build/upload-translation-uk-json.a6c38449.chunk.js +0 -1
  343. package/build/upload-translation-zh-Hans-json.f6b26c45.chunk.js +0 -1
  344. package/build/upload-translation-zh-json.06052336.chunk.js +0 -1
  345. package/build/users-email-settings-page.862eb51e.chunk.js +0 -1
  346. package/build/users-permissions-translation-ar-json.bdddd0d7.chunk.js +0 -1
  347. package/build/users-permissions-translation-cs-json.7881d3ff.chunk.js +0 -1
  348. package/build/users-permissions-translation-de-json.8d53c619.chunk.js +0 -1
  349. package/build/users-permissions-translation-dk-json.89d41c4b.chunk.js +0 -1
  350. package/build/users-permissions-translation-en-json.21b0fd2f.chunk.js +0 -1
  351. package/build/users-permissions-translation-es-json.a4f81eaa.chunk.js +0 -1
  352. package/build/users-permissions-translation-fr-json.a2172545.chunk.js +0 -1
  353. package/build/users-permissions-translation-id-json.8f17982a.chunk.js +0 -1
  354. package/build/users-permissions-translation-it-json.87952a24.chunk.js +0 -1
  355. package/build/users-permissions-translation-ja-json.5915d9ef.chunk.js +0 -1
  356. package/build/users-permissions-translation-ko-json.f1ca6cc4.chunk.js +0 -1
  357. package/build/users-permissions-translation-ms-json.2268324c.chunk.js +0 -1
  358. package/build/users-permissions-translation-nl-json.4e1231dd.chunk.js +0 -1
  359. package/build/users-permissions-translation-pl-json.107638b5.chunk.js +0 -1
  360. package/build/users-permissions-translation-pt-BR-json.8dafc053.chunk.js +0 -1
  361. package/build/users-permissions-translation-pt-json.3322464f.chunk.js +0 -1
  362. package/build/users-permissions-translation-ru-json.5709c5a0.chunk.js +0 -1
  363. package/build/users-permissions-translation-sk-json.fe7cc044.chunk.js +0 -1
  364. package/build/users-permissions-translation-sv-json.e7e1684b.chunk.js +0 -1
  365. package/build/users-permissions-translation-th-json.bb544ee3.chunk.js +0 -1
  366. package/build/users-permissions-translation-tr-json.30f3ca90.chunk.js +0 -1
  367. package/build/users-permissions-translation-uk-json.634f2569.chunk.js +0 -1
  368. package/build/users-permissions-translation-vi-json.605d88bc.chunk.js +0 -1
  369. package/build/users-permissions-translation-zh-Hans-json.85480dab.chunk.js +0 -1
  370. package/build/users-permissions-translation-zh-json.99932731.chunk.js +0 -1
  371. package/build/users-providers-settings-page.368893ed.chunk.js +0 -1
  372. package/build/vi-json.1e850069.chunk.js +0 -1
  373. package/build/webhook-edit-page.d170eda1.chunk.js +0 -1
  374. package/build/zh-Hans-json.55f6475b.chunk.js +0 -1
  375. package/build/zh-json.c3c2b225.chunk.js +0 -1
@@ -9,12 +9,13 @@ import {
9
9
  useNotification,
10
10
  useOverlayBlocker,
11
11
  auth,
12
+ useTracking,
12
13
  } from '@strapi/helper-plugin';
13
14
  import { useIntl } from 'react-intl';
14
15
  import { Formik } from 'formik';
16
+ import upperFirst from 'lodash/upperFirst';
15
17
  import { useQuery, useMutation, useQueryClient } from 'react-query';
16
18
  import pick from 'lodash/pick';
17
- import omit from 'lodash/omit';
18
19
  import { Helmet } from 'react-helmet';
19
20
  import { Main } from '@strapi/design-system/Main';
20
21
  import { Typography } from '@strapi/design-system/Typography';
@@ -31,10 +32,15 @@ import Eye from '@strapi/icons/Eye';
31
32
  import EyeStriked from '@strapi/icons/EyeStriked';
32
33
  import Check from '@strapi/icons/Check';
33
34
  import useLocalesProvider from '../../components/LocalesProvider/useLocalesProvider';
35
+ import { useThemeToggle } from '../../hooks';
34
36
  import { fetchUser, putUser } from './utils/api';
35
37
  import schema from './utils/schema';
36
38
  import { getFullName } from '../../utils';
37
39
 
40
+ const DocumentationLink = styled.a`
41
+ color: ${({ theme }) => theme.colors.primary600};
42
+ `;
43
+
38
44
  const PasswordInput = styled(TextInput)`
39
45
  ::-ms-reveal {
40
46
  display: none;
@@ -59,9 +65,11 @@ const ProfilePage = () => {
59
65
  const { setUserDisplayName } = useAppInfos();
60
66
  const queryClient = useQueryClient();
61
67
  const { formatMessage } = useIntl();
68
+ const { trackUsage } = useTracking();
62
69
  const toggleNotification = useNotification();
63
70
  const { lockApp, unlockApp } = useOverlayBlocker();
64
71
  const { notifyStatus } = useNotifyAT();
72
+ const { currentTheme, themes: allApplicationThemes, onChangeTheme } = useThemeToggle();
65
73
  useFocusWhenNavigate();
66
74
 
67
75
  const { status, data } = useQuery('user', () => fetchUser(), {
@@ -83,14 +91,18 @@ const ProfilePage = () => {
83
91
 
84
92
  const isLoading = status !== 'success';
85
93
 
86
- const submitMutation = useMutation(body => putUser(omit(body, 'confirmPassword')), {
94
+ const submitMutation = useMutation(body => putUser(body), {
87
95
  onSuccess: async data => {
88
96
  await queryClient.invalidateQueries('user');
89
97
 
90
- auth.setUserInfo(data);
98
+ auth.setUserInfo(
99
+ pick(data, ['email', 'firstname', 'lastname', 'username', 'preferedLanguage'])
100
+ );
91
101
  const userDisplayName = data.username || getFullName(data.firstname, data.lastname);
92
102
  setUserDisplayName(userDisplayName);
93
103
  changeLocale(data.preferedLanguage);
104
+ onChangeTheme(data.currentTheme);
105
+ trackUsage('didChangeMode', { newMode: data.currentTheme });
94
106
 
95
107
  toggleNotification({
96
108
  type: 'success',
@@ -128,9 +140,16 @@ const ProfilePage = () => {
128
140
  );
129
141
  };
130
142
 
131
- const fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'preferedLanguage'];
143
+ const fieldsToPick = [
144
+ 'currentTheme',
145
+ 'email',
146
+ 'firstname',
147
+ 'lastname',
148
+ 'username',
149
+ 'preferedLanguage',
150
+ ];
132
151
 
133
- const initialData = pick(data, fieldsToPick);
152
+ const initialData = pick({ ...data, currentTheme }, fieldsToPick);
134
153
 
135
154
  if (isLoading) {
136
155
  return (
@@ -154,6 +173,10 @@ const ProfilePage = () => {
154
173
  );
155
174
  }
156
175
 
176
+ const themesToDisplay = Object.keys(allApplicationThemes).filter(
177
+ themeName => allApplicationThemes[themeName]
178
+ );
179
+
157
180
  return (
158
181
  <Main aria-busy={isSubmittingForm}>
159
182
  <Helmet
@@ -176,7 +199,7 @@ const ProfilePage = () => {
176
199
  title={data.username || getFullName(data.firstname, data.lastname)}
177
200
  primaryAction={
178
201
  <Button startIcon={<Check />} loading={isSubmitting} type="submit">
179
- {formatMessage({ id: 'form.button.save', defaultMessage: 'Save' })}
202
+ {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}
180
203
  </Button>
181
204
  }
182
205
  />
@@ -195,7 +218,7 @@ const ProfilePage = () => {
195
218
  <Stack spacing={4}>
196
219
  <Typography variant="delta" as="h2">
197
220
  {formatMessage({
198
- id: 'Settings.profile.form.section.profile.title',
221
+ id: 'global.profile',
199
222
  defaultMessage: 'Profile',
200
223
  })}
201
224
  </Typography>
@@ -266,7 +289,7 @@ const ProfilePage = () => {
266
289
  <Stack spacing={4}>
267
290
  <Typography variant="delta" as="h2">
268
291
  {formatMessage({
269
- id: 'Settings.profile.form.section.password.title',
292
+ id: 'global.change-password',
270
293
  defaultMessage: 'Change password',
271
294
  })}
272
295
  </Typography>
@@ -329,7 +352,7 @@ const ProfilePage = () => {
329
352
  onChange={handleChange}
330
353
  value={values.password || ''}
331
354
  label={formatMessage({
332
- id: 'Auth.form.password.label',
355
+ id: 'global.password',
333
356
  defaultMessage: 'Password',
334
357
  })}
335
358
  name="password"
@@ -424,20 +447,20 @@ const ProfilePage = () => {
424
447
  id:
425
448
  'Settings.profile.form.section.experience.interfaceLanguageHelp',
426
449
  defaultMessage:
427
- 'Selection will change the interface language only for you. Please refer to this {documentation} to make other languages available for your team.',
450
+ 'Preference changes will apply only to you. More information is available {here}.',
428
451
  },
429
452
  {
430
- documentation: (
431
- <a
453
+ here: (
454
+ <DocumentationLink
432
455
  target="_blank"
433
456
  rel="noopener noreferrer"
434
457
  href="https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales"
435
458
  >
436
459
  {formatMessage({
437
460
  id: 'Settings.profile.form.section.experience.documentation',
438
- defaultMessage: 'documentation',
461
+ defaultMessage: 'here',
439
462
  })}
440
- </a>
463
+ </DocumentationLink>
441
464
  ),
442
465
  }
443
466
  )}
@@ -451,7 +474,7 @@ const ProfilePage = () => {
451
474
  defaultMessage: 'Interface language',
452
475
  })}
453
476
  placeholder={formatMessage({
454
- id: 'components.Select.placeholder',
477
+ id: 'global.select',
455
478
  defaultMessage: 'Select',
456
479
  })}
457
480
  hint={formatMessage({
@@ -487,6 +510,47 @@ const ProfilePage = () => {
487
510
  })}
488
511
  </Select>
489
512
  </GridItem>
513
+ <GridItem s={12} col={6}>
514
+ <Select
515
+ label={formatMessage({
516
+ id: 'Settings.profile.form.section.experience.mode.label',
517
+ defaultMessage: 'Interface mode',
518
+ })}
519
+ placeholder={formatMessage({
520
+ id: 'components.Select.placeholder',
521
+ defaultMessage: 'Select',
522
+ })}
523
+ hint={formatMessage({
524
+ id: 'Settings.profile.form.section.experience.mode.hint',
525
+ defaultMessage: 'Displays your interface in the chosen mode.',
526
+ })}
527
+ value={values.currentTheme}
528
+ onChange={e => {
529
+ handleChange({
530
+ target: { name: 'currentTheme', value: e },
531
+ });
532
+ }}
533
+ >
534
+ {themesToDisplay.map(theme => {
535
+ const label = formatMessage(
536
+ {
537
+ id:
538
+ 'Settings.profile.form.section.experience.mode.option-label',
539
+ defaultMessage: '{name} mode',
540
+ },
541
+ {
542
+ name: upperFirst(theme),
543
+ }
544
+ );
545
+
546
+ return (
547
+ <Option value={theme} key={theme}>
548
+ {label}
549
+ </Option>
550
+ );
551
+ })}
552
+ </Select>
553
+ </GridItem>
490
554
  </Grid>
491
555
  </Stack>
492
556
  </Box>
@@ -1,3 +1,4 @@
1
+ import omit from 'lodash/omit';
1
2
  import { axiosInstance } from '../../../core/utils';
2
3
 
3
4
  const fetchUser = async () => {
@@ -7,9 +8,10 @@ const fetchUser = async () => {
7
8
  };
8
9
 
9
10
  const putUser = async body => {
10
- const { data } = await axiosInstance.put('/admin/users/me', body);
11
+ const dataToSend = omit(body, ['confirmPassword', 'currentTheme']);
12
+ const { data } = await axiosInstance.put('/admin/users/me', dataToSend);
11
13
 
12
- return data.data;
14
+ return { ...data.data, currentTheme: body.currentTheme };
13
15
  };
14
16
 
15
17
  export { fetchUser, putUser };
@@ -30,7 +30,7 @@ const SettingsNav = ({ menu }) => {
30
30
  });
31
31
 
32
32
  const label = formatMessage({
33
- id: 'app.components.LeftMenuLinkContainer.settings',
33
+ id: 'global.settings',
34
34
  defaultMessage: 'Settings',
35
35
  });
36
36
 
@@ -47,7 +47,7 @@ function SettingsPage() {
47
47
  }
48
48
 
49
49
  const settingTitle = formatMessage({
50
- id: 'app.components.LeftMenuLinkContainer.settings',
50
+ id: 'global.settings',
51
51
  defaultMessage: 'Settings',
52
52
  });
53
53
 
@@ -21,7 +21,7 @@ const LoadingView = ({ apiTokenName }) => {
21
21
  <HeaderLayout
22
22
  primaryAction={
23
23
  <Button disabled startIcon={<Check />} type="button" size="L">
24
- {formatMessage({ id: 'form.button.save', defaultMessage: 'Save' })}
24
+ {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}
25
25
  </Button>
26
26
  }
27
27
  title={
@@ -159,7 +159,7 @@ const ApiTokenCreateView = () => {
159
159
  size="L"
160
160
  >
161
161
  {formatMessage({
162
- id: 'app.components.Button.save',
162
+ id: 'global.save',
163
163
  defaultMessage: 'Save',
164
164
  })}
165
165
  </Button>
@@ -167,7 +167,7 @@ const ApiTokenCreateView = () => {
167
167
  navigationAction={
168
168
  <Link startIcon={<ArrowLeft />} to="/settings/api-tokens">
169
169
  {formatMessage({
170
- id: 'app.components.go-back',
170
+ id: 'global.back',
171
171
  defaultMessage: 'Back',
172
172
  })}
173
173
  </Link>
@@ -188,7 +188,7 @@ const ApiTokenCreateView = () => {
188
188
  <Stack spacing={4}>
189
189
  <Typography variant="delta" as="h2">
190
190
  {formatMessage({
191
- id: 'Settings.apiTokens.details',
191
+ id: 'global.details',
192
192
  defaultMessage: 'Details',
193
193
  })}
194
194
  </Typography>
@@ -19,7 +19,7 @@ const DeleteButton = ({ tokenName, onClickDelete }) => {
19
19
  }}
20
20
  label={formatMessage(
21
21
  {
22
- id: 'app.component.table.delete',
22
+ id: 'global.delete-target',
23
23
  defaultMessage: 'Delete {target}',
24
24
  },
25
25
  { target: `${tokenName}` }
@@ -45,7 +45,7 @@ const ApplicationInfosPage = () => {
45
45
  <Stack spacing={5}>
46
46
  <Typography variant="delta" as="h3">
47
47
  {formatMessage({
48
- id: 'Settings.application.details',
48
+ id: 'global.details',
49
49
  defaultMessage: 'Details',
50
50
  })}
51
51
  </Typography>
@@ -31,7 +31,7 @@ const ConditionsButton = ({ onClick, className, hasConditions, variant }) => {
31
31
  <Wrapper hasConditions={hasConditions} className={className}>
32
32
  <Button variant={variant} startIcon={<Cog />} onClick={onClick}>
33
33
  {formatMessage({
34
- id: 'app.components.LeftMenuLinkContainer.settings',
34
+ id: 'global.settings',
35
35
  defaultMessage: 'Settings',
36
36
  })}
37
37
  </Button>
@@ -24,7 +24,7 @@ const RoleForm = ({ disabled, role, values, errors, onChange, onBlur }) => {
24
24
  {role
25
25
  ? role.name
26
26
  : formatMessage({
27
- id: 'Settings.roles.form.title',
27
+ id: 'global.details',
28
28
  defaultMessage: 'Details',
29
29
  })}
30
30
  </Typography>
@@ -58,7 +58,7 @@ const RoleForm = ({ disabled, role, values, errors, onChange, onBlur }) => {
58
58
  name="name"
59
59
  error={errors.name && formatMessage({ id: errors.name })}
60
60
  label={formatMessage({
61
- id: 'Settings.roles.form.input.name',
61
+ id: 'global.name',
62
62
  defaultMessage: 'Name',
63
63
  })}
64
64
  onChange={onChange}
@@ -70,7 +70,7 @@ const RoleForm = ({ disabled, role, values, errors, onChange, onBlur }) => {
70
70
  <Textarea
71
71
  disabled={disabled}
72
72
  label={formatMessage({
73
- id: 'Settings.roles.form.input.description',
73
+ id: 'global.description',
74
74
  defaultMessage: 'Description',
75
75
  })}
76
76
  name="description"
@@ -117,7 +117,7 @@ const EditPage = () => {
117
117
  size="L"
118
118
  >
119
119
  {formatMessage({
120
- id: 'app.components.Button.save',
120
+ id: 'global.save',
121
121
  defaultMessage: 'Save',
122
122
  })}
123
123
  </Button>
@@ -134,7 +134,7 @@ const EditPage = () => {
134
134
  navigationAction={
135
135
  <Link startIcon={<ArrowLeft />} to="/settings/roles">
136
136
  {formatMessage({
137
- id: 'app.components.go-back',
137
+ id: 'global.back',
138
138
  defaultMessage: 'Back',
139
139
  })}
140
140
  </Link>
@@ -69,7 +69,7 @@ const useRoleActions = () => {
69
69
  },
70
70
  {
71
71
  onClick: handleToggle,
72
- label: formatMessage({ id: 'app.utils.delete', defaultMessage: 'Delete' }),
72
+ label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),
73
73
  icon: <Trash />,
74
74
  },
75
75
  ],
@@ -114,7 +114,7 @@ const RoleListPage = () => {
114
114
  </Button>
115
115
  }
116
116
  title={formatMessage({
117
- id: 'Settings.roles.title',
117
+ id: 'global.roles',
118
118
  defaultMessage: 'roles',
119
119
  })}
120
120
  subtitle={formatMessage({
@@ -140,7 +140,7 @@ const RoleListPage = () => {
140
140
  <Th>
141
141
  <Typography variant="sigma" textColor="neutral600">
142
142
  {formatMessage({
143
- id: 'Settings.roles.list.header.name',
143
+ id: 'global.name',
144
144
  defaultMessage: 'Name',
145
145
  })}
146
146
  </Typography>
@@ -148,7 +148,7 @@ const RoleListPage = () => {
148
148
  <Th>
149
149
  <Typography variant="sigma" textColor="neutral600">
150
150
  {formatMessage({
151
- id: 'Settings.roles.list.header.description',
151
+ id: 'global.description',
152
152
  defaultMessage: 'Description',
153
153
  })}
154
154
  </Typography>
@@ -156,7 +156,7 @@ const RoleListPage = () => {
156
156
  <Th>
157
157
  <Typography variant="sigma" textColor="neutral600">
158
158
  {formatMessage({
159
- id: 'Settings.roles.list.header.users',
159
+ id: 'global.users',
160
160
  defaultMessage: 'Users',
161
161
  })}
162
162
  </Typography>
@@ -164,7 +164,7 @@ const RoleListPage = () => {
164
164
  <Th>
165
165
  <VisuallyHidden>
166
166
  {formatMessage({
167
- id: 'Settings.roles.list.header.actions',
167
+ id: 'global.actions',
168
168
  defaultMessage: 'Actions',
169
169
  })}
170
170
  </VisuallyHidden>
@@ -142,14 +142,14 @@ const EditPage = ({ canUpdate }) => {
142
142
  <HeaderLayout
143
143
  primaryAction={
144
144
  <Button disabled startIcon={<Check />} type="button" size="L">
145
- {formatMessage({ id: 'form.button.save', defaultMessage: 'Save' })}
145
+ {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}
146
146
  </Button>
147
147
  }
148
148
  title={title}
149
149
  navigationAction={
150
150
  <Link startIcon={<ArrowLeft />} to="/settings/users?pageSize=10&page=1&sort=firstname">
151
151
  {formatMessage({
152
- id: 'app.components.go-back',
152
+ id: 'global.back',
153
153
  defaultMessage: 'Back',
154
154
  })}
155
155
  </Link>
@@ -183,7 +183,7 @@ const EditPage = ({ canUpdate }) => {
183
183
  type="submit"
184
184
  size="L"
185
185
  >
186
- {formatMessage({ id: 'form.button.save', defaultMessage: 'Save' })}
186
+ {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}
187
187
  </Button>
188
188
  }
189
189
  title={title}
@@ -193,7 +193,7 @@ const EditPage = ({ canUpdate }) => {
193
193
  to="/settings/users?pageSize=10&page=1&sort=firstname"
194
194
  >
195
195
  {formatMessage({
196
- id: 'app.components.go-back',
196
+ id: 'global.back',
197
197
  defaultMessage: 'Back',
198
198
  })}
199
199
  </Link>
@@ -253,7 +253,7 @@ const EditPage = ({ canUpdate }) => {
253
253
  <Stack spacing={4}>
254
254
  <Typography variant="delta" as="h2">
255
255
  {formatMessage({
256
- id: 'app.components.Users.ModalCreateBody.block-title.login',
256
+ id: 'global.roles',
257
257
  defaultMessage: "User's role",
258
258
  })}
259
259
  </Typography>
@@ -72,7 +72,7 @@ const layout = [
72
72
  [
73
73
  {
74
74
  intlLabel: {
75
- id: 'Auth.form.password.label',
75
+ id: 'global.password',
76
76
  defaultMessage: 'Password',
77
77
  },
78
78
  name: 'password',
@@ -89,7 +89,7 @@ const TableRows = ({
89
89
  <IconButton
90
90
  onClick={() => onClickDelete(data.id)}
91
91
  label={formatMessage(
92
- { id: 'app.component.table.delete', defaultMessage: 'Delete {target}' },
92
+ { id: 'global.delete-target', defaultMessage: 'Delete {target}' },
93
93
  { target: getFullName(data.firstname, data.lastname) }
94
94
  )}
95
95
  noBorder
@@ -146,7 +146,7 @@ const ModalForm = ({ queryName, onToggle }) => {
146
146
  <Box>
147
147
  <Typography variant="beta" as="h2">
148
148
  {formatMessage({
149
- id: 'app.components.Users.ModalCreateBody.block-title.login',
149
+ id: 'global.roles',
150
150
  defaultMessage: "User's role",
151
151
  })}
152
152
  </Typography>
@@ -8,7 +8,7 @@ const stepper = {
8
8
  next: 'magic-link',
9
9
  },
10
10
  'magic-link': {
11
- buttonSubmitLabel: { id: 'form.button.finish', defaultMessage: 'Finish' },
11
+ buttonSubmitLabel: { id: 'global.finish', defaultMessage: 'Finish' },
12
12
  isDisabled: true,
13
13
  next: null,
14
14
  },
@@ -39,7 +39,7 @@ const ListPage = () => {
39
39
  const queryName = ['users', search];
40
40
 
41
41
  const title = formatMessage({
42
- id: 'Settings.permissions.users.listview.header.title',
42
+ id: 'global.users',
43
43
  defaultMessage: 'Users',
44
44
  });
45
45
 
@@ -68,7 +68,7 @@ const WebhookForm = ({
68
68
  </Button>
69
69
  <Button startIcon={<Check />} onClick={handleSubmit} type="submit" size="L">
70
70
  {formatMessage({
71
- id: 'app.components.Button.save',
71
+ id: 'global.save',
72
72
  defaultMessage: 'Save',
73
73
  })}
74
74
  </Button>
@@ -85,7 +85,7 @@ const WebhookForm = ({
85
85
  navigationAction={
86
86
  <Link startIcon={<ArrowLeft />} to="/settings/webhooks">
87
87
  {formatMessage({
88
- id: 'app.components.go-back',
88
+ id: 'global.back',
89
89
  defaultMessage: 'Back',
90
90
  })}
91
91
  </Link>
@@ -111,7 +111,7 @@ const WebhookForm = ({
111
111
  name="name"
112
112
  error={errors.name && formatMessage({ id: errors.name })}
113
113
  label={formatMessage({
114
- id: 'Settings.webhooks.form.name',
114
+ id: 'global.name',
115
115
  defaultMessage: 'Name',
116
116
  })}
117
117
  required
@@ -282,7 +282,7 @@ const ListView = () => {
282
282
  variant="danger-light"
283
283
  >
284
284
  {formatMessage({
285
- id: 'Settings.webhooks.events.delete',
285
+ id: 'global.delete',
286
286
  defaultMessage: 'Delete',
287
287
  })}
288
288
  </Button>
@@ -318,7 +318,7 @@ const ListView = () => {
318
318
  <Th>
319
319
  <BaseCheckbox
320
320
  aria-label={formatMessage({
321
- id: 'Settings.webhooks.list.all-entries.select',
321
+ id: 'global.select-all-entries',
322
322
  defaultMessage: 'Select all entries',
323
323
  })}
324
324
  indeterminate={
@@ -331,7 +331,7 @@ const ListView = () => {
331
331
  <Th width="20%">
332
332
  <Typography variant="sigma" textColor="neutral600">
333
333
  {formatMessage({
334
- id: 'Settings.webhooks.form.name',
334
+ id: 'global.name',
335
335
  defaultMessage: 'Name',
336
336
  })}
337
337
  </Typography>
@@ -374,7 +374,7 @@ const ListView = () => {
374
374
  <Td {...stopPropagation}>
375
375
  <BaseCheckbox
376
376
  aria-label={`${formatMessage({
377
- id: 'Settings.webhooks.list.select',
377
+ id: 'global.select',
378
378
  defaultMessage: 'Select',
379
379
  })} ${webhook.name}`}
380
380
  value={webhooksToDelete?.includes(webhook.id)}
@@ -395,11 +395,11 @@ const ListView = () => {
395
395
  <Flex {...stopPropagation}>
396
396
  <Switch
397
397
  onLabel={formatMessage({
398
- id: 'Settings.webhooks.enabled',
398
+ id: 'global.enabled',
399
399
  defaultMessage: 'Enabled',
400
400
  })}
401
401
  offLabel={formatMessage({
402
- id: 'Settings.webhooks.disabled',
402
+ id: 'global.disabled',
403
403
  defaultMessage: 'Disabled',
404
404
  })}
405
405
  label={`${webhook.name} ${formatMessage({
@@ -431,7 +431,7 @@ const ListView = () => {
431
431
  <IconButton
432
432
  onClick={() => handleDeleteClick(webhook.id)}
433
433
  label={formatMessage({
434
- id: 'Settings.webhooks.events.delete',
434
+ id: 'global.delete',
435
435
  defaultMessage: 'Delete',
436
436
  })}
437
437
  icon={<Trash />}
@@ -41,7 +41,7 @@ export const options = [
41
41
  },
42
42
  {
43
43
  intlLabel: {
44
- id: 'Usecase.content-manager',
44
+ id: 'global.content-manager',
45
45
  defaultMessage: 'Content Manager',
46
46
  },
47
47
  value: 'content_manager',
@@ -150,7 +150,7 @@ const UseCasePage = () => {
150
150
  />
151
151
  )}
152
152
  <Button type="submit" size="L" fullWidth disabled={!role}>
153
- {formatMessage({ id: 'form.button.finish', defaultMessage: 'Finish' })}
153
+ {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}
154
154
  </Button>
155
155
  </Stack>
156
156
  </form>