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

63 lines
1.7 KiB
JavaScript
Raw Normal View History

2021-10-14 14:37:00 +02:00
import { prefixPluginTranslations } from '@strapi/helper-plugin';
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';
import pluginIcon from './components/PluginIcon';
import pluginPermissions from './permissions';
2021-10-14 14:37:00 +02:00
// import getTrad from './helpers/getTrad';
2021-03-19 19:04:22 +01:00
2021-10-14 14:37:00 +02:00
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
const { name } = pluginPkg.strapi;
2021-03-20 00:54:18 +01:00
2021-10-14 14:37:00 +02:00
export default {
register(app) {
app.registerPlugin({
description: pluginDescription,
id: pluginId,
isReady: true,
isRequired: pluginPkg.strapi.required || false,
name,
});
2021-03-20 00:54:18 +01:00
2021-10-14 14:37:00 +02:00
app.addMenuLink({
to: `/plugins/${pluginId}`,
icon: pluginIcon,
2021-10-14 14:37:00 +02:00
intlLabel: {
id: `${pluginId}.plugin.name`,
defaultMessage: 'Config Sync',
},
Component: async () => {
const component = await import(
/* webpackChunkName: "config-sync-settings-page" */ './containers/App'
);
2021-03-19 19:04:22 +01:00
2021-10-14 14:37:00 +02:00
return component;
},
permissions: pluginPermissions['menu-link'],
2021-10-14 14:37:00 +02:00
});
},
bootstrap(app) {},
async registerTrads({ locales }) {
const importedTrads = await Promise.all(
locales.map((locale) => {
return import(
/* webpackChunkName: "config-sync-translation-[request]" */ `./translations/${locale}.json`
)
.then(({ default: data }) => {
return {
data: prefixPluginTranslations(data, pluginId),
locale,
};
})
.catch(() => {
return {
data: {},
locale,
};
});
2021-12-08 16:05:45 +01:00
}),
2021-10-14 14:37:00 +02:00
);
2021-03-19 19:04:22 +01:00
2021-10-14 14:37:00 +02:00
return Promise.resolve(importedTrads);
},
2021-03-19 19:04:22 +01:00
};