@strapi/admin 4.2.0-beta.4 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/app.js +4 -7
- package/admin/src/components/OverlayBlocker/index.js +4 -0
- package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +1 -1
- package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/index.js +4 -4
- package/admin/src/hooks/{useFetchInstalledPlugins → useFetchEnabledPlugins}/utils/api.js +2 -2
- package/admin/src/hooks/useFetchMarketplaceProviders/index.js +23 -0
- package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +11 -0
- package/admin/src/pages/Admin/index.js +5 -15
- package/admin/src/pages/App/index.js +3 -17
- package/admin/src/pages/InstalledPluginsPage/Plugins.js +2 -2
- package/admin/src/pages/MarketplacePage/components/{EmptyPluginSearch/EmptyPluginGrid.js → EmptyNpmPackageSearch/EmptyNpmPackageGrid.js} +1 -1
- package/admin/src/pages/MarketplacePage/components/{EmptyPluginSearch → EmptyNpmPackageSearch}/index.js +6 -4
- package/admin/src/pages/MarketplacePage/components/{PluginCard → NpmPackageCard}/InstallPluginButton.js +0 -0
- package/admin/src/pages/MarketplacePage/components/{PluginCard → NpmPackageCard}/index.js +22 -11
- package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +48 -0
- package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +12 -5
- package/admin/src/pages/MarketplacePage/index.js +91 -59
- package/admin/src/reducers.js +2 -4
- package/admin/src/translations/en.json +7 -3
- package/admin/src/translations/hi.json +699 -0
- package/admin/src/translations/languageNativeNames.js +1 -0
- package/admin/src/translations/pl.json +335 -78
- package/admin/src/translations/vi.json +17 -17
- package/admin/src/translations/zh-Hans.json +28 -1
- package/build/1856.6a94980b.chunk.js +172 -0
- package/build/2077.5456ccd1.chunk.js +194 -0
- package/build/2758.9475712b.chunk.js +162 -0
- package/build/2912.dd031292.chunk.js +253 -0
- package/build/4715.a6e62860.chunk.js +385 -0
- package/build/4982.c57c5675.chunk.js +308 -0
- package/build/7197.74d81c4c.chunk.js +113 -0
- package/build/{6229.a5cca9f2.chunk.js → 7589.77ef4fbf.chunk.js} +2 -2
- package/build/{472.0350a5bd.chunk.js → 7757.f6eb5e92.chunk.js} +58 -58
- package/build/7841.9e9cf739.chunk.js +253 -0
- package/build/8681.2fd4020a.chunk.js +163 -0
- package/build/9066.2847fdff.chunk.js +101 -0
- package/build/{4073.e144a91a.chunk.js → 9115.623dc4f7.chunk.js} +1 -1
- package/build/9158.c5f772d6.chunk.js +503 -0
- package/build/{9298.aff28744.chunk.js → 9298.cb3b6bc1.chunk.js} +93 -93
- package/build/9420.ba035f29.chunk.js +508 -0
- package/build/Admin-authenticatedApp.2a22d6f4.chunk.js +80 -0
- package/build/{Admin_homePage.0ac648e8.chunk.js → Admin_homePage.447df176.chunk.js} +1 -1
- package/build/Admin_marketplace.0724f650.chunk.js +11 -0
- package/build/Admin_pluginsPage.6f1187fe.chunk.js +1 -0
- package/build/{Admin_profilePage.27191ed2.chunk.js → Admin_profilePage.249cbfc9.chunk.js} +2 -2
- package/build/Admin_settingsPage.0d138832.chunk.js +180 -0
- package/build/{admin-edit-roles-page.fb374555.chunk.js → admin-edit-roles-page.7c2c9752.chunk.js} +1 -1
- package/build/admin-edit-users.b835bc48.chunk.js +11 -0
- package/build/admin-users.19900b75.chunk.js +12 -0
- package/build/{api-tokens-create-page.698f132d.chunk.js → api-tokens-create-page.8d299dde.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.afece2fe.chunk.js → api-tokens-edit-page.3e453fc1.chunk.js} +1 -1
- package/build/{api-tokens-list-page.46d96dee.chunk.js → api-tokens-list-page.872c3800.chunk.js} +1 -1
- package/build/{codemirror-css.b467b1de.chunk.js → codemirror-css.98490df3.chunk.js} +2 -2
- package/build/{codemirror-javacript.41bdefda.chunk.js → codemirror-javacript.cafbda9c.chunk.js} +1 -1
- package/build/codemirror-theme.b3c64617.chunk.js +34 -0
- package/build/{content-manager.7cd28f84.chunk.js → content-manager.18834aa8.chunk.js} +10 -10
- package/build/content-type-builder-translation-pl-json.4a42349b.chunk.js +1 -0
- package/build/content-type-builder.55dd9554.chunk.js +142 -0
- package/build/{cropper-css.ecc0d670.chunk.js → cropper-css.0055cd53.chunk.js} +2 -2
- package/build/email-settings-page.1f235173.chunk.js +103 -0
- package/build/email-translation-pl-json.a03bcf98.chunk.js +1 -0
- package/build/en-json.0a5ba154.chunk.js +1 -0
- package/build/{fontawesome-css-all.04f33619.chunk.js → fontawesome-css-all.b88d464e.chunk.js} +3 -3
- package/build/{fontawesome-css.477ba714.chunk.js → fontawesome-css.a92a7b6c.chunk.js} +2 -2
- package/build/hi-json.b4ae16d1.chunk.js +1 -0
- package/build/highlight.js.9d8ef460.chunk.js +86 -0
- package/build/i18n-settings-page.06e88cf2.chunk.js +101 -0
- package/build/i18n-translation-pl-json.cea5bf23.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/main.fcb539e3.js +8406 -0
- package/build/pl-json.4d11f53d.chunk.js +1 -0
- package/build/runtime~main.ade14a85.js +2 -0
- package/build/sso-settings-page.a7c2e854.chunk.js +1 -0
- package/build/upload-settings.4ee2f135.chunk.js +101 -0
- package/build/upload-translation-pl-json.bb2aa937.chunk.js +1 -0
- package/build/upload.0d4153e8.chunk.js +105 -0
- package/build/users-advanced-settings-page.583c5dda.chunk.js +101 -0
- package/build/users-email-settings-page.8b9a266d.chunk.js +1 -0
- package/build/users-permissions-translation-en-json.765abf48.chunk.js +1 -0
- package/build/users-permissions-translation-pl-json.1dbdd4a1.chunk.js +1 -0
- package/build/users-providers-settings-page.fc9d8f9d.chunk.js +1 -0
- package/build/{users-roles-settings-page.988ebc3b.chunk.js → users-roles-settings-page.1bf4ffc5.chunk.js} +2 -2
- package/build/vi-json.bf3424be.chunk.js +1 -0
- package/build/{webhook-edit-page.a7ae6e3b.chunk.js → webhook-edit-page.142b23ac.chunk.js} +2 -2
- package/build/webhook-list-page.671582a0.chunk.js +133 -0
- package/build/zh-Hans-json.562f3b6f.chunk.js +1 -0
- package/index.js +239 -53
- package/package.json +9 -11
- package/scripts/build.js +3 -17
- package/server/controllers/admin.js +2 -15
- package/server/policies/index.js +0 -1
- package/server/routes/admin.js +0 -9
- package/server/routes/serve-admin-panel.js +1 -1
- package/webpack.alias.js +30 -19
- package/webpack.config.js +9 -29
- package/admin/src/pages/App/constants.js +0 -1
- package/admin/src/pages/App/reducer.js +0 -22
- package/admin/src/pages/MarketplacePage/utils/api.js +0 -9
- package/admin/src/tsconfig.json +0 -10
- package/build/1541.6c1c96f9.chunk.js +0 -307
- package/build/1856.521a99fd.chunk.js +0 -172
- package/build/2077.51485bfb.chunk.js +0 -194
- package/build/2912.79c2b3c8.chunk.js +0 -253
- package/build/3214.9196aeff.chunk.js +0 -235
- package/build/3865.21cec9de.chunk.js +0 -310
- package/build/4715.77e04177.chunk.js +0 -385
- package/build/4982.f53b78a4.chunk.js +0 -308
- package/build/7351.b95e65ae.chunk.js +0 -428
- package/build/7418.6db737ce.chunk.js +0 -112
- package/build/7841.f0e7d629.chunk.js +0 -253
- package/build/8826.58e236d4.chunk.js +0 -1057
- package/build/9066.118ecccd.chunk.js +0 -101
- package/build/9420.cb0b75e8.chunk.js +0 -508
- package/build/9988.f84412d9.chunk.js +0 -162
- package/build/Admin-authenticatedApp.162a5805.chunk.js +0 -80
- package/build/Admin_marketplace.0bb91ec8.chunk.js +0 -11
- package/build/Admin_pluginsPage.788fb2f6.chunk.js +0 -1
- package/build/Admin_settingsPage.23e873f0.chunk.js +0 -178
- package/build/admin-edit-users.a360deaf.chunk.js +0 -10
- package/build/admin-users.47d06d24.chunk.js +0 -11
- package/build/codemirror-theme.cf9f9eb6.chunk.js +0 -34
- package/build/content-type-builder-translation-pl-json.a866acda.chunk.js +0 -1
- package/build/content-type-builder.7456cabe.chunk.js +0 -141
- package/build/email-settings-page.f67d13b2.chunk.js +0 -103
- package/build/email-translation-pl-json.6da50d0f.chunk.js +0 -1
- package/build/en-json.40ee00aa.chunk.js +0 -1
- package/build/highlight.js.3381ffc3.chunk.js +0 -86
- package/build/i18n-settings-page.6b67cb75.chunk.js +0 -101
- package/build/main.b632a0d6.js +0 -11625
- package/build/pl-json.94f05d2c.chunk.js +0 -1
- package/build/runtime~main.38d418e9.js +0 -2
- package/build/sso-settings-page.dfb0b917.chunk.js +0 -1
- package/build/upload-settings.3db55de0.chunk.js +0 -101
- package/build/upload-translation-pl-json.6071e38c.chunk.js +0 -1
- package/build/upload.070c189b.chunk.js +0 -105
- package/build/users-advanced-settings-page.a23cda17.chunk.js +0 -101
- package/build/users-email-settings-page.0a096388.chunk.js +0 -1
- package/build/users-permissions-translation-en-json.3fe86528.chunk.js +0 -1
- package/build/users-permissions-translation-pl-json.3c4fe81c.chunk.js +0 -1
- package/build/users-providers-settings-page.bfe7755a.chunk.js +0 -1
- package/build/vi-json.3d14e91e.chunk.js +0 -1
- package/build/webhook-list-page.83297d98.chunk.js +0 -133
- package/build/zh-Hans-json.c84ce330.chunk.js +0 -1
- package/server/policies/isTelemetryEnabled.js +0 -16
- package/utils/create-cache-dir.js +0 -161
- package/utils/get-custom-app-config-file.js +0 -23
- package/utils/get-custom-webpack-config.js +0 -38
- package/utils/get-plugins-path.js +0 -26
- package/utils/index.js +0 -13
- package/utils/should-build-admin.js +0 -52
- package/utils/watch-admin-files.js +0 -59
|
@@ -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,
|
|
@@ -12,7 +11,6 @@ import {
|
|
|
12
11
|
useNotification,
|
|
13
12
|
useAppInfos,
|
|
14
13
|
} from '@strapi/helper-plugin';
|
|
15
|
-
import { Grid, GridItem } from '@strapi/design-system/Grid';
|
|
16
14
|
import { Layout, ContentLayout } from '@strapi/design-system/Layout';
|
|
17
15
|
import { Main } from '@strapi/design-system/Main';
|
|
18
16
|
import { Searchbar } from '@strapi/design-system/Searchbar';
|
|
@@ -20,20 +18,20 @@ import { Box } from '@strapi/design-system/Box';
|
|
|
20
18
|
import { useNotifyAT } from '@strapi/design-system/LiveRegions';
|
|
21
19
|
import { Typography } from '@strapi/design-system/Typography';
|
|
22
20
|
import { Flex } from '@strapi/design-system/Flex';
|
|
21
|
+
import { Tabs, Tab, TabGroup, TabPanels, TabPanel } from '@strapi/design-system/Tabs';
|
|
23
22
|
|
|
24
|
-
import
|
|
25
|
-
import { EmptyPluginSearch } from './components/EmptyPluginSearch';
|
|
23
|
+
import EmptyNpmPackageSearch from './components/EmptyNpmPackageSearch';
|
|
26
24
|
import PageHeader from './components/PageHeader';
|
|
27
|
-
import
|
|
28
|
-
import useFetchInstalledPlugins from '../../hooks/useFetchInstalledPlugins';
|
|
25
|
+
import useFetchMarketplaceProviders from '../../hooks/useFetchMarketplaceProviders';
|
|
29
26
|
import useFetchMarketplacePlugins from '../../hooks/useFetchMarketplacePlugins';
|
|
30
27
|
import adminPermissions from '../../permissions';
|
|
31
28
|
import offlineCloud from '../../assets/images/icon_offline-cloud.svg';
|
|
32
29
|
import useNavigatorOnLine from '../../hooks/useNavigatorOnLine';
|
|
33
30
|
import MissingPluginBanner from './components/MissingPluginBanner';
|
|
31
|
+
import NpmPackagesGrid from './components/NpmPackagesGrid';
|
|
34
32
|
|
|
35
|
-
const matchSearch = (
|
|
36
|
-
return matchSorter(
|
|
33
|
+
const matchSearch = (npmPackages, search) => {
|
|
34
|
+
return matchSorter(npmPackages, search, {
|
|
37
35
|
keys: [
|
|
38
36
|
{
|
|
39
37
|
threshold: matchSorter.rankings.WORD_STARTS_WITH,
|
|
@@ -51,7 +49,8 @@ const MarketPlacePage = () => {
|
|
|
51
49
|
const trackUsageRef = useRef(trackUsage);
|
|
52
50
|
const toggleNotification = useNotification();
|
|
53
51
|
const [searchQuery, setSearchQuery] = useState('');
|
|
54
|
-
const
|
|
52
|
+
const [npmPackageType, setNpmPackageType] = useState('plugin');
|
|
53
|
+
const { autoReload: isInDevelopmentMode, dependencies, useYarn } = useAppInfos();
|
|
55
54
|
const isOnline = useNavigatorOnLine();
|
|
56
55
|
|
|
57
56
|
useFocusWhenNavigate();
|
|
@@ -79,30 +78,13 @@ const MarketPlacePage = () => {
|
|
|
79
78
|
} = useFetchMarketplacePlugins(notifyMarketplaceLoad);
|
|
80
79
|
|
|
81
80
|
const {
|
|
82
|
-
status:
|
|
83
|
-
data:
|
|
84
|
-
} =
|
|
81
|
+
status: marketplaceProvidersStatus,
|
|
82
|
+
data: marketplaceProvidersResponse,
|
|
83
|
+
} = useFetchMarketplaceProviders(notifyMarketplaceLoad);
|
|
85
84
|
|
|
86
|
-
const
|
|
87
|
-
'app-information',
|
|
88
|
-
fetchAppInformation,
|
|
89
|
-
{
|
|
90
|
-
onError: () => {
|
|
91
|
-
toggleNotification({
|
|
92
|
-
type: 'warning',
|
|
93
|
-
message: { id: 'notification.error', defaultMessage: 'An error occured' },
|
|
94
|
-
});
|
|
95
|
-
},
|
|
96
|
-
}
|
|
97
|
-
);
|
|
85
|
+
const isLoading = [marketplacePluginsStatus, marketplaceProvidersStatus].includes('loading');
|
|
98
86
|
|
|
99
|
-
const
|
|
100
|
-
'loading'
|
|
101
|
-
);
|
|
102
|
-
|
|
103
|
-
const hasFailed = [marketplacePluginsStatus, installedPluginsStatus, appInfoStatus].includes(
|
|
104
|
-
'error'
|
|
105
|
-
);
|
|
87
|
+
const hasFailed = [marketplacePluginsStatus, marketplaceProvidersStatus].includes('error');
|
|
106
88
|
|
|
107
89
|
useEffect(() => {
|
|
108
90
|
trackUsageRef.current('didGoToMarketplace');
|
|
@@ -179,8 +161,24 @@ const MarketPlacePage = () => {
|
|
|
179
161
|
);
|
|
180
162
|
}
|
|
181
163
|
|
|
182
|
-
|
|
183
|
-
const
|
|
164
|
+
// Search for plugins and providers that match the search query
|
|
165
|
+
const pluginSearchResults = matchSearch(marketplacePluginsResponse.data, searchQuery);
|
|
166
|
+
const providerSearchResults = matchSearch(marketplaceProvidersResponse.data, searchQuery);
|
|
167
|
+
const emptySearchMessage = formatMessage(
|
|
168
|
+
{
|
|
169
|
+
id: 'admin.pages.MarketPlacePage.search.empty',
|
|
170
|
+
defaultMessage: 'No result for "{target}"',
|
|
171
|
+
},
|
|
172
|
+
{ target: searchQuery }
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
const handleTabChange = selected => {
|
|
176
|
+
const packageType = selected === 0 ? 'plugin' : 'provider';
|
|
177
|
+
setNpmPackageType(packageType);
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
// Check if plugins and providers are installed already
|
|
181
|
+
const installedPackageNames = Object.keys(dependencies);
|
|
184
182
|
|
|
185
183
|
return (
|
|
186
184
|
<Layout>
|
|
@@ -191,7 +189,7 @@ const MarketPlacePage = () => {
|
|
|
191
189
|
defaultMessage: 'Marketplace - Plugins',
|
|
192
190
|
})}
|
|
193
191
|
/>
|
|
194
|
-
<PageHeader isOnline={isOnline} />
|
|
192
|
+
<PageHeader isOnline={isOnline} npmPackageType={npmPackageType} />
|
|
195
193
|
<ContentLayout>
|
|
196
194
|
<Box width="25%" paddingBottom={4}>
|
|
197
195
|
<Searchbar
|
|
@@ -201,43 +199,77 @@ const MarketPlacePage = () => {
|
|
|
201
199
|
onChange={e => setSearchQuery(e.target.value)}
|
|
202
200
|
clearLabel={formatMessage({
|
|
203
201
|
id: 'admin.pages.MarketPlacePage.search.clear',
|
|
204
|
-
defaultMessage: 'Clear the
|
|
202
|
+
defaultMessage: 'Clear the search',
|
|
205
203
|
})}
|
|
206
204
|
placeholder={formatMessage({
|
|
207
205
|
id: 'admin.pages.MarketPlacePage.search.placeholder',
|
|
208
|
-
defaultMessage: 'Search
|
|
206
|
+
defaultMessage: 'Search',
|
|
209
207
|
})}
|
|
210
208
|
>
|
|
211
209
|
{formatMessage({
|
|
212
210
|
id: 'admin.pages.MarketPlacePage.search.placeholder',
|
|
213
|
-
defaultMessage: 'Search
|
|
211
|
+
defaultMessage: 'Search',
|
|
214
212
|
})}
|
|
215
213
|
</Searchbar>
|
|
216
214
|
</Box>
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
215
|
+
<TabGroup
|
|
216
|
+
label={formatMessage({
|
|
217
|
+
id: 'admin.pages.MarketPlacePage.tab-group.label',
|
|
218
|
+
defaultMessage: 'Plugins and Providers for Strapi',
|
|
219
|
+
})}
|
|
220
|
+
id="tabs"
|
|
221
|
+
variant="simple"
|
|
222
|
+
onTabChange={handleTabChange}
|
|
223
|
+
>
|
|
224
|
+
<Box paddingBottom={4}>
|
|
225
|
+
<Tabs>
|
|
226
|
+
<Tab>
|
|
227
|
+
{formatMessage({
|
|
228
|
+
id: 'admin.pages.MarketPlacePage.plugins',
|
|
229
|
+
defaultMessage: 'Plugins',
|
|
230
|
+
})}{' '}
|
|
231
|
+
({pluginSearchResults.length})
|
|
232
|
+
</Tab>
|
|
233
|
+
<Tab>
|
|
234
|
+
{formatMessage({
|
|
235
|
+
id: 'admin.pages.MarketPlacePage.providers',
|
|
236
|
+
defaultMessage: 'Providers',
|
|
237
|
+
})}{' '}
|
|
238
|
+
({providerSearchResults.length})
|
|
239
|
+
</Tab>
|
|
240
|
+
</Tabs>
|
|
241
|
+
</Box>
|
|
242
|
+
<TabPanels>
|
|
243
|
+
{/* Plugins panel */}
|
|
244
|
+
<TabPanel>
|
|
245
|
+
{searchQuery.length > 0 && !pluginSearchResults.length ? (
|
|
246
|
+
<EmptyNpmPackageSearch content={emptySearchMessage} />
|
|
247
|
+
) : (
|
|
248
|
+
<NpmPackagesGrid
|
|
249
|
+
npmPackages={pluginSearchResults}
|
|
250
|
+
installedPackageNames={installedPackageNames}
|
|
251
|
+
useYarn={useYarn}
|
|
252
|
+
isInDevelopmentMode={isInDevelopmentMode}
|
|
253
|
+
npmPackageType="plugin"
|
|
254
|
+
/>
|
|
255
|
+
)}
|
|
256
|
+
</TabPanel>
|
|
257
|
+
{/* Providers panel */}
|
|
258
|
+
<TabPanel>
|
|
259
|
+
{searchQuery.length > 0 && !providerSearchResults.length ? (
|
|
260
|
+
<EmptyNpmPackageSearch content={emptySearchMessage} />
|
|
261
|
+
) : (
|
|
262
|
+
<NpmPackagesGrid
|
|
263
|
+
npmPackages={providerSearchResults}
|
|
264
|
+
installedPackageNames={installedPackageNames}
|
|
265
|
+
useYarn={useYarn}
|
|
235
266
|
isInDevelopmentMode={isInDevelopmentMode}
|
|
267
|
+
npmPackageType="provider"
|
|
236
268
|
/>
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
</
|
|
240
|
-
|
|
269
|
+
)}
|
|
270
|
+
</TabPanel>
|
|
271
|
+
</TabPanels>
|
|
272
|
+
</TabGroup>
|
|
241
273
|
<Box paddingTop={7}>
|
|
242
274
|
<MissingPluginBanner />
|
|
243
275
|
</Box>
|
package/admin/src/reducers.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import appReducer from './pages/App/reducer';
|
|
2
1
|
import rbacProviderReducer from './components/RBACProvider/reducer';
|
|
3
|
-
import
|
|
2
|
+
import appReducer from './content-manager/pages/App/reducer';
|
|
4
3
|
import editViewLayoutManagerReducer from './content-manager/pages/EditViewLayoutManager/reducer';
|
|
5
4
|
import listViewReducer from './content-manager/pages/ListView/reducer';
|
|
6
5
|
import rbacManagerReducer from './content-manager/hooks/useSyncRbac/reducer';
|
|
7
6
|
import editViewCrudReducer from './content-manager/sharedReducers/crudReducer/reducer';
|
|
8
7
|
|
|
9
8
|
const contentManagerReducers = {
|
|
10
|
-
'content-manager_app':
|
|
9
|
+
'content-manager_app': appReducer,
|
|
11
10
|
'content-manager_listView': listViewReducer,
|
|
12
11
|
'content-manager_rbacManager': rbacManagerReducer,
|
|
13
12
|
'content-manager_editViewLayoutManager': editViewLayoutManagerReducer,
|
|
@@ -15,7 +14,6 @@ const contentManagerReducers = {
|
|
|
15
14
|
};
|
|
16
15
|
|
|
17
16
|
const reducers = {
|
|
18
|
-
admin_app: appReducer,
|
|
19
17
|
rbacProvider: rbacProviderReducer,
|
|
20
18
|
...contentManagerReducers,
|
|
21
19
|
};
|
|
@@ -232,6 +232,7 @@
|
|
|
232
232
|
"admin.pages.MarketPlacePage.helmet": "Marketplace - Plugins",
|
|
233
233
|
"admin.pages.MarketPlacePage.offline.title": "You are offline",
|
|
234
234
|
"admin.pages.MarketPlacePage.offline.subtitle": "You need to be connected to the Internet to access Strapi Market.",
|
|
235
|
+
"admin.pages.MarketPlacePage.plugins": "Plugins",
|
|
235
236
|
"admin.pages.MarketPlacePage.plugin.copy": "Copy install command",
|
|
236
237
|
"admin.pages.MarketPlacePage.plugin.copy.success": "Install command ready to be pasted in your terminal",
|
|
237
238
|
"admin.pages.MarketPlacePage.plugin.info": "Learn more",
|
|
@@ -240,11 +241,14 @@
|
|
|
240
241
|
"admin.pages.MarketPlacePage.plugin.installed": "Installed",
|
|
241
242
|
"admin.pages.MarketPlacePage.plugin.tooltip.madeByStrapi": "Made by Strapi",
|
|
242
243
|
"admin.pages.MarketPlacePage.plugin.tooltip.verified": "Plugin verified by Strapi",
|
|
243
|
-
"admin.pages.MarketPlacePage.
|
|
244
|
+
"admin.pages.MarketPlacePage.providers": "Providers",
|
|
245
|
+
"admin.pages.MarketPlacePage.search.clear": "Clear the search",
|
|
244
246
|
"admin.pages.MarketPlacePage.search.empty": "No result for \"{target}\"",
|
|
245
|
-
"admin.pages.MarketPlacePage.search.placeholder": "Search
|
|
246
|
-
"admin.pages.MarketPlacePage.submit.plugin.link": "Submit
|
|
247
|
+
"admin.pages.MarketPlacePage.search.placeholder": "Search",
|
|
248
|
+
"admin.pages.MarketPlacePage.submit.plugin.link": "Submit plugin",
|
|
249
|
+
"admin.pages.MarketPlacePage.submit.provider.link": "Submit provider",
|
|
247
250
|
"admin.pages.MarketPlacePage.subtitle": "Get more out of Strapi",
|
|
251
|
+
"admin.pages.MarketPlacePage.tab-group.label": "Plugins and Providers for Strapi",
|
|
248
252
|
"admin.pages.MarketPlacePage.missingPlugin.title": "Missing a plugin?",
|
|
249
253
|
"admin.pages.MarketPlacePage.missingPlugin.description": "Tell us what plugin you are looking for and we'll let our community plugin developers know in case they are in search for inspiration!",
|
|
250
254
|
"anErrorOccurred": "Woops! Something went wrong. Please, try again.",
|