From 30c31260ac02b5b2a2bc9e628b270a9754488419 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Fri, 6 Dec 2019 09:16:36 +1100 Subject: [PATCH] fixlint --- ts/components/session/SessionIconButton.tsx | 70 +++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 ts/components/session/SessionIconButton.tsx diff --git a/ts/components/session/SessionIconButton.tsx b/ts/components/session/SessionIconButton.tsx new file mode 100644 index 000000000..a833bbf73 --- /dev/null +++ b/ts/components/session/SessionIconButton.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import classNames from 'classnames'; + +export enum SessionIconButtonTypes { + 'exit' = 'exit', + 'search' = 'search', + 'back' = 'back', + 'attachment' = 'attachment', + 'emoji' = 'emoji', + 'favorite' = 'favorite', + 'group' = 'group', + 'menu' = 'menu', + 'message' = 'message', + 'microphone' = 'microphone', + 'network' = 'network', + 'options' = 'options', + 'theme' = 'theme', +} + +export enum SessionIconButtonSizes { + 'small' = 'small', + 'medium' = 'medium', + 'large' = 'large', +} + +interface Props { + iconType: SessionIconButtonTypes; + iconSize: SessionIconButtonSizes; + onClick: any; +} + +export class SessionIconButton extends React.PureComponent { + constructor(props: any) { + super(props); + this.clickHandler = this.clickHandler.bind(this); + } + + public render() { + const { iconType, iconSize } = this.props; + + const iconPath = `./images/session/icon-${iconType}.svg`; + + return ( +
{ + this.clickHandler(e); + }} + > + Icon Button +
+ ); + } + + private clickHandler(e: any) { + if (this.props.onClick) { + e.stopPropagation(); + this.props.onClick(); + } + } +}