chore: extract ToolbarButton component

This commit is contained in:
Felix Spöttel
2022-03-22 21:21:38 +01:00
parent b4842fb4ca
commit da38cddb82
2 changed files with 18 additions and 10 deletions

View File

@@ -21,6 +21,7 @@ import {
getCategoryIdxs,
getFilterIdx,
} from "../common/utilities.js";
import { ToolbarButton } from "./controls/atoms/ToolbarButton";
class Toolbar extends React.Component {
constructor(props) {
@@ -179,20 +180,15 @@ class Toolbar extends React.Component {
}
renderToolbarTab(_selected, label, iconKey) {
const isActive = this.state._selected === _selected;
const classes = isActive ? "toolbar-tab active" : "toolbar-tab";
return (
<div
className={classes}
key={iconKey}
<ToolbarButton
label={label}
iconKey={iconKey}
isActive={this.state._selected === _selected}
onClick={() => {
this.selectTab(_selected);
}}
>
<i className="material-icons">{iconKey}</i>
<div className="tab-caption">{label}</div>
</div>
/>
);
}

View File

@@ -0,0 +1,12 @@
export function ToolbarButton({ isActive, iconKey, onClick, label }) {
return (
<div
className={isActive ? "toolbar-tab active" : "toolbar-tab"}
key={iconKey}
onClick={onClick}
>
<i className="material-icons">{iconKey}</i>
<div className="tab-caption">{label}</div>
</div>
);
}