@strapi/admin 4.3.0-beta.1 → 4.3.1

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 (257) hide show
  1. package/admin/src/components/LeftMenu/index.js +12 -2
  2. package/admin/src/components/OverlayBlocker/index.js +4 -0
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js +1 -1
  4. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +10 -15
  5. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +1 -8
  6. package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +7 -13
  7. package/admin/src/content-manager/components/SelectOne/SingleValue.js +3 -1
  8. package/admin/src/content-manager/components/SelectOne/index.js +1 -4
  9. package/admin/src/content-manager/components/SelectWrapper/Option.js +21 -21
  10. package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +1 -1
  11. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +2 -2
  12. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +2 -2
  13. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +9 -1
  14. package/admin/src/content-manager/pages/ListView/index.js +2 -2
  15. package/admin/src/content-manager/utils/removeKeyInObject.js +0 -4
  16. package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/index.js +4 -4
  17. package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/utils/api.js +2 -2
  18. package/admin/src/index.js +1 -1
  19. package/admin/src/pages/Admin/index.js +6 -2
  20. package/admin/src/pages/App/index.js +4 -0
  21. package/admin/src/pages/InstalledPluginsPage/Plugins.js +12 -4
  22. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +7 -8
  23. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +8 -2
  24. package/admin/src/pages/MarketplacePage/index.js +9 -39
  25. package/admin/src/pages/ProfilePage/index.js +19 -18
  26. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js +3 -1
  27. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +1 -1
  28. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +18 -4
  29. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +4 -1
  30. package/admin/src/translations/en.json +38 -0
  31. package/admin/src/translations/gu.json +618 -0
  32. package/admin/src/translations/hi.json +699 -0
  33. package/admin/src/translations/languageNativeNames.js +4 -0
  34. package/admin/src/translations/ml.json +699 -0
  35. package/admin/src/translations/pl.json +238 -233
  36. package/admin/src/translations/sa.json +698 -0
  37. package/admin/src/translations/zh-Hans.json +83 -9
  38. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +3 -3
  39. package/package.json +42 -33
  40. package/server/controllers/admin.js +2 -0
  41. package/webpack.alias.js +31 -21
  42. package/webpack.config.js +8 -6
  43. package/admin/src/pages/MarketplacePage/utils/api.js +0 -9
  44. package/build/15026a3d58aeb2828134.png +0 -0
  45. package/build/1551f4f60c37af51121f.woff2 +0 -0
  46. package/build/1820.ca954075.chunk.js +0 -503
  47. package/build/1856.6a94980b.chunk.js +0 -172
  48. package/build/1e59d2330b4c6deb84b3.ttf +0 -0
  49. package/build/20.9e5a98b6.chunk.js +0 -308
  50. package/build/2077.5456ccd1.chunk.js +0 -194
  51. package/build/20fd1704ea223900efa9.woff2 +0 -0
  52. package/build/2285773e6b4b172f07d9.woff +0 -0
  53. package/build/23f19bb08961f37aaf69.eot +0 -0
  54. package/build/2f517e09eb2ca6650ff5.svg +0 -3717
  55. package/build/3531.231e0eb6.chunk.js +0 -10
  56. package/build/4073.e144a91a.chunk.js +0 -1
  57. package/build/413.d5986568.chunk.js +0 -284
  58. package/build/4689f52cc96215721344.svg +0 -801
  59. package/build/4715.4588fdf5.chunk.js +0 -385
  60. package/build/472.d43be8bb.chunk.js +0 -338
  61. package/build/4800.d3ebc81d.chunk.js +0 -1
  62. package/build/491974d108fe4002b2aa.ttf +0 -0
  63. package/build/5250.24040688.chunk.js +0 -11
  64. package/build/527940b104eb2ea366c8.ttf +0 -0
  65. package/build/6229.53b33cf0.chunk.js +0 -194
  66. package/build/6925.fafef528.chunk.js +0 -761
  67. package/build/7418.6db737ce.chunk.js +0 -112
  68. package/build/77206a6bb316fa0aded5.eot +0 -0
  69. package/build/7a3337626410ca2f4071.woff2 +0 -0
  70. package/build/7a8b4f130182d19a2d7c.svg +0 -5034
  71. package/build/8469.3af1823d.chunk.js +0 -1
  72. package/build/8773.54a26ded.chunk.js +0 -327
  73. package/build/8b43027f47b20503057d.eot +0 -0
  74. package/build/9066.2847fdff.chunk.js +0 -101
  75. package/build/90f49a385afb000fb1d4.svg +0 -5
  76. package/build/9262.25aa12a5.chunk.js +0 -1
  77. package/build/9420.ba035f29.chunk.js +0 -508
  78. package/build/9bbb245e67a133f6e486.eot +0 -0
  79. package/build/Admin-authenticatedApp.52f3c150.chunk.js +0 -80
  80. package/build/Admin_homePage.0ac648e8.chunk.js +0 -71
  81. package/build/Admin_marketplace.71c66b49.chunk.js +0 -11
  82. package/build/Admin_pluginsPage.788fb2f6.chunk.js +0 -1
  83. package/build/Admin_profilePage.27191ed2.chunk.js +0 -15
  84. package/build/Admin_settingsPage.021da806.chunk.js +0 -178
  85. package/build/a6b842e0b6d2b61135d1.svg +0 -5
  86. package/build/admin-edit-roles-page.fb374555.chunk.js +0 -1
  87. package/build/admin-edit-users.a360deaf.chunk.js +0 -10
  88. package/build/admin-users.47d06d24.chunk.js +0 -11
  89. package/build/api-tokens-create-page.698f132d.chunk.js +0 -1
  90. package/build/api-tokens-edit-page.afece2fe.chunk.js +0 -1
  91. package/build/api-tokens-list-page.46d96dee.chunk.js +0 -15
  92. package/build/ar-json.d4cb26d9.chunk.js +0 -1
  93. package/build/b997a22a2e0b87ef1fa2.ico +0 -0
  94. package/build/bb58e57c48a3e911f15f.woff +0 -0
  95. package/build/bd81ba6c07827282255d.png +0 -0
  96. package/build/be9ee23c0c6390141475.ttf +0 -0
  97. package/build/c1e38fd9e0e74ba58f7a.svg +0 -2671
  98. package/build/c3de6118ef47086ad05c.png +0 -0
  99. package/build/ca-json.0097e443.chunk.js +0 -1
  100. package/build/codemirror-addon-closebrackets.c0f97916.chunk.js +0 -2
  101. package/build/codemirror-addon-lint-js.7c35dcb0.chunk.js +0 -1
  102. package/build/codemirror-addon-lint.505ff1d4.chunk.js +0 -1
  103. package/build/codemirror-addon-mark-selection.653e904d.chunk.js +0 -1
  104. package/build/codemirror-css.b467b1de.chunk.js +0 -346
  105. package/build/codemirror-javacript.41bdefda.chunk.js +0 -1
  106. package/build/codemirror-theme.cf9f9eb6.chunk.js +0 -34
  107. package/build/content-manager.afcc3624.chunk.js +0 -1182
  108. package/build/content-type-builder-translation-ar-json.142327af.chunk.js +0 -1
  109. package/build/content-type-builder-translation-cs-json.4aafb972.chunk.js +0 -1
  110. package/build/content-type-builder-translation-de-json.0d7696b9.chunk.js +0 -1
  111. package/build/content-type-builder-translation-dk-json.4729f055.chunk.js +0 -1
  112. package/build/content-type-builder-translation-en-json.e5110288.chunk.js +0 -1
  113. package/build/content-type-builder-translation-es-json.333cf47f.chunk.js +0 -1
  114. package/build/content-type-builder-translation-fr-json.aa6eeea8.chunk.js +0 -1
  115. package/build/content-type-builder-translation-id-json.7c00a32a.chunk.js +0 -1
  116. package/build/content-type-builder-translation-it-json.a906b389.chunk.js +0 -1
  117. package/build/content-type-builder-translation-ja-json.87f71930.chunk.js +0 -1
  118. package/build/content-type-builder-translation-ko-json.51201b12.chunk.js +0 -1
  119. package/build/content-type-builder-translation-ms-json.963a1a01.chunk.js +0 -1
  120. package/build/content-type-builder-translation-nl-json.c46c8f30.chunk.js +0 -1
  121. package/build/content-type-builder-translation-pl-json.a866acda.chunk.js +0 -1
  122. package/build/content-type-builder-translation-pt-BR-json.5739a2aa.chunk.js +0 -1
  123. package/build/content-type-builder-translation-pt-json.766bd747.chunk.js +0 -1
  124. package/build/content-type-builder-translation-ru-json.cf8d7c5c.chunk.js +0 -1
  125. package/build/content-type-builder-translation-sk-json.3a6defe0.chunk.js +0 -1
  126. package/build/content-type-builder-translation-th-json.c96a2d3f.chunk.js +0 -1
  127. package/build/content-type-builder-translation-tr-json.2e52bc60.chunk.js +0 -1
  128. package/build/content-type-builder-translation-uk-json.d8c0b6dd.chunk.js +0 -1
  129. package/build/content-type-builder-translation-zh-Hans-json.92a27f59.chunk.js +0 -1
  130. package/build/content-type-builder-translation-zh-json.2cc55621.chunk.js +0 -1
  131. package/build/content-type-builder.e73879b9.chunk.js +0 -141
  132. package/build/cropper-css.ecc0d670.chunk.js +0 -306
  133. package/build/cs-json.c8f28ba8.chunk.js +0 -1
  134. package/build/d878b0a6a1144760244f.woff2 +0 -0
  135. package/build/de-json.0b92acd2.chunk.js +0 -1
  136. package/build/dk-json.9f1bc016.chunk.js +0 -1
  137. package/build/eeccf4f66002c6f2ba24.woff +0 -0
  138. package/build/email-settings-page.8871dfe8.chunk.js +0 -103
  139. package/build/email-translation-ar-json.c624512d.chunk.js +0 -1
  140. package/build/email-translation-cs-json.cb18caab.chunk.js +0 -1
  141. package/build/email-translation-de-json.54743260.chunk.js +0 -1
  142. package/build/email-translation-dk-json.f323fe4e.chunk.js +0 -1
  143. package/build/email-translation-en-json.6da7e388.chunk.js +0 -1
  144. package/build/email-translation-es-json.9021417d.chunk.js +0 -1
  145. package/build/email-translation-fr-json.9f125db0.chunk.js +0 -1
  146. package/build/email-translation-id-json.3bcae5f5.chunk.js +0 -1
  147. package/build/email-translation-it-json.6ffd1774.chunk.js +0 -1
  148. package/build/email-translation-ja-json.72b3f73c.chunk.js +0 -1
  149. package/build/email-translation-ko-json.e61d4e7a.chunk.js +0 -1
  150. package/build/email-translation-ms-json.b2b11e05.chunk.js +0 -1
  151. package/build/email-translation-nl-json.5349635f.chunk.js +0 -1
  152. package/build/email-translation-pl-json.6da50d0f.chunk.js +0 -1
  153. package/build/email-translation-pt-BR-json.2c98ab20.chunk.js +0 -1
  154. package/build/email-translation-pt-json.959ea070.chunk.js +0 -1
  155. package/build/email-translation-ru-json.d508cf3e.chunk.js +0 -1
  156. package/build/email-translation-sk-json.fa1fd4b3.chunk.js +0 -1
  157. package/build/email-translation-th-json.989cfecc.chunk.js +0 -1
  158. package/build/email-translation-tr-json.87f2feb3.chunk.js +0 -1
  159. package/build/email-translation-uk-json.0396a803.chunk.js +0 -1
  160. package/build/email-translation-vi-json.c0d8c414.chunk.js +0 -1
  161. package/build/email-translation-zh-Hans-json.b463cb25.chunk.js +0 -1
  162. package/build/email-translation-zh-json.3455468b.chunk.js +0 -1
  163. package/build/en-json.0a5ba154.chunk.js +0 -1
  164. package/build/es-json.2a5a9fc1.chunk.js +0 -1
  165. package/build/f691f37e57f04c152e23.woff +0 -0
  166. package/build/fb376b132d18bf4522ca.png +0 -0
  167. package/build/fde9b1ad0670d29a2516.png +0 -0
  168. package/build/fontawesome-css-all.04f33619.chunk.js +0 -4618
  169. package/build/fontawesome-css.477ba714.chunk.js +0 -6
  170. package/build/fontawesome-js.252cc5f3.chunk.js +0 -7
  171. package/build/fr-json.84064a0b.chunk.js +0 -1
  172. package/build/he-json.d40da459.chunk.js +0 -1
  173. package/build/highlight.js.3381ffc3.chunk.js +0 -86
  174. package/build/hu-json.c81ce352.chunk.js +0 -1
  175. package/build/i18n-settings-page.dfb4eb01.chunk.js +0 -101
  176. package/build/i18n-translation-de-json.92534555.chunk.js +0 -1
  177. package/build/i18n-translation-dk-json.54f410ca.chunk.js +0 -1
  178. package/build/i18n-translation-en-json.85bc892c.chunk.js +0 -1
  179. package/build/i18n-translation-es-json.488206ae.chunk.js +0 -1
  180. package/build/i18n-translation-fr-json.0839d68d.chunk.js +0 -1
  181. package/build/i18n-translation-ko-json.d0bc1203.chunk.js +0 -1
  182. package/build/i18n-translation-zh-Hans-json.560a98e3.chunk.js +0 -1
  183. package/build/id-json.fad45d17.chunk.js +0 -1
  184. package/build/index.html +0 -1
  185. package/build/it-json.12df4cdf.chunk.js +0 -1
  186. package/build/ja-json.850237e9.chunk.js +0 -1
  187. package/build/ko-json.2f3d256e.chunk.js +0 -1
  188. package/build/main.ca3856ed.js +0 -8640
  189. package/build/ms-json.836ed013.chunk.js +0 -1
  190. package/build/nl-json.465b173f.chunk.js +0 -1
  191. package/build/no-json.e8749dd4.chunk.js +0 -1
  192. package/build/pl-json.f65302c2.chunk.js +0 -1
  193. package/build/pt-BR-json.6301d49b.chunk.js +0 -1
  194. package/build/pt-json.c23020ab.chunk.js +0 -1
  195. package/build/ru-json.28147733.chunk.js +0 -1
  196. package/build/runtime~main.48a46dd2.js +0 -2
  197. package/build/sk-json.5b33afc2.chunk.js +0 -1
  198. package/build/sso-settings-page.dfb0b917.chunk.js +0 -1
  199. package/build/sv-json.cdcac02d.chunk.js +0 -1
  200. package/build/th-json.3aadaec6.chunk.js +0 -1
  201. package/build/tr-json.276e59fe.chunk.js +0 -1
  202. package/build/uk-json.5b5b9c27.chunk.js +0 -1
  203. package/build/upload-settings.8d8c672a.chunk.js +0 -101
  204. package/build/upload-translation-ca-json.79159984.chunk.js +0 -1
  205. package/build/upload-translation-de-json.745613c0.chunk.js +0 -1
  206. package/build/upload-translation-dk-json.cb25dcf0.chunk.js +0 -1
  207. package/build/upload-translation-en-json.e78688a0.chunk.js +0 -1
  208. package/build/upload-translation-es-json.1f344b53.chunk.js +0 -1
  209. package/build/upload-translation-fr-json.e21c0c7a.chunk.js +0 -1
  210. package/build/upload-translation-he-json.4ce77b7b.chunk.js +0 -1
  211. package/build/upload-translation-it-json.5ce11e0b.chunk.js +0 -1
  212. package/build/upload-translation-ja-json.22afae44.chunk.js +0 -1
  213. package/build/upload-translation-ko-json.9a2c21cb.chunk.js +0 -1
  214. package/build/upload-translation-ms-json.0605d6da.chunk.js +0 -1
  215. package/build/upload-translation-pl-json.e534b676.chunk.js +0 -1
  216. package/build/upload-translation-pt-BR-json.95686cfb.chunk.js +0 -1
  217. package/build/upload-translation-ru-json.37bd1546.chunk.js +0 -1
  218. package/build/upload-translation-sk-json.b03d4904.chunk.js +0 -1
  219. package/build/upload-translation-th-json.64dd70ce.chunk.js +0 -1
  220. package/build/upload-translation-uk-json.1328cb3e.chunk.js +0 -1
  221. package/build/upload-translation-zh-Hans-json.6832ff81.chunk.js +0 -1
  222. package/build/upload-translation-zh-json.ee8fba96.chunk.js +0 -1
  223. package/build/upload.5622b777.chunk.js +0 -7
  224. package/build/users-advanced-settings-page.4af9e241.chunk.js +0 -101
  225. package/build/users-email-settings-page.d69c0d87.chunk.js +0 -101
  226. package/build/users-permissions-translation-ar-json.e8123ed2.chunk.js +0 -1
  227. package/build/users-permissions-translation-cs-json.e6649c5f.chunk.js +0 -1
  228. package/build/users-permissions-translation-de-json.c3628843.chunk.js +0 -1
  229. package/build/users-permissions-translation-dk-json.fe39c74b.chunk.js +0 -1
  230. package/build/users-permissions-translation-en-json.3fe86528.chunk.js +0 -1
  231. package/build/users-permissions-translation-es-json.1bb9cde2.chunk.js +0 -1
  232. package/build/users-permissions-translation-fr-json.172aa69f.chunk.js +0 -1
  233. package/build/users-permissions-translation-id-json.5aadd143.chunk.js +0 -1
  234. package/build/users-permissions-translation-it-json.7d377480.chunk.js +0 -1
  235. package/build/users-permissions-translation-ja-json.4967badf.chunk.js +0 -1
  236. package/build/users-permissions-translation-ko-json.3be77775.chunk.js +0 -1
  237. package/build/users-permissions-translation-ms-json.ea8a2baf.chunk.js +0 -1
  238. package/build/users-permissions-translation-nl-json.d638c4ce.chunk.js +0 -1
  239. package/build/users-permissions-translation-pl-json.3c4fe81c.chunk.js +0 -1
  240. package/build/users-permissions-translation-pt-BR-json.f6791a86.chunk.js +0 -1
  241. package/build/users-permissions-translation-pt-json.38afed04.chunk.js +0 -1
  242. package/build/users-permissions-translation-ru-json.319d51ef.chunk.js +0 -1
  243. package/build/users-permissions-translation-sk-json.ba1cd385.chunk.js +0 -1
  244. package/build/users-permissions-translation-sv-json.83c60841.chunk.js +0 -1
  245. package/build/users-permissions-translation-th-json.68873214.chunk.js +0 -1
  246. package/build/users-permissions-translation-tr-json.cdc49a3c.chunk.js +0 -1
  247. package/build/users-permissions-translation-uk-json.63eaa01c.chunk.js +0 -1
  248. package/build/users-permissions-translation-vi-json.dccc02fc.chunk.js +0 -1
  249. package/build/users-permissions-translation-zh-Hans-json.c3fd301b.chunk.js +0 -1
  250. package/build/users-permissions-translation-zh-json.e03ae2a4.chunk.js +0 -1
  251. package/build/users-providers-settings-page.fc1fda6d.chunk.js +0 -101
  252. package/build/users-roles-settings-page.988ebc3b.chunk.js +0 -30
  253. package/build/vi-json.bf3424be.chunk.js +0 -1
  254. package/build/webhook-edit-page.a7ae6e3b.chunk.js +0 -23
  255. package/build/webhook-list-page.057f396c.chunk.js +0 -133
  256. package/build/zh-Hans-json.c84ce330.chunk.js +0 -1
  257. package/build/zh-json.96bf6019.chunk.js +0 -1
