ReactJS

Форк
0
/
Icon.tsx 
36 строк · 778.0 Байт
1
import React from 'react';
2
import {BlockIcon, CommentIcon, IconAnon, MenuIcon, SaveIcon, ShareIcon, WarningIcon} from "../Icons";
3

4
export interface IIconBaseProp{
5
  size: number
6
}
7
export enum EIcons{
8
  block='block',
9
  comment='comment',
10
  save='save',
11
  share='share',
12
  warning='warning',
13
  menu='menu',
14
  iconAnon='iconAnon'
15
}
16

17
const getIcon = (size: number) => ({
18
  block: <BlockIcon size={size}/>,
19
  comment: <CommentIcon size={size}/>,
20
  save: <SaveIcon size={size}/>,
21
  share: <ShareIcon size={size}/>,
22
  warning: <WarningIcon size={size}/>,
23
  menu: <MenuIcon size={size}/>,
24
  iconAnon: <IconAnon size={size}/>,
25
});
26

27
interface IIconProps {
28
  name: EIcons,
29
  size?: number
30
}
31

32
export function Icon({name, size = 14}: IIconProps) {
33
  return (
34
    getIcon(size)[name]
35
  );
36
}
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.