// NOTE TO PLUGINS DEVELOPERS:
// If you modify this file by adding new options to the plugin entry point
// Here's the file: strapi/docs/3.0.0-beta.x/plugin-development/frontend-field-api.md
// Here's the file: strapi/docs/3.0.0-beta.x/guides/registering-a-field-in-admin.md
// Also the strapi-generate-plugins/files/admin/src/index.js needs to be updated
// IF THE DOC IS NOT UPDATED THE PULL REQUEST WILL NOT BE MERGED
import React from 'react';
import { CheckPagePermissions } from 'strapi-helper-plugin';
import pluginPkg from '../../package.json';
import pluginLogo from './assets/images/logo.svg';
import pluginPermissions from './permissions';
import layout from '../../config/layout';
import pluginId from './pluginId';
import trads from './translations';
import RolesPage from './containers/Roles';
import ProvidersPage from './containers/Providers';
import EmailTemplatesPage from './containers/EmailTemplates';
import AdvancedSettingsPage from './containers/AdvancedSettings';
import getTrad from './utils/getTrad';
export default strapi => {
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
const icon = pluginPkg.strapi.icon;
const name = pluginPkg.strapi.name;
const plugin = {
blockerComponent: null,
blockerComponentProps: {},
description: pluginDescription,
icon,
id: pluginId,
initializer: null,
isReady: true,
injectedComponents: [],
isRequired: pluginPkg.strapi.required || false,
layout,
mainComponent: null,
name,
pluginLogo,
preventComponentRendering: false,
trads,
settings: {
menuSection: {
id: pluginId,
title: getTrad('Settings.section-label'),
links: [
{
title: {
id: getTrad('HeaderNav.link.roles'),
defaultMessage: 'Roles',
},
name: 'roles',
to: `${strapi.settingsBaseURL}/${pluginId}/roles`,
Component: () => (
),
permissions: pluginPermissions.accessRoles,
},
{
title: {
id: getTrad('HeaderNav.link.providers'),
defaultMessage: 'Providers',
},
name: 'providers',
to: `${strapi.settingsBaseURL}/${pluginId}/providers`,
Component: () => (
),
permissions: pluginPermissions.readProviders,
},
{
title: {
id: getTrad('HeaderNav.link.email-templates'),
defaultMessage: 'Email templates',
},
name: 'email-templates',
to: `${strapi.settingsBaseURL}/${pluginId}/email-templates`,
Component: () => (
),
permissions: pluginPermissions.readEmailTemplates,
},
{
title: {
id: getTrad('HeaderNav.link.advanced-settings'),
defaultMessage: 'Advanced Settings',
},
name: 'advanced-settings',
to: `${strapi.settingsBaseURL}/${pluginId}/advanced-settings`,
Component: () => (
),
permissions: pluginPermissions.readAdvancedSettings,
},
],
},
},
};
return strapi.registerPlugin(plugin);
};