diff --git a/admin/src/components/ActionButtons/index.js b/admin/src/components/ActionButtons/index.js
index dd1e19c..d08194c 100644
--- a/admin/src/components/ActionButtons/index.js
+++ b/admin/src/components/ActionButtons/index.js
@@ -41,6 +41,8 @@ const ActionButtons = ({ diff }) => {
const ActionButtonsStyling = styled.div`
padding: 10px 0 20px 0;
+ display: flex;
+ align-items: center;
> button {
margin-right: 10px;
diff --git a/admin/src/components/ConfigList/ConfigListRow/index.js b/admin/src/components/ConfigList/ConfigListRow/index.js
index 1654126..598bd63 100644
--- a/admin/src/components/ConfigList/ConfigListRow/index.js
+++ b/admin/src/components/ConfigList/ConfigListRow/index.js
@@ -1,4 +1,5 @@
import React from 'react';
+import { Tr, Td } from '@strapi/design-system/Table';
const CustomRow = ({ row }) => {
const { configName, configType, state, onClick } = row;
@@ -32,17 +33,20 @@ const CustomRow = ({ row }) => {
};
return (
-
onClick(configType, configName)}>
-
+ |
onClick(configType, configName)}
+ style={{ cursor: 'pointer' }}
+ >
+
{configName}
- |
-
+ |
+
{configType}
- |
-
+ |
+
{state}
- |
-
+
+
);
};
diff --git a/admin/src/components/ConfirmModal/index.js b/admin/src/components/ConfirmModal/index.js
index 4082a18..8d595b4 100644
--- a/admin/src/components/ConfirmModal/index.js
+++ b/admin/src/components/ConfirmModal/index.js
@@ -1,16 +1,16 @@
import React from 'react';
+import { useIntl } from 'react-intl';
import { Dialog, DialogBody, DialogFooter } from '@strapi/design-system/Dialog';
import { Flex } from '@strapi/design-system/Flex';
import { Text } from '@strapi/design-system/Text';
import { Stack } from '@strapi/design-system/Stack';
import { Button } from '@strapi/design-system/Button';
-import DeleteIcon from '@strapi/icons/Delete';
import AlertWarningIcon from '@strapi/icons/AlertWarningIcon';
-import getTrad from '../../helpers/getTrad';
-
const ConfirmModal = ({ isOpen, onClose, onSubmit, type }) => {
+ const { formatMessage } = useIntl();
+
if (!isOpen) return null;
return (
@@ -22,7 +22,10 @@ const ConfirmModal = ({ isOpen, onClose, onSubmit, type }) => {
}>
- {getTrad(`popUpWarning.warning.${type}`)}
+
+ {formatMessage({ id: `config-sync.popUpWarning.warning.${type}_1` })}
+ {formatMessage({ id: `config-sync.popUpWarning.warning.${type}_2` })}
+
@@ -31,16 +34,21 @@ const ConfirmModal = ({ isOpen, onClose, onSubmit, type }) => {
)}
endAction={(
- }>
- {getTrad(`popUpWarning.button.${type}`)}
+
)} />
diff --git a/admin/src/containers/App/index.js b/admin/src/containers/App/index.js
index 26778c7..a8c2fba 100644
--- a/admin/src/containers/App/index.js
+++ b/admin/src/containers/App/index.js
@@ -7,17 +7,19 @@
import React from 'react';
import { Provider } from 'react-redux';
-import { CheckPagePermissions } from '@strapi/helper-plugin';
+import { CheckPagePermissions, useNotification } from '@strapi/helper-plugin';
import pluginPermissions from '../../permissions';
import Header from '../../components/Header';
-import { store } from "../../helpers/configureStore";
+import store from "../../helpers/configureStore";
import ConfigPage from '../ConfigPage';
const App = () => {
+ const toggleNotification = useNotification();
+
return (
-
+
diff --git a/admin/src/containers/ConfigPage/index.js b/admin/src/containers/ConfigPage/index.js
index cc933aa..ea7067a 100644
--- a/admin/src/containers/ConfigPage/index.js
+++ b/admin/src/containers/ConfigPage/index.js
@@ -1,6 +1,7 @@
import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Map } from 'immutable';
+import { Box } from '@strapi/design-system/Box';
import { getAllConfigDiff } from '../../state/actions/Config';
import ConfigList from '../../components/ConfigList';
@@ -16,10 +17,10 @@ const ConfigPage = () => {
}, []);
return (
-
+
);
};
diff --git a/admin/src/helpers/configureStore.js b/admin/src/helpers/configureStore.js
index 7c250cf..371f547 100755
--- a/admin/src/helpers/configureStore.js
+++ b/admin/src/helpers/configureStore.js
@@ -5,12 +5,12 @@ import { Map } from 'immutable';
import rootReducer from '../state/reducers';
import { __DEBUG__ } from '../config/constants';
-const configureStore = () => {
+const configureStore = (toggleNotification) => {
const initialStoreState = Map();
const enhancers = [];
const middlewares = [
- thunkMiddleware,
+ thunkMiddleware.withExtraArgument(toggleNotification),
];
let devtools;
@@ -43,5 +43,3 @@ const configureStore = () => {
};
export default configureStore;
-
-export const store = configureStore();
diff --git a/admin/src/state/actions/Config.js b/admin/src/state/actions/Config.js
index e6f26ca..23a29f4 100644
--- a/admin/src/state/actions/Config.js
+++ b/admin/src/state/actions/Config.js
@@ -8,14 +8,14 @@ import { request } from '@strapi/helper-plugin';
import { Map } from 'immutable';
export function getAllConfigDiff() {
- return async function(dispatch) {
+ return async function(dispatch, getState, toggleNotification) {
dispatch(setLoadingState(true));
try {
const configDiff = await request('/config-sync/diff', { method: 'GET' });
dispatch(setConfigDiffInState(configDiff));
dispatch(setLoadingState(false));
} catch (err) {
- strapi.notification.error('notification.error');
+ toggleNotification({ type: 'warning', message: { id: 'notification.error' } });
dispatch(setLoadingState(false));
}
};
@@ -30,32 +30,32 @@ export function setConfigDiffInState(config) {
}
export function exportAllConfig() {
- return async function(dispatch) {
+ return async function(dispatch, getState, toggleNotification) {
dispatch(setLoadingState(true));
try {
const { message } = await request('/config-sync/export', { method: 'GET' });
dispatch(setConfigDiffInState(Map({})));
- strapi.notification.success(message);
+ toggleNotification({ type: 'success', message });
dispatch(setLoadingState(false));
} catch (err) {
- strapi.notification.error('notification.error');
+ toggleNotification({ type: 'warning', message: { id: 'notification.error' } });
dispatch(setLoadingState(false));
}
};
}
export function importAllConfig() {
- return async function(dispatch) {
+ return async function(dispatch, getState, toggleNotification) {
dispatch(setLoadingState(true));
try {
const { message } = await request('/config-sync/import', { method: 'GET' });
dispatch(setConfigDiffInState(Map({})));
- strapi.notification.success(message);
+ toggleNotification({ type: 'success', message });
dispatch(setLoadingState(false));
} catch (err) {
- strapi.notification.error('notification.error');
+ toggleNotification({ type: 'warning', message: { id: 'notification.error' } });
dispatch(setLoadingState(false));
}
};
diff --git a/admin/src/translations/en.json b/admin/src/translations/en.json
index 6a2150d..6e4d977 100644
--- a/admin/src/translations/en.json
+++ b/admin/src/translations/en.json
@@ -1,11 +1,14 @@
{
- "popUpWarning.warning.import": "If you continue all your local config files
will be imported into the database.",
- "popUpWarning.warning.export": "If you continue all your database config
will be written into config files.",
+ "popUpWarning.warning.import_1": "If you continue all your local config files",
+ "popUpWarning.warning.import_2": "will be imported into the database.",
+ "popUpWarning.warning.export_1": "If you continue all your database config",
+ "popUpWarning.warning.export_2": "will be written into config files.",
"popUpWarning.button.import": "Yes, import",
"popUpWarning.button.export": "Yes, export",
+ "popUpWarning.button.cancel": "Cancel",
"Header.Title": "Config Sync",
"Header.Description": "Manage your database config across environments.",
"plugin.name": "Config Sync"
-}
\ No newline at end of file
+}