feat: Empty states in admin
parent
3be97749f9
commit
ccef257c32
|
@ -6,6 +6,7 @@ import { TableLabel } from '@strapi/design-system/Text';
|
||||||
|
|
||||||
import ConfigDiff from '../ConfigDiff';
|
import ConfigDiff from '../ConfigDiff';
|
||||||
import FirstExport from '../FirstExport';
|
import FirstExport from '../FirstExport';
|
||||||
|
import NoChanges from '../NoChanges';
|
||||||
import ConfigListRow from './ConfigListRow';
|
import ConfigListRow from './ConfigListRow';
|
||||||
|
|
||||||
const ConfigList = ({ diff, isLoading }) => {
|
const ConfigList = ({ diff, isLoading }) => {
|
||||||
|
@ -72,6 +73,10 @@ const ConfigList = ({ diff, isLoading }) => {
|
||||||
return <FirstExport />;
|
return <FirstExport />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isLoading && isEmpty(diff.diff)) {
|
||||||
|
return <NoChanges />;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<ConfigDiff
|
<ConfigDiff
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
|
import { NoContent } from '@strapi/helper-plugin';
|
||||||
import { Button } from '@strapi/design-system/Button';
|
import { Button } from '@strapi/design-system/Button';
|
||||||
|
|
||||||
import { exportAllConfig } from '../../state/actions/Config';
|
import { exportAllConfig } from '../../state/actions/Config';
|
||||||
|
@ -11,27 +11,21 @@ const FirstExport = () => {
|
||||||
const [modalIsOpen, setModalIsOpen] = useState(false);
|
const [modalIsOpen, setModalIsOpen] = useState(false);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{
|
<div>
|
||||||
display: 'flex',
|
|
||||||
alignItems: 'center',
|
|
||||||
justifyContent: 'center',
|
|
||||||
flexDirection: 'column',
|
|
||||||
textAlign: 'center',
|
|
||||||
height: '300px',
|
|
||||||
}}>
|
|
||||||
<ConfirmModal
|
<ConfirmModal
|
||||||
isOpen={modalIsOpen}
|
isOpen={modalIsOpen}
|
||||||
onClose={() => setModalIsOpen(false)}
|
onClose={() => setModalIsOpen(false)}
|
||||||
type="export"
|
type="export"
|
||||||
onSubmit={() => dispatch(exportAllConfig())}
|
onSubmit={() => dispatch(exportAllConfig())}
|
||||||
/>
|
/>
|
||||||
<h3>Looks like this is your first time using config-sync for this project.</h3>
|
<NoContent
|
||||||
<p>Make the initial export!</p>
|
content={{
|
||||||
<Button
|
id: 'emptyState',
|
||||||
onClick={() => setModalIsOpen(true)}
|
defaultMessage:
|
||||||
>
|
'Looks like this is your first time using config-sync for this project.',
|
||||||
Initial export
|
}}
|
||||||
</Button>
|
action={<Button onClick={() => setModalIsOpen(true)}>Make the initial export</Button>}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { NoContent } from '@strapi/helper-plugin';
|
||||||
|
|
||||||
|
const NoChanges = () => (
|
||||||
|
<NoContent
|
||||||
|
content={{
|
||||||
|
id: 'emptyState',
|
||||||
|
defaultMessage:
|
||||||
|
'No differences between DB and sync directory. You are up-to-date!',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default NoChanges;
|
Loading…
Reference in New Issue