import React, { ButtonHTMLAttributes, FC, ReactNode } from 'react';
import {
Icon24Send,
Icon28AddCircleOutline,
Icon28AttachOutline,
Icon28CheckCircleOutline,
Icon48WritebarDone,
Icon48WritebarSend,
} from '@vkontakte/icons';
import { usePlatform } from '../../hooks/usePlatform';
import { classNames } from '../../lib/classNames';
import { getClassName } from '../../helpers/getClassName';
import { IOS } from '../../lib/platform';
import Caption from '../Typography/Caption/Caption';
export interface WriteBarIconProps extends ButtonHTMLAttributes {
/**
* Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.
* Если передать валидное значение для этого свойства, `children` игнорируется.
*
* - `attach` – иконка прикрепления.
* - `send` – иконка отправки.
* - `done` – иконка отправки в режиме редактирования.
*/
mode?: 'attach' | 'send' | 'done';
/**
* Значение счётчика для кнопки. Например, для количества прикреплённых файлов.
*/
count?: number;
}
export const WriteBarIcon: FC = (props) => {
const platform = usePlatform();
const {
mode,
className,
children,
count,
...restProps
} = props;
let childrenResolved: ReactNode;
switch (mode) {
case 'attach':
childrenResolved = platform === IOS ? : ;
break;
case 'send':
childrenResolved = platform === IOS ? : ;
break;
case 'done':
childrenResolved = platform === IOS ? : ;
break;
default:
childrenResolved = children;
}
return (
:
null
}
);
};