@strapi/admin 4.0.4 → 4.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/components/UpgradePlanModal/index.js +7 -2
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/isValidJSONString.js +15 -0
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +11 -12
- package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +32 -0
- package/admin/src/content-manager/components/InputJSON/Label.js +5 -11
- package/admin/src/content-manager/components/InputJSON/index.js +27 -27
- package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +4 -0
- package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +1 -1
- package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +4 -0
- package/admin/src/content-manager/components/Wysiwyg/Editor.js +4 -1
- package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +2 -1
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +14 -8
- package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -0
- package/admin/src/content-manager/components/Wysiwyg/index.js +4 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +1 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +4 -3
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +52 -11
- package/admin/src/content-manager/pages/EditSettingsView/index.js +10 -1
- package/admin/src/content-manager/pages/EditSettingsView/reducer.js +26 -5
- package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +40 -9
- package/admin/src/content-manager/pages/EditView/index.js +2 -1
- package/admin/src/pages/Admin/index.js +2 -0
- package/admin/src/pages/InternalErrorPage/index.js +53 -0
- package/admin/src/pages/MarketplacePage/index.js +13 -13
- package/admin/src/pages/NotFoundPage/index.js +45 -2
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +2 -10
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +4 -1
- package/admin/src/translations/dk.json +300 -110
- package/admin/src/translations/en.json +5 -1
- package/admin/src/translations/es.json +204 -4
- package/admin/src/translations/fr.json +3 -0
- package/admin/src/translations/hu.json +672 -0
- package/admin/src/translations/ja.json +327 -7
- package/admin/src/translations/languageNativeNames.js +1 -0
- package/admin/src/translations/nl.json +512 -125
- package/admin/src/translations/pt-BR.json +398 -19
- package/admin/src/translations/uk.json +40 -40
- package/admin/src/translations/zh-Hans.json +9 -9
- package/admin/src/translations/zh.json +7 -0
- package/build/1856.a06395b4.chunk.js +1 -0
- package/build/2481.7d15bd79.chunk.js +1 -0
- package/build/2912.38fb9bd1.chunk.js +1 -0
- package/build/{6354.48168bc8.chunk.js → 3215.4d042146.chunk.js} +2 -2
- package/build/{6354.48168bc8.chunk.js.LICENSE.txt → 3215.4d042146.chunk.js.LICENSE.txt} +0 -0
- package/build/4261.a4e1e93c.chunk.js +1 -0
- package/build/4362.e3d2d72b.chunk.js +1 -0
- package/build/460.639962f0.chunk.js +2 -0
- package/build/{6060.3af8877e.chunk.js.LICENSE.txt → 460.639962f0.chunk.js.LICENSE.txt} +0 -0
- package/build/4715.31ca1967.chunk.js +1 -0
- package/build/4741.c2bfe032.chunk.js +2 -0
- package/build/{4741.1fb6ad6e.chunk.js.LICENSE.txt → 4741.c2bfe032.chunk.js.LICENSE.txt} +0 -0
- package/build/497.8f30da61.chunk.js +1 -0
- package/build/4982.da4adb38.chunk.js +1 -0
- package/build/5032.ed02a466.chunk.js +2 -0
- package/build/{8530.a978bde6.chunk.js.LICENSE.txt → 5032.ed02a466.chunk.js.LICENSE.txt} +0 -0
- package/build/6250.dc6d7a58.chunk.js +1 -0
- package/build/6925.bd694b04.chunk.js +2 -0
- package/build/{6925.4767e761.chunk.js.LICENSE.txt → 6925.bd694b04.chunk.js.LICENSE.txt} +2 -1
- package/build/7841.ef9bcee9.chunk.js +1 -0
- package/build/849.9075d399.chunk.js +1 -0
- package/build/9235.ced8aebf.chunk.js +1 -0
- package/build/9238.bdd93dae.chunk.js +1 -0
- package/build/Admin-authenticatedApp.f65c428a.chunk.js +1 -0
- package/build/Admin_homePage.a20b5e76.chunk.js +1 -0
- package/build/Admin_marketplace.e8654056.chunk.js +1 -0
- package/build/Admin_pluginsPage.7d1bd7ce.chunk.js +1 -0
- package/build/{Admin_profilePage.077e17a5.chunk.js → Admin_profilePage.67dd744c.chunk.js} +1 -1
- package/build/Admin_settingsPage.05877e0b.chunk.js +1 -0
- package/build/admin-edit-roles-page.2d1b6461.chunk.js +1 -0
- package/build/admin-edit-users.e736db15.chunk.js +1 -0
- package/build/admin-users.5f79c031.chunk.js +1 -0
- package/build/api-tokens-create-page.10586e16.chunk.js +1 -0
- package/build/{api-tokens-create-page.07be3e07.chunk.js → api-tokens-edit-page.f9e3038d.chunk.js} +1 -1
- package/build/{api-tokens-list-page.da9714d8.chunk.js → api-tokens-list-page.e071058b.chunk.js} +1 -1
- package/build/codemirror-css.48b438c9.chunk.js +1 -0
- package/build/{codemirror-javacript.381a518a.chunk.js → codemirror-javacript.8c7c015d.chunk.js} +1 -1
- package/build/codemirror-theme.b5559efc.chunk.js +1 -0
- package/build/content-manager.07db1dd9.chunk.js +1 -0
- package/build/{content-type-builder-translation-dk-json.5c6344f9.chunk.js → content-type-builder-translation-dk-json.098bd218.chunk.js} +1 -1
- package/build/content-type-builder-translation-es-json.20c177ee.chunk.js +1 -0
- package/build/content-type-builder.52f5975c.chunk.js +1 -0
- package/build/cropper-css.ace19575.chunk.js +1 -0
- package/build/dk-json.7356ea4b.chunk.js +1 -0
- package/build/email-settings-page.4338588d.chunk.js +1 -0
- package/build/email-translation-dk-json.f8a595bf.chunk.js +1 -0
- package/build/email-translation-es-json.eb303dea.chunk.js +1 -0
- package/build/en-json.3422a59e.chunk.js +1 -0
- package/build/es-json.ed9c8bef.chunk.js +1 -0
- package/build/fontawesome-css-all.3b89f909.chunk.js +1 -0
- package/build/fontawesome-css.36cff9ae.chunk.js +1 -0
- package/build/fr-json.390bcdeb.chunk.js +1 -0
- package/build/highlight.js.6321cb45.chunk.js +1 -0
- package/build/hu-json.a741d263.chunk.js +1 -0
- package/build/i18n-settings-page.51e37957.chunk.js +1 -0
- package/build/i18n-translation-dk-json.932d3cc2.chunk.js +1 -0
- package/build/i18n-translation-es-json.347904f3.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/ja-json.52581a2a.chunk.js +1 -0
- package/build/main.59b96514.js +2 -0
- package/build/{main.ca080a1e.js.LICENSE.txt → main.59b96514.js.LICENSE.txt} +0 -0
- package/build/nl-json.ac661b7f.chunk.js +1 -0
- package/build/pt-BR-json.8b3f799d.chunk.js +1 -0
- package/build/runtime~main.75c67df1.js +1 -0
- package/build/{sk-json.2eb1ec0d.chunk.js → sk-json.a40bc2c8.chunk.js} +1 -1
- package/build/sso-settings-page.c073b6d7.chunk.js +1 -0
- package/build/uk-json.da2ed14e.chunk.js +1 -0
- package/build/upload-settings.62631a39.chunk.js +1 -0
- package/build/{upload-translation-dk-json.e8c0a891.chunk.js → upload-translation-dk-json.bc6af8b4.chunk.js} +1 -1
- package/build/upload-translation-en-json.6b529046.chunk.js +1 -0
- package/build/upload-translation-es-json.b53d6641.chunk.js +1 -0
- package/build/{upload-translation-ja-json.568f097e.chunk.js → upload-translation-ja-json.71aa85eb.chunk.js} +1 -1
- package/build/upload.803ab265.chunk.js +1 -0
- package/build/users-advanced-settings-page.7694d3c9.chunk.js +1 -0
- package/build/users-email-settings-page.862eb51e.chunk.js +1 -0
- package/build/{users-permissions-translation-dk-json.a36b323b.chunk.js → users-permissions-translation-dk-json.3e0295e5.chunk.js} +1 -1
- package/build/users-permissions-translation-es-json.a4f81eaa.chunk.js +1 -0
- package/build/{users-permissions-translation-ru-json.44dd1f10.chunk.js → users-permissions-translation-ru-json.5709c5a0.chunk.js} +1 -1
- package/build/users-providers-settings-page.47f97b06.chunk.js +1 -0
- package/build/users-roles-settings-page.b67e2b4d.chunk.js +1 -0
- package/build/webhook-edit-page.adad0a42.chunk.js +1 -0
- package/build/webhook-list-page.5c8f2a91.chunk.js +1 -0
- package/build/zh-Hans-json.5843950b.chunk.js +1 -0
- package/build/zh-json.2e4c9ef4.chunk.js +1 -0
- package/ee/admin/pages/App/utils/customRoutes.js +1 -1
- package/ee/server/controllers/authentication/utils.js +1 -1
- package/index.js +43 -26
- package/package.json +13 -13
- package/server/bootstrap.js +16 -0
- package/server/controllers/webhooks.js +6 -10
- package/server/services/api-token.js +1 -1
- package/server/services/metrics.js +6 -0
- package/server/services/permission/permissions-manager/sanitize.js +13 -5
- package/server/services/user.js +10 -0
- package/server/strategies/api-token.js +0 -3
- package/build/1024.1b15fbb5.chunk.js +0 -1
- package/build/1856.0a6992d6.chunk.js +0 -1
- package/build/2912.d903b59a.chunk.js +0 -1
- package/build/3742.2281afd7.chunk.js +0 -1
- package/build/4045.0b43d55e.chunk.js +0 -1
- package/build/4064.2683bcce.chunk.js +0 -1
- package/build/4261.061aed35.chunk.js +0 -1
- package/build/4672.7ad6782a.chunk.js +0 -1
- package/build/4715.f134f37a.chunk.js +0 -1
- package/build/4741.1fb6ad6e.chunk.js +0 -2
- package/build/497.726adbfa.chunk.js +0 -1
- package/build/4982.a7f87e6c.chunk.js +0 -1
- package/build/6060.3af8877e.chunk.js +0 -2
- package/build/6250.7b4872b1.chunk.js +0 -1
- package/build/6925.4767e761.chunk.js +0 -2
- package/build/7841.d2aa6f5e.chunk.js +0 -1
- package/build/8530.a978bde6.chunk.js +0 -2
- package/build/Admin-authenticatedApp.8c375af0.chunk.js +0 -1
- package/build/Admin_homePage.f9cdd615.chunk.js +0 -1
- package/build/Admin_marketplace.4f6c77f2.chunk.js +0 -1
- package/build/Admin_pluginsPage.cd9a871c.chunk.js +0 -1
- package/build/Admin_settingsPage.9752ef85.chunk.js +0 -1
- package/build/admin-edit-roles-page.27b047fc.chunk.js +0 -1
- package/build/admin-edit-users.a0dede23.chunk.js +0 -1
- package/build/admin-users.a11177c1.chunk.js +0 -1
- package/build/api-tokens-edit-page.d6afc60e.chunk.js +0 -1
- package/build/codemirror-css.f9701755.chunk.js +0 -1
- package/build/codemirror-theme.1563c1c2.chunk.js +0 -1
- package/build/content-manager.51651b3b.chunk.js +0 -1
- package/build/content-type-builder-translation-es-json.7e2055ad.chunk.js +0 -1
- package/build/content-type-builder.c815d0c6.chunk.js +0 -1
- package/build/cropper-css.45c47fe3.chunk.js +0 -1
- package/build/dk-json.9516eb08.chunk.js +0 -1
- package/build/email-settings-page.03e18bb2.chunk.js +0 -1
- package/build/email-translation-dk-json.e1480892.chunk.js +0 -1
- package/build/email-translation-es-json.abbba8e3.chunk.js +0 -1
- package/build/en-json.9e3c8615.chunk.js +0 -1
- package/build/es-json.fa8ddd1d.chunk.js +0 -1
- package/build/fontawesome-css-all.9c41f1d7.chunk.js +0 -1
- package/build/fontawesome-css.24c8dbfc.chunk.js +0 -1
- package/build/fr-json.bae03a2c.chunk.js +0 -1
- package/build/highlight.js.90b600ee.chunk.js +0 -1
- package/build/i18n-settings-page.89d1776c.chunk.js +0 -1
- package/build/ja-json.57abaacb.chunk.js +0 -1
- package/build/main.ca080a1e.js +0 -2
- package/build/nl-json.d757328d.chunk.js +0 -1
- package/build/pt-BR-json.6d1cfdb2.chunk.js +0 -1
- package/build/runtime~main.6f530910.js +0 -1
- package/build/sso-settings-page.d4ab164b.chunk.js +0 -1
- package/build/uk-json.c50ad2a8.chunk.js +0 -1
- package/build/upload-settings.aa148b01.chunk.js +0 -1
- package/build/upload-translation-en-json.31ea0622.chunk.js +0 -1
- package/build/upload-translation-es-json.42b5c758.chunk.js +0 -1
- package/build/upload.1991e997.chunk.js +0 -1
- package/build/users-advanced-settings-page.23ed7ee9.chunk.js +0 -1
- package/build/users-email-settings-page.64dc429a.chunk.js +0 -1
- package/build/users-permissions-translation-es-json.c8ef51bd.chunk.js +0 -1
- package/build/users-providers-settings-page.329f102a.chunk.js +0 -1
- package/build/users-roles-settings-page.e28982b6.chunk.js +0 -1
- package/build/webhook-edit-page.678af4e2.chunk.js +0 -1
- package/build/webhook-list-page.5abda9c2.chunk.js +0 -1
- package/build/zh-Hans-json.fcc53388.chunk.js +0 -1
- package/build/zh-json.496bd6c4.chunk.js +0 -1
|
@@ -28,13 +28,7 @@ const formatLayout = arr => {
|
|
|
28
28
|
|
|
29
29
|
return acc2;
|
|
30
30
|
}, []);
|
|
31
|
-
const rowId =
|
|
32
|
-
acc.length === 0
|
|
33
|
-
? 0
|
|
34
|
-
: Math.max.apply(
|
|
35
|
-
Math,
|
|
36
|
-
acc.map(o => o.rowId)
|
|
37
|
-
) + 1;
|
|
31
|
+
const rowId = acc.length === 0 ? 0 : Math.max.apply(Math, acc.map(o => o.rowId)) + 1;
|
|
38
32
|
|
|
39
33
|
const currentRowSize = getRowSize(currentRow);
|
|
40
34
|
|
|
@@ -75,7 +69,7 @@ const unformatLayout = arr => {
|
|
|
75
69
|
}, []);
|
|
76
70
|
};
|
|
77
71
|
|
|
78
|
-
const
|
|
72
|
+
const getDefaultInputSize = type => {
|
|
79
73
|
switch (type) {
|
|
80
74
|
case 'boolean':
|
|
81
75
|
case 'date':
|
|
@@ -95,4 +89,41 @@ const getInputSize = type => {
|
|
|
95
89
|
}
|
|
96
90
|
};
|
|
97
91
|
|
|
98
|
-
|
|
92
|
+
const getFieldSize = (name, layouts = []) => {
|
|
93
|
+
return layouts.reduce((acc, { rowContent }) => {
|
|
94
|
+
const size = rowContent.find(row => row.name === name)?.size ?? null;
|
|
95
|
+
|
|
96
|
+
if (size) {
|
|
97
|
+
acc = size;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return acc;
|
|
101
|
+
}, null);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const setFieldSize = (name, size, layouts = []) => {
|
|
105
|
+
return layouts.map(row => {
|
|
106
|
+
row.rowContent = row.rowContent.map(column => {
|
|
107
|
+
if (column.name === name) {
|
|
108
|
+
return {
|
|
109
|
+
...column,
|
|
110
|
+
size,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return column;
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
return row;
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export {
|
|
122
|
+
createLayout,
|
|
123
|
+
formatLayout,
|
|
124
|
+
getDefaultInputSize,
|
|
125
|
+
getFieldSize,
|
|
126
|
+
setFieldSize,
|
|
127
|
+
getRowSize,
|
|
128
|
+
unformatLayout,
|
|
129
|
+
};
|
|
@@ -309,6 +309,7 @@ const EditView = ({
|
|
|
309
309
|
)}
|
|
310
310
|
<Box as="aside" aria-labelledby="links">
|
|
311
311
|
<Stack size={2}>
|
|
312
|
+
<InjectionZone area="contentManager.editView.right-links" slug={slug} />
|
|
312
313
|
{slug !== 'strapi::administrator' && (
|
|
313
314
|
<CheckPermissions permissions={ctbPermissions}>
|
|
314
315
|
<LinkButton
|
|
@@ -343,7 +344,7 @@ const EditView = ({
|
|
|
343
344
|
})}
|
|
344
345
|
</LinkButton>
|
|
345
346
|
</CheckPermissions>
|
|
346
|
-
|
|
347
|
+
|
|
347
348
|
{allowedActions.canDelete && (
|
|
348
349
|
<DeleteLink
|
|
349
350
|
isCreatingEntry={isCreatingEntry}
|
|
@@ -27,6 +27,7 @@ const MarketplacePage = lazy(() =>
|
|
|
27
27
|
import(/* webpackChunkName: "Admin_marketplace" */ '../MarketplacePage')
|
|
28
28
|
);
|
|
29
29
|
const NotFoundPage = lazy(() => import('../NotFoundPage'));
|
|
30
|
+
const InternalErrorPage = lazy(() => import('../InternalErrorPage'));
|
|
30
31
|
|
|
31
32
|
const ProfilePage = lazy(() =>
|
|
32
33
|
import(/* webpackChunkName: "Admin_profilePage" */ '../ProfilePage')
|
|
@@ -87,6 +88,7 @@ const Admin = () => {
|
|
|
87
88
|
<InstalledPluginsPage />
|
|
88
89
|
</Route>
|
|
89
90
|
<Route path="/404" component={NotFoundPage} />
|
|
91
|
+
<Route path="/500" component={InternalErrorPage} />
|
|
90
92
|
<Route path="" component={NotFoundPage} />
|
|
91
93
|
</Switch>
|
|
92
94
|
</Suspense>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InternalErrorPage
|
|
3
|
+
*
|
|
4
|
+
* This is the page we show when the user gets a 500 error
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { useFocusWhenNavigate } from '@strapi/helper-plugin';
|
|
9
|
+
import { Main } from '@strapi/design-system/Main';
|
|
10
|
+
import { LinkButton } from '@strapi/design-system/LinkButton';
|
|
11
|
+
import { ContentLayout, HeaderLayout } from '@strapi/design-system/Layout';
|
|
12
|
+
import { EmptyStateLayout } from '@strapi/design-system/EmptyStateLayout';
|
|
13
|
+
import EmptyPictures from '@strapi/icons/EmptyPictures';
|
|
14
|
+
import ArrowRight from '@strapi/icons/ArrowRight';
|
|
15
|
+
import { useIntl } from 'react-intl';
|
|
16
|
+
|
|
17
|
+
const InternalErrorPage = () => {
|
|
18
|
+
const { formatMessage } = useIntl();
|
|
19
|
+
useFocusWhenNavigate();
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Main labelledBy="title">
|
|
23
|
+
<HeaderLayout
|
|
24
|
+
id="title"
|
|
25
|
+
title={formatMessage({
|
|
26
|
+
id: 'content-manager.pageNotFound',
|
|
27
|
+
defaultMessage: 'Page not found',
|
|
28
|
+
})}
|
|
29
|
+
/>
|
|
30
|
+
<ContentLayout>
|
|
31
|
+
<EmptyStateLayout
|
|
32
|
+
action={
|
|
33
|
+
<LinkButton variant="secondary" endIcon={<ArrowRight />} to="/">
|
|
34
|
+
{formatMessage({
|
|
35
|
+
id: 'app.components.NotFoundPage.back',
|
|
36
|
+
defaultMessage: 'Back to homepage',
|
|
37
|
+
})}
|
|
38
|
+
</LinkButton>
|
|
39
|
+
}
|
|
40
|
+
content={formatMessage({
|
|
41
|
+
id: 'notification.error',
|
|
42
|
+
defaultMessage: 'An error occured',
|
|
43
|
+
})}
|
|
44
|
+
hasRadius
|
|
45
|
+
icon={<EmptyPictures width="10rem" />}
|
|
46
|
+
shadow="tableShadow"
|
|
47
|
+
/>
|
|
48
|
+
</ContentLayout>
|
|
49
|
+
</Main>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default InternalErrorPage;
|
|
@@ -10,6 +10,7 @@ import { Stack } from '@strapi/design-system/Stack';
|
|
|
10
10
|
import { LinkButton } from '@strapi/design-system/LinkButton';
|
|
11
11
|
import { Main } from '@strapi/design-system/Main';
|
|
12
12
|
import { Typography } from '@strapi/design-system/Typography';
|
|
13
|
+
import ExternalLink from '@strapi/icons/ExternalLink';
|
|
13
14
|
import adminPermissions from '../../permissions';
|
|
14
15
|
import MarketplacePicture from './assets/marketplace-coming-soon.png';
|
|
15
16
|
|
|
@@ -79,31 +80,30 @@ const MarketPlacePage = () => {
|
|
|
79
80
|
</Typography>
|
|
80
81
|
<Typography variant="alpha" textColor="primary700">
|
|
81
82
|
{formatMessage({
|
|
82
|
-
id: 'admin.pages.MarketPlacePage.
|
|
83
|
-
defaultMessage: '
|
|
83
|
+
id: 'admin.pages.MarketPlacePage.published',
|
|
84
|
+
defaultMessage: 'Finally here.',
|
|
84
85
|
})}
|
|
85
86
|
</Typography>
|
|
86
|
-
<Flex maxWidth={pxToRem(
|
|
87
|
+
<Flex maxWidth={pxToRem(620)} paddingTop={3}>
|
|
87
88
|
<CenterTypography variant="epsilon" textColor="neutral600">
|
|
88
89
|
{formatMessage({
|
|
89
|
-
id: 'admin.pages.MarketPlacePage.content.subtitle',
|
|
90
|
+
id: 'admin.pages.MarketPlacePage.content.subtitle.published',
|
|
90
91
|
defaultMessage:
|
|
91
|
-
'The
|
|
92
|
+
'The web marketplace helps you get the most of Strapi. In addition, we are working hard to offer the best experience to discover and install plugins, directly from the app.',
|
|
92
93
|
})}
|
|
93
94
|
</CenterTypography>
|
|
94
95
|
</Flex>
|
|
95
96
|
<Stack paddingTop={6} horizontal size={2}>
|
|
96
|
-
|
|
97
|
-
{/* <LinkButton href="https://strapi.io/" size="L" variant="secondary">
|
|
97
|
+
<LinkButton href="https://market.strapi.io" size="L" variant="primary" endIcon={<ExternalLink />}>
|
|
98
98
|
{formatMessage({
|
|
99
|
-
id: 'admin.pages.MarketPlacePage.submit.
|
|
100
|
-
defaultMessage: '
|
|
99
|
+
id: 'admin.pages.MarketPlacePage.submit.market.link',
|
|
100
|
+
defaultMessage: 'Visit the web marketplace',
|
|
101
101
|
})}
|
|
102
|
-
</LinkButton>
|
|
103
|
-
<LinkButton href="https://strapi.io/
|
|
102
|
+
</LinkButton>
|
|
103
|
+
<LinkButton href="https://market.strapi.io/submit-plugin" size="L" variant="secondary">
|
|
104
104
|
{formatMessage({
|
|
105
|
-
id: 'admin.pages.MarketPlacePage.
|
|
106
|
-
defaultMessage: '
|
|
105
|
+
id: 'admin.pages.MarketPlacePage.submit.plugin.link',
|
|
106
|
+
defaultMessage: 'Submit your plugin',
|
|
107
107
|
})}
|
|
108
108
|
</LinkButton>
|
|
109
109
|
</Stack>
|
|
@@ -4,7 +4,50 @@
|
|
|
4
4
|
* This is the page we show when the user visits a url that doesn't have a route
|
|
5
5
|
*
|
|
6
6
|
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { useFocusWhenNavigate } from '@strapi/helper-plugin';
|
|
9
|
+
import { Main } from '@strapi/design-system/Main';
|
|
10
|
+
import { LinkButton } from '@strapi/design-system/LinkButton';
|
|
11
|
+
import { ContentLayout, HeaderLayout } from '@strapi/design-system/Layout';
|
|
12
|
+
import { EmptyStateLayout } from '@strapi/design-system/EmptyStateLayout';
|
|
13
|
+
import EmptyPictures from '@strapi/icons/EmptyPictures';
|
|
14
|
+
import ArrowRight from '@strapi/icons/ArrowRight';
|
|
15
|
+
import { useIntl } from 'react-intl';
|
|
7
16
|
|
|
8
|
-
const
|
|
17
|
+
const NoContentType = () => {
|
|
18
|
+
const { formatMessage } = useIntl();
|
|
19
|
+
useFocusWhenNavigate();
|
|
9
20
|
|
|
10
|
-
|
|
21
|
+
return (
|
|
22
|
+
<Main labelledBy="title">
|
|
23
|
+
<HeaderLayout
|
|
24
|
+
id="title"
|
|
25
|
+
title={formatMessage({
|
|
26
|
+
id: 'content-manager.pageNotFound',
|
|
27
|
+
defaultMessage: 'Page not found',
|
|
28
|
+
})}
|
|
29
|
+
/>
|
|
30
|
+
<ContentLayout>
|
|
31
|
+
<EmptyStateLayout
|
|
32
|
+
action={
|
|
33
|
+
<LinkButton variant="secondary" endIcon={<ArrowRight />} to="/">
|
|
34
|
+
{formatMessage({
|
|
35
|
+
id: 'app.components.NotFoundPage.back',
|
|
36
|
+
defaultMessage: 'Back to homepage',
|
|
37
|
+
})}
|
|
38
|
+
</LinkButton>
|
|
39
|
+
}
|
|
40
|
+
content={formatMessage({
|
|
41
|
+
id: 'app.page.not.found',
|
|
42
|
+
defaultMessage: "Oops! We can't seem to find the page you're looging for...",
|
|
43
|
+
})}
|
|
44
|
+
hasRadius
|
|
45
|
+
icon={<EmptyPictures width="10rem" />}
|
|
46
|
+
shadow="tableShadow"
|
|
47
|
+
/>
|
|
48
|
+
</ContentLayout>
|
|
49
|
+
</Main>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default NoContentType;
|
|
@@ -63,7 +63,7 @@ const EventInput = ({ isDraftAndPublish }) => {
|
|
|
63
63
|
: displayedData.events.default;
|
|
64
64
|
|
|
65
65
|
const { formatMessage } = useIntl();
|
|
66
|
-
const { values,
|
|
66
|
+
const { values, handleChange: onChange } = useFormikContext();
|
|
67
67
|
|
|
68
68
|
const inputName = 'events';
|
|
69
69
|
const inputValue = values.events;
|
|
@@ -100,7 +100,7 @@ const EventInput = ({ isDraftAndPublish }) => {
|
|
|
100
100
|
|
|
101
101
|
return (
|
|
102
102
|
<Stack size={1}>
|
|
103
|
-
<FieldLabel
|
|
103
|
+
<FieldLabel>
|
|
104
104
|
{formatMessage({
|
|
105
105
|
id: 'Settings.webhooks.form.events',
|
|
106
106
|
defaultMessage: 'Events',
|
|
@@ -154,14 +154,6 @@ const EventInput = ({ isDraftAndPublish }) => {
|
|
|
154
154
|
})}
|
|
155
155
|
</tbody>
|
|
156
156
|
</StyledTable>
|
|
157
|
-
{errors.events && (
|
|
158
|
-
<Typography variant="pi" textColor="danger600" data-strapi-field-error>
|
|
159
|
-
{formatMessage({
|
|
160
|
-
id: 'components.Input.error.validation.required',
|
|
161
|
-
defaultMessage: 'This value is required',
|
|
162
|
-
})}
|
|
163
|
-
</Typography>
|
|
164
|
-
)}
|
|
165
157
|
</Stack>
|
|
166
158
|
);
|
|
167
159
|
};
|