Skip to content

Commit 6eb6a2d

Browse files
committed
Component for initial config export
1 parent cce963e commit 6eb6a2d

File tree

3 files changed

+41
-3
lines changed

3 files changed

+41
-3
lines changed

admin/src/components/ActionButtons/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ const ActionButtons = ({ diff }) => {
2323

2424
return (
2525
<ActionButtonsStyling>
26-
<Button disabled={isEmpty(diff.diff)} color="primary" label="Import" onClick={() => openModal('import')} />
27-
<Button disabled={isEmpty(diff.diff)} color="primary" label="Export" onClick={() => openModal('export')} />
26+
<Button disabled={isEmpty(diff.fileConfig)} color="primary" label="Import" onClick={() => openModal('import')} />
27+
<Button disabled={isEmpty(diff.fileConfig)} color="primary" label="Export" onClick={() => openModal('export')} />
2828
<ConfirmModal
2929
isOpen={modalIsOpen}
3030
onClose={closeModal}

admin/src/components/ConfigList/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
22
import { Table } from '@buffetjs/core';
33
import { isEmpty } from 'lodash';
44
import ConfigDiff from '../ConfigDiff';
5+
import FirstExport from '../FirstExport';
56

67
const headers = [
78
{
@@ -26,7 +27,7 @@ const ConfigList = ({ diff, isLoading }) => {
2627
const [rows, setRows] = useState([]);
2728

2829
useEffect(() => {
29-
if (isEmpty(diff)) {
30+
if (isEmpty(diff.diff)) {
3031
setRows([]);
3132
return;
3233
}
@@ -53,6 +54,10 @@ const ConfigList = ({ diff, isLoading }) => {
5354
setOpenModal(false);
5455
};
5556

57+
if (!isLoading && !isEmpty(diff.message)) {
58+
return <FirstExport />
59+
}
60+
5661
return (
5762
<div>
5863
<ConfigDiff
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import React, { useState } from 'react';
2+
import { useDispatch } from 'react-redux';
3+
import { Button } from '@buffetjs/core';
4+
import { exportAllConfig } from '../../state/actions/Config';
5+
import ConfirmModal from '../ConfirmModal';
6+
7+
const FirstExport = () => {
8+
const dispatch = useDispatch();
9+
const [modalIsOpen, setModalIsOpen] = useState(false);
10+
11+
return (
12+
<div style={{
13+
display: 'flex',
14+
alignItems: 'center',
15+
justifyContent: 'center',
16+
flexDirection: 'column',
17+
textAlign: 'center',
18+
height: '300px',
19+
}}>
20+
<ConfirmModal
21+
isOpen={modalIsOpen}
22+
onClose={() => setModalIsOpen(false)}
23+
type={'export'}
24+
onSubmit={() => dispatch(exportAllConfig())}
25+
/>
26+
<h3>Looks like this is your first time using config-sync for this project.</h3>
27+
<p>Make the initial export!</p>
28+
<Button color="primary" onClick={() => setModalIsOpen(true)}>Initial export</Button>
29+
</div>
30+
);
31+
}
32+
33+
export default FirstExport;

0 commit comments

Comments
 (0)