import styled from "@emotion/styled";
import * as React from "react";
import { ClipLoader } from "react-spinners";
import {
DARK_SECONDARY_TWO,
DARK_TERTIARY_ONE,
DARK_TERTIARY_THREE,
} from "../../../shared/colors";
type Props = {
disabled?: boolean;
color?: string;
secondary?: boolean;
style?: any;
isLoading?: boolean;
className?: any;
onClick: () => void;
children: any;
};
function Button(props: Props) {
const {
disabled,
color,
secondary,
isLoading,
onClick,
className,
children,
style,
} = props;
return (
{isLoading && (
)}
{children}
);
}
const ButtonContainer = styled.span`
display: inline;
font-size: 1em;
padding: 8px 16px;
color: white;
border-radius: 4px;
cursor: pointer;
outline: none;
border: none;
background-color: ${(props) => {
if (props.color) {
return props.color;
} else if (props.secondary) {
return DARK_SECONDARY_TWO;
}
return DARK_TERTIARY_ONE;
}};
${(props) => {
if (props.disabled) {
return `
cursor: not-allowed;
background-color: #bcb4f8;
box-shadow: none !important
`;
} else if (props.secondary) {
return {};
}
}}
:hover,
:focus {
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
background-color: ${(props) => {
return DARK_TERTIARY_THREE;
}};
}
`;
export default Button;