blob: 72a653c56091294f4a5e8d34fc15aa4894a613eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import React, { useState } from "react";
import { HeaderButton } from ".";
interface HeaderButtonWithTextProps {
text: string;
onClick?: (e: any) => void;
children: React.ReactNode;
disabled?: boolean;
inverted?: boolean;
active?: boolean;
}
const HeaderButtonWithText = (props: HeaderButtonWithTextProps) => {
const [hover, setHover] = useState(false);
const paddingLeft = (props.disabled ? (props.active ? "3px" : "1px"): (hover ? "4px" : "1px"));
return (
<HeaderButton
inverted={props.inverted}
disabled={props.disabled}
style={{ padding: (props.active ? "3px" : "1px"), paddingLeft, borderRadius: (props.active ? "50%" : undefined) }}
onMouseEnter={() => {
if (!props.disabled) {
setHover(true);
}
}}
onMouseLeave={() => {
setHover(false);
}}
onClick={props.onClick}
>
<span hidden={!hover}>{props.text}</span>
{props.children}
</HeaderButton>
);
};
export default HeaderButtonWithText;
|