frontPanel/src/pages/startPage/SelectableIconButton.tsx

34 lines
1.1 KiB
TypeScript
Raw Normal View History

import {Button, useTheme} from "@mui/material";
2022-12-26 10:00:03 +00:00
interface Props {
Icon: React.ElementType;
isActive?: boolean;
onClick: () => void;
}
export default function SelectableIconButton({ Icon, isActive = false, onClick }: Props) {
const theme = useTheme();
return (
<Button
2022-12-26 10:00:03 +00:00
onClick={onClick}
variant="outlined"
startIcon={<Icon color={isActive ? theme.palette.brightPurple.main : theme.palette.grey2.main} />}
sx={{
backgroundColor: isActive ? undefined : theme.palette.background.default,
borderColor: isActive ? theme.palette.brightPurple.main : theme.palette.grey2.main,
color: isActive ? theme.palette.brightPurple.main : theme.palette.grey2.main,
p: "7px",
width: "auto",
minWidth: 0,
"& .MuiButton-startIcon": {
mr: 0,
ml: 0,
},
"&:hover": {
borderColor: isActive ? theme.palette.brightPurple.main : theme.palette.grey2.main,
},
}}
/>
);
}