mirror of
https://github.com/revoltchat/revite.git
synced 2024-11-15 03:35:01 -05:00
66 lines
1.2 KiB
TypeScript
66 lines
1.2 KiB
TypeScript
|
import styled, { css } from "styled-components";
|
||
|
|
||
|
interface Props {
|
||
|
readonly contrast?: boolean;
|
||
|
readonly error?: boolean;
|
||
|
};
|
||
|
|
||
|
export const Button = styled.button<Props>`
|
||
|
z-index: 1;
|
||
|
padding: 8px;
|
||
|
font-size: 16px;
|
||
|
text-align: center;
|
||
|
|
||
|
transition: 0.2s ease opacity;
|
||
|
transition: 0.2s ease background-color;
|
||
|
|
||
|
background: var(--primary-background);
|
||
|
color: var(--foreground);
|
||
|
|
||
|
border-radius: 6px;
|
||
|
cursor: pointer;
|
||
|
border: none;
|
||
|
|
||
|
&:hover {
|
||
|
background: var(--secondary-header);
|
||
|
}
|
||
|
|
||
|
&:disabled {
|
||
|
background: var(--primary-background);
|
||
|
}
|
||
|
|
||
|
&:active {
|
||
|
background: var(--secondary-background);
|
||
|
}
|
||
|
|
||
|
${props => props.contrast && css`
|
||
|
padding: 4px 8px;
|
||
|
background: var(--secondary-header);
|
||
|
|
||
|
&:hover {
|
||
|
background: var(--primary-header);
|
||
|
}
|
||
|
|
||
|
&:disabled {
|
||
|
background: var(--secondary-header);
|
||
|
}
|
||
|
|
||
|
&:active {
|
||
|
background: var(--secondary-background);
|
||
|
}
|
||
|
`}
|
||
|
|
||
|
${props => props.error && css`
|
||
|
color: white;
|
||
|
background: var(--error);
|
||
|
|
||
|
&:hover {
|
||
|
filter: brightness(1.2)
|
||
|
}
|
||
|
|
||
|
&:disabled {
|
||
|
background: var(--error);
|
||
|
}
|
||
|
`}
|
||
|
`;
|