aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2021-01-16 22:34:05 +0300
committerGravatar Hassan Abouelela <[email protected]>2021-01-16 22:35:23 +0300
commitce89a0b042ba0db1385e3fbe40c93344369f162a (patch)
treebbf6c8c8e0707e45d5d0731a7a3ddf44e8fe4e61 /src
parentRewrites Select Component (diff)
Rewrites Radios
Rewrites radios to be more fitting with the general theme and style, and to be more consistent across browsers. Signed-off-by: Hassan Abouelela <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/components/InputTypes/Radio.tsx25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/components/InputTypes/Radio.tsx b/src/components/InputTypes/Radio.tsx
index be0f60e..3bf13ed 100644
--- a/src/components/InputTypes/Radio.tsx
+++ b/src/components/InputTypes/Radio.tsx
@@ -1,6 +1,8 @@
/** @jsx jsx */
import { jsx, css } from "@emotion/react";
import React, { ChangeEvent } from "react";
+import colors from "../../colors";
+import { multiSelectInput, hiddenInput } from "../../commonStyles";
interface RadioProps {
option: string,
@@ -8,10 +10,29 @@ interface RadioProps {
handler: (event: ChangeEvent<HTMLInputElement>) => void
}
+const styles = css`
+ div {
+ width: 0.7em;
+ height: 0.75em;
+ top: 0.18rem;
+
+ border-radius: 50%;
+ }
+
+ :hover div, :focus-within div {
+ background-color: lightgray;
+ }
+
+ input:checked+div {
+ background-color: ${colors.blurple};
+ }
+`;
+
export default function Radio(props: RadioProps): JSX.Element {
return (
- <label>
- <input type="radio" name={props.question_id} css={css`margin: 1rem 0.5rem 0 0;`} onChange={props.handler}/>
+ <label css={styles}>
+ <input type="radio" name={props.question_id} onChange={props.handler} css={hiddenInput}/>
+ <div css={multiSelectInput}/>
{props.option}<br/>
</label>
);