import React from 'react'; import classNames from 'classnames'; import { SessionButton } from './SessionButton'; import { SessionIcon, SessionIconSize, SessionIconType } from './icon'; import { inversedTheme } from '../../state/ducks/SessionTheme'; import { DefaultTheme } from 'styled-components'; const Tab = ({ isSelected, label, onSelect, type, }: { isSelected: boolean; label: string; onSelect?: (event: number) => void; type: number; }) => { const handleClick = onSelect ? () => { onSelect(type); } : undefined; return (

{label}

); }; interface Props { onTabSelected: any; selectedTab: number; labels: Array; buttonLabel?: string; buttonIcon?: SessionIconType; buttonClicked?: any; theme: DefaultTheme; } interface State { selectedTab: number; } export class LeftPaneSectionHeader extends React.Component { constructor(props: any) { super(props); this.state = { selectedTab: 0 }; } public render() { const { selectedTab } = this.state; const { labels, buttonLabel, buttonIcon, buttonClicked } = this.props; const hasButton = buttonLabel || buttonIcon; const children = []; //loop to create children for (let i = 0; i < labels.length; i++) { children.push( ); } if (hasButton) { const buttonContent = buttonIcon ? ( ) : ( buttonLabel ); const button = ( {buttonContent} ); children.push(button); } // Create the parent and add the children return
{children}
; } private readonly handleTabSelect = (tabType: number): void => { this.setState({ selectedTab: tabType, }); if (this.props.onTabSelected) { this.props.onTabSelected(tabType); } }; }