@@ -1,7 +1,6 @@
1
1
  import React, { useEffect, useRef, useState } from 'react';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { Helmet } from 'react-helmet';
4
- import { useQuery } from 'react-query';
5
4
  import matchSorter from 'match-sorter';
6
5
  import {
7
6
  AnErrorOccurred,
@@ -23,8 +22,6 @@ import { Tabs, Tab, TabGroup, TabPanels, TabPanel } from '@strapi/design-system/
23
22
 
24
23
  import EmptyNpmPackageSearch from './components/EmptyNpmPackageSearch';
25
24
  import PageHeader from './components/PageHeader';
26
- import { fetchAppInformation } from './utils/api';
27
- import useFetchInstalledPlugins from '../../hooks/useFetchInstalledPlugins';
28
25
  import useFetchMarketplaceProviders from '../../hooks/useFetchMarketplaceProviders';
29
26
  import useFetchMarketplacePlugins from '../../hooks/useFetchMarketplacePlugins';
30
27
  import adminPermissions from '../../permissions';
@@ -53,7 +50,7 @@ const MarketPlacePage = () => {
53
50
  const toggleNotification = useNotification();
54
51
  const [searchQuery, setSearchQuery] = useState('');
55
52
  const [npmPackageType, setNpmPackageType] = useState('plugin');
56
- const { autoReload: isInDevelopmentMode } = useAppInfos();
53
+ const { autoReload: isInDevelopmentMode, dependencies, useYarn } = useAppInfos();
57
54
  const isOnline = useNavigatorOnLine();
58
55
 
59
56
  useFocusWhenNavigate();
@@ -85,37 +82,9 @@ const MarketPlacePage = () => {
85
82
  data: marketplaceProvidersResponse,
86
83
  } = useFetchMarketplaceProviders(notifyMarketplaceLoad);
87
84
 
88
- const {
89
- status: installedPluginsStatus,
90
- data: installedPluginsResponse,
91
- } = useFetchInstalledPlugins();
92
-
93
- const { data: appInfoResponse, status: appInfoStatus } = useQuery(
94
- 'app-information',
95
- fetchAppInformation,
96
- {
97
- onError: () => {
98
- toggleNotification({
99
- type: 'warning',
100
- message: { id: 'notification.error', defaultMessage: 'An error occured' },
101
- });
102
- },
103
- }
104
- );
105
-
106
- const isLoading = [
107
- marketplacePluginsStatus,
108
- marketplaceProvidersStatus,
109
- installedPluginsStatus,
110
- appInfoStatus,
111
- ].includes('loading');
85
+ const isLoading = [marketplacePluginsStatus, marketplaceProvidersStatus].includes('loading');
112
86
 
113
- const hasFailed = [
114
- marketplacePluginsStatus,
115
- marketplaceProvidersStatus,
116
- installedPluginsStatus,
117
- appInfoStatus,
118
- ].includes('error');
87
+ const hasFailed = [marketplacePluginsStatus, marketplaceProvidersStatus].includes('error');
119
88
 
120
89
  useEffect(() => {
121
90
  trackUsageRef.current('didGoToMarketplace');
@@ -208,8 +177,8 @@ const MarketPlacePage = () => {
208
177
  setNpmPackageType(packageType);
209
178
  };
210
179
 
211
- // Check if plugins are installed already
212
- const installedPluginNames = installedPluginsResponse.plugins.map(plugin => plugin.packageName);
180
+ // Check if plugins and providers are installed already
181
+ const installedPackageNames = Object.keys(dependencies);
213
182
 
214
183
  return (
215
184
  <Layout>
@@ -278,8 +247,8 @@ const MarketPlacePage = () => {
278
247
  ) : (
279
248
  <NpmPackagesGrid
280
249
  npmPackages={pluginSearchResults}
281
- installedPackageNames={installedPluginNames}
282
- useYarn={appInfoResponse.data.useYarn}
250
+ installedPackageNames={installedPackageNames}
251
+ useYarn={useYarn}
283
252
  isInDevelopmentMode={isInDevelopmentMode}
284
253
  npmPackageType="plugin"
285
254
  />
@@ -292,7 +261,8 @@ const MarketPlacePage = () => {
292
261
  ) : (
293
262
  <NpmPackagesGrid
294
263
  npmPackages={providerSearchResults}
295
- useYarn={appInfoResponse.data.useYarn}
264
+ installedPackageNames={installedPackageNames}
265
+ useYarn={useYarn}
296
266
  isInDevelopmentMode={isInDevelopmentMode}
297
267
  npmPackageType="provider"
298
268
  />
@@ -357,6 +357,7 @@ const ProfilePage = () => {
357
357
  })}
358
358
  name="password"
359
359
  type={passwordShown ? 'text' : 'password'}
360
+ autoComplete="new-password"
360
361
  endAction={
361
362
  <FieldActionWrapper
362
363
  onClick={e => {
@@ -398,6 +399,7 @@ const ProfilePage = () => {
398
399
  })}
399
400
  name="confirmPassword"
400
401
  type={passwordConfirmShown ? 'text' : 'password'}
402
+ autoComplete="new-password"
401
403
  endAction={
402
404
  <FieldActionWrapper
403
405
  onClick={e => {
@@ -531,24 +533,23 @@ const ProfilePage = () => {
531
533
  });
532
534
  }}
533
535
  >
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
- })}
536
+ {themesToDisplay.map(theme => (
537
+ <Option value={theme} key={theme}>
538
+ {formatMessage(
539
+ {
540
+ id:
541
+ 'Settings.profile.form.section.experience.mode.option-label',
542
+ defaultMessage: '{name} mode',
543
+ },
544
+ {
545
+ name: formatMessage({
546
+ id: theme,
547
+ defaultMessage: upperFirst(theme),
548
+ }),
549
+ }
550
+ )}
551
+ </Option>
552
+ ))}
552
553
  </Select>
553
554
  </GridItem>
554
555
  </Grid>
@@ -62,7 +62,7 @@ const layout = [
62
62
  id: 'Auth.form.username.placeholder',
63
63
  defaultMessage: 'e.g. Kai_Doe',
64
64
  },
65
- type: 'email',
65
+ type: 'text',
66
66
  size: {
67
67
  col: 6,
68
68
  xs: 12,
@@ -81,6 +81,7 @@ const layout = [
81
81
  col: 6,
82
82
  xs: 12,
83
83
  },
84
+ autoComplete: 'new-password',
84
85
  },
85
86
  {
86
87
  intlLabel: {
@@ -93,6 +94,7 @@ const layout = [
93
94
  col: 6,
94
95
  xs: 12,
95
96
  },
97
+ autoComplete: 'new-password',
96
98
  },
97
99
  ],
98
100
  [
@@ -63,7 +63,7 @@ const TableRows = ({
63
63
  return (
64
64
  <Td key={key}>
65
65
  {typeof cellFormatter === 'function' ? (
66
- cellFormatter(data, { key, name, ...rest })
66
+ cellFormatter(data, { key, name, formatMessage, ...rest })
67
67
  ) : (
68
68
  <Typography textColor="neutral800">{data[name] || '-'}</Typography>
69
69
  )}
@@ -24,9 +24,18 @@ const tableHeaders = [
24
24
  name: 'roles',
25
25
  metadatas: { label: 'Roles', sortable: false },
26
26
  /* eslint-disable react/prop-types */
27
- cellFormatter: ({ roles }) => {
27
+ cellFormatter: ({ roles }, { formatMessage }) => {
28
28
  return (
29
- <Typography textColor="neutral800">{roles.map(role => role.name).join(',\n')}</Typography>
29
+ <Typography textColor="neutral800">
30
+ {roles
31
+ .map(role =>
32
+ formatMessage({
33
+ id: `global.${role.code}`,
34
+ defaultMessage: role.name,
35
+ })
36
+ )
37
+ .join(',\n')}
38
+ </Typography>
30
39
  );
31
40
  },
32
41
  /* eslint-enable react/prop-types */
@@ -41,11 +50,16 @@ const tableHeaders = [
41
50
  name: 'isActive',
42
51
  metadatas: { label: 'User status', sortable: false },
43
52
  // eslint-disable-next-line react/prop-types
44
- cellFormatter: ({ isActive }) => {
53
+ cellFormatter: ({ isActive }, { formatMessage }) => {
45
54
  return (
46
55
  <Flex>
47
56
  <Status isActive={isActive} variant={isActive ? 'success' : 'danger'} />
48
- <Typography textColor="neutral800">{isActive ? 'Active' : 'Inactive'}</Typography>
57
+ <Typography textColor="neutral800">
58
+ {formatMessage({
59
+ id: isActive ? 'global.active' : 'global.inactive',
60
+ defaultMessage: isActive ? 'Active' : 'Inactive',
61
+ })}
62
+ </Typography>
49
63
  </Flex>
50
64
  );
51
65
  },
@@ -73,7 +73,10 @@ const SelectRoles = ({ disabled, error, onChange, value }) => {
73
73
  {(data || []).map(role => {
74
74
  return (
75
75
  <Option key={role.id} value={role.id}>
76
- {role.name}
76
+ {formatMessage({
77
+ id: `global.${role.code}`,
78
+ defaultMessage: role.name,
79
+ })}
77
80
  </Option>
78
81
  );
79
82
  })}
@@ -3,6 +3,7 @@
3
3
  "Auth.components.Oops.text": "Your account has been suspended.",
4
4
  "Auth.components.Oops.text.admin": "If this is a mistake, please contact your administrator.",
5
5
  "Auth.components.Oops.title": "Oops...",
6
+ "Auth.form.active.label": "Active",
6
7
  "Auth.form.button.forgot-password": "Send Email",
7
8
  "Auth.form.button.go-home": "GO BACK HOME",
8
9
  "Auth.form.button.login": "Login",
@@ -157,6 +158,8 @@
157
158
  "Settings.profile.form.section.experience.mode.label": "Interface mode",
158
159
  "Settings.profile.form.section.experience.mode.hint": "Displays your interface in the chosen mode.",
159
160
  "Settings.profile.form.section.experience.mode.option-label": "{name} mode",
161
+ "light": "Light",
162
+ "dark": "Dark",
160
163
  "Settings.profile.form.section.experience.title": "Experience",
161
164
  "Settings.profile.form.section.helmet.title": "User profile",
162
165
  "Settings.profile.form.section.profile.page.title": "Profile page",
@@ -320,8 +323,10 @@
320
323
  "app.components.InstallPluginPage.description": "Extend your app effortlessly.",
321
324
  "app.components.LeftMenu.collapse": "Collapse the navbar",
322
325
  "app.components.LeftMenu.expand": "Expand the navbar",
326
+ "app.components.LeftMenu.general": "General",
323
327
  "app.components.LeftMenu.logout": "Logout",
324
328
  "app.components.LeftMenu.logo.alt": "Application logo",
329
+ "app.components.LeftMenu.plugins": "Plugins",
325
330
  "app.components.LeftMenu.navbrand.title": "Strapi Dashboard",
326
331
  "app.components.LeftMenu.navbrand.workplace": "Workplace",
327
332
  "app.components.LeftMenuFooter.help": "Help",
@@ -671,6 +676,7 @@
671
676
  "content-manager.popUpwarning.warning.has-draft-relations.button-confirm": "Yes, publish",
672
677
  "content-manager.popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, =0 { of your content relations is} one { of your content relations is} other { of your content relations are}}</b> not published yet.<br></br>It might engender broken links and errors on your project.",
673
678
  "content-manager.popover.display-relations.label": "Display relations",
679
+ "content-manager.select.currently.selected": "{count} currently selected",
674
680
  "content-manager.success.record.delete": "Deleted",
675
681
  "content-manager.success.record.publish": "Published",
676
682
  "content-manager.success.record.save": "Saved",
@@ -679,8 +685,12 @@
679
685
  "content-manager.apiError.This attribute must be unique": "{field} must be unique",
680
686
  "form.button.continue": "Continue",
681
687
  "form.button.done": "Done",
688
+ "global.search": "Search",
682
689
  "global.actions": "Actions",
690
+ "global.active": "Active",
691
+ "global.inactive": "Inactive",
683
692
  "global.back": "Back",
693
+ "global.cancel": "Cancel",
684
694
  "global.change-password": "Change password",
685
695
  "global.content-manager": "Content Manager",
686
696
  "global.continue": "Continue",
@@ -697,6 +707,24 @@
697
707
  "global.none": "None",
698
708
  "global.password": "Password",
699
709
  "global.plugins": "Plugins",
710
+ "global.plugins.content-manager": "Content Manager",
711
+ "global.plugins.content-manager.description": "Quick way to see, edit and delete the data in your database.",
712
+ "global.plugins.content-type-builder": "Content Type Builder",
713
+ "global.plugins.content-type-builder.description": "Modelize the data structure of your API. Create new fields and relations in just a minute. The files are automatically created and updated in your project.",
714
+ "global.plugins.email": "Email",
715
+ "global.plugins.email.description": "Configure your application to send emails.",
716
+ "global.plugins.upload": "Media Library",
717
+ "global.plugins.upload.description": "Media file management.",
718
+ "global.plugins.graphql": "GraphQL",
719
+ "global.plugins.graphql.description": "Adds GraphQL endpoint with default API methods.",
720
+ "global.plugins.documentation": "Documentation",
721
+ "global.plugins.documentation.description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
722
+ "global.plugins.i18n": "Internationalization",
723
+ "global.plugins.i18n.description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
724
+ "global.plugins.sentry": "Sentry",
725
+ "global.plugins.sentry.description": "Send Strapi error events to Sentry.",
726
+ "global.plugins.users-permissions": "Roles & Permissions",
727
+ "global.plugins.users-permissions.description": "Protect your API with a full authentication process based on JWT. This plugin comes also with an ACL strategy that allows you to manage the permissions between the groups of users.",
700
728
  "global.profile": "Profile",
701
729
  "global.prompt.unsaved": "Are you sure you want to leave this page? All your modifications will be lost",
702
730
  "global.reset-password": "Reset password",
@@ -706,6 +734,15 @@
706
734
  "global.select": "Select",
707
735
  "global.select-all-entries": "Select all entries",
708
736
  "global.settings": "Settings",
737
+ "global.strapi-super-admin": "Super Admin",
738
+ "global.strapi-editor": "Editor",
739
+ "global.strapi-author": "Author",
740
+ "global.table.header.email": "Email",
741
+ "global.table.header.firstname": "Firstname",
742
+ "global.table.header.isActive": "User status",
743
+ "global.table.header.lastname": "Lastname",
744
+ "global.table.header.roles": "Roles",
745
+ "global.table.header.username": "Username",
709
746
  "global.type": "Type",
710
747
  "global.users": "Users",
711
748
  "notification.contentType.relations.conflict": "Content type has conflicting relations",
@@ -721,6 +758,7 @@
721
758
  "notification.success.title": "Success:",
722
759
  "notification.version.update.message": "A new version of Strapi is available!",
723
760
  "notification.warning.title": "Warning:",
761
+ "notification.warning.404": "404 - Not found",
724
762
  "or": "OR",
725
763
  "request.error.model.unknown": "This model doesn't exist",
726
764
  "skipToContent": "Skip to content",