strapi-plugin-config-sync/admin/src/index.js

54 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-03-20 00:54:18 +01:00
import React from 'react';
2021-03-19 19:04:22 +01:00
import pluginPkg from '../../package.json';
2021-03-20 00:54:18 +01:00
import pluginId from './helpers/pluginId';
2021-03-19 19:04:22 +01:00
import App from './containers/App';
import Initializer from './containers/Initializer';
import trads from './translations';
2021-03-20 00:54:18 +01:00
function Comp(props) {
return <App {...props} />;
}
2021-03-19 19:04:22 +01:00
export default strapi => {
2021-03-20 00:54:18 +01:00
const pluginDescription =
pluginPkg.strapi.description || pluginPkg.description;
2021-03-19 19:04:22 +01:00
const icon = pluginPkg.strapi.icon;
const name = pluginPkg.strapi.name;
const plugin = {
2021-03-20 00:54:18 +01:00
icon,
name,
destination: `/plugins/${pluginId}`,
2021-03-19 19:04:22 +01:00
blockerComponent: null,
blockerComponentProps: {},
description: pluginDescription,
id: pluginId,
initializer: Initializer,
injectedComponents: [],
isReady: false,
layout: null,
2021-03-20 00:54:18 +01:00
leftMenuLinks: [],
leftMenuSections: [],
mainComponent: Comp,
name: pluginPkg.strapi.name,
2021-03-19 19:04:22 +01:00
preventComponentRendering: false,
trads,
menu: {
pluginsSectionLinks: [
{
2021-03-20 00:54:18 +01:00
destination: `/plugins/${pluginId}`, // Endpoint of the link
2021-03-19 19:04:22 +01:00
icon,
2021-03-20 00:54:18 +01:00
name,
2021-03-19 19:04:22 +01:00
label: {
2021-03-20 00:54:18 +01:00
id: `${pluginId}.plugin.name`, // Refers to a i18n
defaultMessage: 'Config Sync',
2021-03-19 19:04:22 +01:00
},
},
],
},
};
return strapi.registerPlugin(plugin);
};