feat: updated to show original logo color for manifest select on hover

pull/118/head
Samuel Rowe 3 years ago committed by corpulent
parent 5b826f6a27
commit 425ba5c96c

@ -1,17 +1,22 @@
import { useState } from "react"; import { styled } from "@mui/joy";
import { useCallback, useState } from "react";
import DcLogo from "../global/dc-logo"; import DcLogo from "../global/dc-logo";
import K8sLogo from "../global/k8s-logo"; import K8sLogo from "../global/k8s-logo";
const styles = { interface IButtonProps {
default: { selected: boolean;
filter: "grayscale(100%)",
opacity: "90%"
},
selected: {
filter: "grayscale(0)",
opacity: "100%"
} }
};
const Button = styled("button", {
shouldForwardProp: (name) => name !== "selected"
})<IButtonProps>`
filter: grayscale(${({ selected }) => (selected ? "0%" : "100%")});
opacity: ${({ selected }) => (selected ? "100%" : "80%")};
&:hover {
filter: grayscale(0%);
}
`;
interface IManifestSelectProps { interface IManifestSelectProps {
setManifest: any; setManifest: any;
@ -21,29 +26,25 @@ const ManifestSelect = (props: IManifestSelectProps) => {
const { setManifest } = props; const { setManifest } = props;
const [selected, setSelected] = useState(0); const [selected, setSelected] = useState(0);
return ( const handleK8s = useCallback(() => {
<>
<button
style={selected === 1 ? styles.selected : styles.default}
type="button"
onClick={() => {
setManifest(1); setManifest(1);
setSelected(1); setSelected(1);
}} }, []);
>
<K8sLogo />
</button>
<button const handleDC = useCallback(() => {
style={selected === 0 ? styles.selected : styles.default}
type="button"
onClick={() => {
setManifest(0); setManifest(0);
setSelected(0); setSelected(0);
}} }, []);
>
return (
<>
<Button selected={selected === 1} type="button" onClick={handleK8s}>
<K8sLogo />
</Button>
<Button selected={selected === 0} type="button" onClick={handleDC}>
<DcLogo /> <DcLogo />
</button> </Button>
</> </>
); );
}; };

Loading…
Cancel
Save