refactor(v4): plugin icon as react component

pull/25/head
Boaz Poolman 2021-10-27 16:04:58 +02:00
parent 3d6bd45a6d
commit db9745ef81
4 changed files with 19 additions and 5 deletions

View File

@ -0,0 +1,13 @@
/**
*
* PluginIcon
*
*/
import React from 'react';
import { Icon } from '@strapi/design-system/Icon';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
const PluginIcon = () => <Icon as={() => <FontAwesomeIcon icon="sync" />} width="16px" />;
export default PluginIcon;

View File

@ -1,17 +1,17 @@
import { prefixPluginTranslations } from '@strapi/helper-plugin'; import { prefixPluginTranslations } from '@strapi/helper-plugin';
import pluginPkg from '../../package.json'; import pluginPkg from '../../package.json';
import pluginId from './helpers/pluginId'; import pluginId from './helpers/pluginId';
import pluginIcon from './components/PluginIcon';
// import pluginPermissions from './permissions'; // import pluginPermissions from './permissions';
// import getTrad from './helpers/getTrad'; // import getTrad from './helpers/getTrad';
const pluginDescription = pluginPkg.strapi.description || pluginPkg.description; const pluginDescription = pluginPkg.strapi.description || pluginPkg.description;
const { icon, name } = pluginPkg.strapi; const { name } = pluginPkg.strapi;
export default { export default {
register(app) { register(app) {
app.registerPlugin({ app.registerPlugin({
description: pluginDescription, description: pluginDescription,
icon,
id: pluginId, id: pluginId,
isReady: true, isReady: true,
isRequired: pluginPkg.strapi.required || false, isRequired: pluginPkg.strapi.required || false,
@ -20,7 +20,7 @@ export default {
app.addMenuLink({ app.addMenuLink({
to: `/plugins/${pluginId}`, to: `/plugins/${pluginId}`,
icon, icon: pluginIcon,
intlLabel: { intlLabel: {
id: `${pluginId}.plugin.name`, id: `${pluginId}.plugin.name`,
defaultMessage: 'Config Sync', defaultMessage: 'Config Sync',

View File

@ -39,9 +39,10 @@
"strapi-server.js" "strapi-server.js"
], ],
"devDependencies": { "devDependencies": {
"@fortawesome/react-fontawesome": "^0.1.16",
"@strapi/design-system": "0.0.1-alpha.51",
"@strapi/helper-plugin": "4.0.0-beta.6", "@strapi/helper-plugin": "4.0.0-beta.6",
"@strapi/icons": "0.0.1-alpha.51", "@strapi/icons": "0.0.1-alpha.51",
"@strapi/design-system": "0.0.1-alpha.51",
"@strapi/utils": "4.0.0-beta.6", "@strapi/utils": "4.0.0-beta.6",
"babel-eslint": "9.0.0", "babel-eslint": "9.0.0",
"codecov": "^3.8.3", "codecov": "^3.8.3",

View File

@ -625,7 +625,7 @@
dependencies: dependencies:
"@fortawesome/fontawesome-common-types" "^0.2.36" "@fortawesome/fontawesome-common-types" "^0.2.36"
"@fortawesome/react-fontawesome@^0.1.14", "@fortawesome/react-fontawesome@^0.1.4": "@fortawesome/react-fontawesome@^0.1.14", "@fortawesome/react-fontawesome@^0.1.16", "@fortawesome/react-fontawesome@^0.1.4":
version "0.1.16" version "0.1.16"
resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.16.tgz#ce7665490214e20f929368d6b65f68884a99276a" resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.16.tgz#ce7665490214e20f929368d6b65f68884a99276a"
integrity sha512-aLmzDwC9rEOAJv2UJdMns89VZR5Ry4IHu5dQQh24Z/lWKEm44lfQr1UNalZlkUaQN8d155tNh+CS7ntntj1VMA== integrity sha512-aLmzDwC9rEOAJv2UJdMns89VZR5Ry4IHu5dQQh24Z/lWKEm44lfQr1UNalZlkUaQN8d155tNh+CS7ntntj1VMA==