diff --git a/packages/core/content-manager/admin/src/pages/App/index.js b/packages/core/content-manager/admin/src/pages/App/index.js index ddb7fd48a2..a9cc0dc013 100644 --- a/packages/core/content-manager/admin/src/pages/App/index.js +++ b/packages/core/content-manager/admin/src/pages/App/index.js @@ -9,6 +9,7 @@ import DragLayer from '../../components/DragLayer'; import ModelsContext from '../../contexts/ModelsContext'; import CollectionTypeRecursivePath from '../CollectionTypeRecursivePath'; import ComponentSettingsView from '../ComponentSetttingsView'; +import NoContentType from '../NoContentType'; import SingleTypeRecursivePath from '../SingleTypeRecursivePath'; import LeftMenu from './LeftMenu'; import useModels from './useModels'; @@ -75,10 +76,9 @@ const App = () => { path={`/plugins/${pluginId}/403`} render={() =>
TBD No rights to see the content types
} /> -
TBD No ct
} - /> + + + diff --git a/packages/core/content-manager/admin/src/pages/App/tests/index.test.js b/packages/core/content-manager/admin/src/pages/App/tests/index.test.js index de788c516b..34e8c33415 100644 --- a/packages/core/content-manager/admin/src/pages/App/tests/index.test.js +++ b/packages/core/content-manager/admin/src/pages/App/tests/index.test.js @@ -24,6 +24,8 @@ jest.mock('@fortawesome/react-fontawesome', () => ({ FontAwesomeIcon: () => null, })); +jest.mock('../../NoContentType', () => () =>
NoContentType
); + describe('Content manager | App | main', () => { beforeEach(() => { jest.resetModules(); // Most important - it clears the cache diff --git a/packages/core/content-manager/admin/src/pages/NoContentType/index.js b/packages/core/content-manager/admin/src/pages/NoContentType/index.js new file mode 100644 index 0000000000..bbc68ffa46 --- /dev/null +++ b/packages/core/content-manager/admin/src/pages/NoContentType/index.js @@ -0,0 +1,69 @@ +import React from 'react'; +import { Button, Padded, Text } from '@buffetjs/core'; +import { useHistory } from 'react-router'; +import { BaselineAlignment, CheckPermissions } from '@strapi/helper-plugin'; +import { useIntl } from 'react-intl'; +import styled from 'styled-components'; +import { getTrad } from '../../utils'; +import Container from '../../components/Container'; +// TODO change pic when DS ready +import Oops from './oops.png'; + +const Block = styled.div` + padding: 48px 10px 50px 10px; + background: #ffffff; + border-radius: 2px; + box-shadow: 0 2px 4px #e3e9f3; + margin-bottom: 17px; + text-align: center; +`; + +const Img = styled.img` + max-height: 77px; +`; + +const NoContentType = () => { + const { formatMessage } = useIntl(); + const { push } = useHistory(); + + const handleClick = () => { + // TODO change url when CTB ready + push( + '/plugins/content-type-builder/content-types/plugins::users-permissions.user?modalType=contentType&kind=collectionType&actionType=create&settingType=base&forTarget=contentType&headerId=content-type-builder.modalForm.contentType.header-create&header_icon_isCustom_1=false&header_icon_name_1=contentType&header_label_1=null' + ); + }; + + return ( + + + +
+ + + + {formatMessage({ + id: getTrad('pages.NoContentType.text'), + defaultMessage: + "You don't have any content yet, we recommend you to create your first Content-Type.", + })} + + + + + + + +
+
+
+ ); +}; + +export default NoContentType; diff --git a/packages/core/content-manager/admin/src/pages/NoContentType/oops.png b/packages/core/content-manager/admin/src/pages/NoContentType/oops.png new file mode 100644 index 0000000000..b469309255 Binary files /dev/null and b/packages/core/content-manager/admin/src/pages/NoContentType/oops.png differ diff --git a/packages/core/content-manager/admin/src/translations/en.json b/packages/core/content-manager/admin/src/translations/en.json index 5e20a0e2be..358b260960 100644 --- a/packages/core/content-manager/admin/src/translations/en.json +++ b/packages/core/content-manager/admin/src/translations/en.json @@ -159,6 +159,8 @@ "notification.info.minimumFields": "You need to have at least one field displayed", "notification.upload.error": "An error has occurred while uploading your files", "pageNotFound": "Page not found", + "pages.NoContentType.text": "You don't have any content yet, we recommend you to create your first Content-Type.", + "pages.NoContentType.button": "Create your first Content-Type", "permissions.not-allowed.create": "You are not allowed to create a document", "permissions.not-allowed.update": "You are not allowed to see this document", "plugin.description.long": "Quick way to see, edit and delete the data in your database.",