Strapi plugin logo for React Icons

React Icons

A plugin for strapi to select react icons.

Strapi plugin react-icons

A plugin for strapi to select react icons.

grafik react-icons grafik

Installation

To install this plugin, you need to add an NPM dependency to your Strapi application:

# Using Yarn
yarn add strapi-plugin-react-icons

# Or using NPM
npm install strapi-plugin-react-icons

Then, you'll need to build your admin panel:

# Using Yarn
yarn build

# Or using NPM
npm run build

Strapi plugins config file

Add "react-icons": true, in you strapi plugins file.

If you do not have this file, create a file:

1
2
3
4
5
# in TypeScript: "/config/plugins.ts"
export default ({ env }) => ({ "react-icons": true, });

# in JavaScript: "/config/plugins.js"
module.exports = ({ env }) => ({ "react-icons": true, });

Usage

Usage in strapi

  • Select your prefered icon libraries on the settings page.
  • Add react-icon as custom field to your content type.
  • Press the search icon to select an icon from any of the selected icon libraries.

Usage in React / Next.js

Create the following IconComponent to dynamically show the icon:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import loadable from '@loadable/component';
import { IconType } from 'react-icons';

interface IIconComponent {
  icon: string;
  size?: number;
}
export type IReactIcon = string;

export const IconComponent: React.FC<IIconComponent> = ({ icon, size }) => {
  const lib = icon.replace(/([a-z0-9])([A-Z])/g, '$1 $2').split(' ')[0].toLowerCase();
  const DynamicIconComponent = loadable(() => import(`react-icons/${lib}/index.js`), { resolveComponent: (el) => el[icon] }) as IconType;

  return <DynamicIconComponent size={size} />;
};

Planned features

  • custom field for react-icons
  • selection modal for the custom field
  • settings page for enabling / disabling icon libraries
  • default selection for icon library
  • search in the selection modal

Contributing and developing

Feel free to post any PR or issues :)

Install now

npm install strapi-plugin-react-icons

STATS

11 GitHub stars408 weekly downloads

Last updated

74 days ago

Strapi Version

4.14.5 and above

Author

github profile image for Daniel Pantle
Daniel Pantle

Useful links

Create your own plugin

Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.