0.3.1 • Published 1 year ago

strapi-plugin-react-icons v0.3.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

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:

# 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:

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 :)

0.3.0

1 year ago

0.3.1

1 year ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.7

2 years ago

0.1.4

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago