diff --git a/src/common/components/countdown/Countdown.jsx b/src/common/components/countdown/Countdown.jsx index d1665348c..6733b38a7 100644 --- a/src/common/components/countdown/Countdown.jsx +++ b/src/common/components/countdown/Countdown.jsx @@ -13,11 +13,18 @@ function display(seconds) { export default function Countdown({ time, small }) { const [counter, setCounter] = useState(time); + useEffect(() => { + console.log('setting time here'); + setCounter(time); + }, [time]); + useEffect(() => { counter > 0 && setTimeout(() => setCounter(counter - 1), 1000); }, [counter]); - return
{display(counter)}
; + return ( +
+ {display(counter)} +
+ ); } diff --git a/src/common/components/countdown/Countdown.module.css b/src/common/components/countdown/Countdown.module.css index 4a9db03b0..70823b122 100644 --- a/src/common/components/countdown/Countdown.module.css +++ b/src/common/components/countdown/Countdown.module.css @@ -14,6 +14,8 @@ font-family: 'Open Sans', sans-serif; font-size: 6em; text-align: center; - letter-spacing: 0.125em; + letter-spacing: 0.1em; line-height: 0.9; -} \ No newline at end of file + font-weight: 600; + color: #333; +} diff --git a/src/common/components/myProgressBar/MyProgressBar.module.css b/src/common/components/myProgressBar/MyProgressBar.module.css index 0fbab629f..f73c6f2e1 100644 --- a/src/common/components/myProgressBar/MyProgressBar.module.css +++ b/src/common/components/myProgressBar/MyProgressBar.module.css @@ -1,5 +1,5 @@ .progress { - padding: 6px; + padding: 1vh; width: 90%; margin: 0 auto; background: rgba(0, 0, 0, 0.25); @@ -8,7 +8,7 @@ } .progressBar { - height: 18px; + height: 2vh; background: linear-gradient( 90deg, rgb(145, 255, 191, 1) 0%, diff --git a/src/common/input/TimeInput.jsx b/src/common/input/TimeInput.jsx index 09037156a..2edd9dc17 100644 --- a/src/common/input/TimeInput.jsx +++ b/src/common/input/TimeInput.jsx @@ -1,35 +1,36 @@ -import { Text } from '@chakra-ui/layout'; -import { - NumberDecrementStepper, - NumberIncrementStepper, - NumberInput, - NumberInputField, - NumberInputStepper, -} from '@chakra-ui/number-input'; -import styles from './TimeInput.module.css'; +import { FormErrorMessage } from '@chakra-ui/form-control'; +import { FormLabel } from '@chakra-ui/form-control'; +import { FormControl } from '@chakra-ui/form-control'; +import DatePicker from 'react-datepicker'; +import { Field } from 'formik'; +import 'react-datepicker/dist/react-datepicker.css'; +import './timeInput.css'; export default function TimeInput(props) { + const { label, name, ...rest } = props; return ( -
- {props.label} - hour / min -
- - - - - - - -
- - - - - - - -
-
+ + {({ field, form }) => { + const { setFieldValue } = form; + const { value } = field; + return ( + + {label} + setFieldValue(name, val)} + /> + {form.errors[name]} + + ); + }} + ); } diff --git a/src/common/input/timeInput.css b/src/common/input/timeInput.css new file mode 100644 index 000000000..a3804360a --- /dev/null +++ b/src/common/input/timeInput.css @@ -0,0 +1,122 @@ +.react-datepicker { + font-family: unset; + font-size: 0.9rem; +} + +.react-datepicker-wrapper, +.react-datepicker__input-container { + display: block; +} + +.react-datepicker-popper { + background-color: white; +} +.react-datepicker__input-container { + font-size: 1rem; + padding-left: 1rem; + padding-right: 1rem; + height: 2.5rem; + border-radius: 0.25rem; + border: 1px solid; + border-color: hsl(0,0%,80%); +} + +.react-datepicker__input-container:hover { + border-color: hsl(0,0%,70%); +} +.react-datepicker__input-container:focus-within { + z-index: 1; + border-color: #3182ce; + box-shadow: 0 0 0 1px #3182ce; +} + +.react-datepicker__input-container > input { + width: 100%; + height: 100%; + outline: 0; +} + +.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) { + right: 90px; +} + +.react-datepicker__navigation--previous, +.react-datepicker__navigation--next { + height: 8px; +} + +.react-datepicker__navigation--previous { + border-right-color: #cbd5e0; +} + +.react-datepicker__navigation--previous:hover { + border-right-color: #a0aec0; +} + +.react-datepicker__navigation--next { + border-left-color: #cbd5e0; + +} + +.react-datepicker__navigation--next:hover { + border-left-color: #a0aec0; +} + +.react-datepicker__header { + background: #f7fafc; +} + +.react-datepicker__header, +.react-datepicker__time-container { + border-color: #E2E8F0; +} + +.react-datepicker__current-month, +.react-datepicker-time__header, +.react-datepicker-year-header { + font-size: inherit; + font-weight: 600; +} + +.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item { + margin: 0 1px 0 0; + height: auto; + padding: 7px 10px; +} + +.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover { + background: #edf2f7; +} + +.react-datepicker__day:hover { + background: #edf2f7; +} + +.react-datepicker__day--selected, +.react-datepicker__day--in-selecting-range, +.react-datepicker__day--in-range, +.react-datepicker__month-text--selected, +.react-datepicker__month-text--in-selecting-range, +.react-datepicker__month-text--in-range, +.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected { + background: #3182ce; + font-weight: normal; +} + +.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover { + background: #2a69ac; +} + +.react-datepicker__close-icon::after { + background-color: unset; + border-radius: unset; + font-size: 1.5rem; + font-weight: bold; + color: hsl(0,0%,80%); + height: 20px; + width: 20px; +} + +.react-datepicker__close-icon::after:hover { + color: hsl(0,0%,70%) +} \ No newline at end of file diff --git a/src/features/control/PlaybackControl.jsx b/src/features/control/PlaybackControl.jsx index 96bcd0d71..6be4f3cd0 100644 --- a/src/features/control/PlaybackControl.jsx +++ b/src/features/control/PlaybackControl.jsx @@ -1,47 +1,123 @@ import { Button } from '@chakra-ui/button'; import style from './PlaybackControl.module.css'; import Countdown from '../../common/components/countdown/Countdown'; +import { useState } from 'react'; +import { clamp } from '../../app/utils'; +import { ArrowBackIcon, ArrowForwardIcon } from '@chakra-ui/icons'; export default function PlaybackControl() { + const [time, setTime] = useState(15); + const [roll, setRoll] = useState(false); + + const incrementTimer = (amount = 1) => { + const t = clamp(time + amount * 60, 0, 3600); + setTime(t); + }; + + const defProps = { + colorScheme: 'blackAlpha', + variant: 'outline', + }; + + const smallSize = 50; + const midSize = 100; + const bigSize = 120; + return (
- +
- - - - + */}
- - - + */}
- - -
diff --git a/src/features/editors/Editor.jsx b/src/features/editors/Editor.jsx index 5edd0d050..bdf0ddad1 100644 --- a/src/features/editors/Editor.jsx +++ b/src/features/editors/Editor.jsx @@ -27,17 +27,17 @@ export default function Editor() { return ( - + - List Events + Event List
diff --git a/src/features/viewers/PreviewContainer.module.css b/src/features/viewers/PreviewContainer.module.css index 7ff416608..4415aef3c 100644 --- a/src/features/viewers/PreviewContainer.module.css +++ b/src/features/viewers/PreviewContainer.module.css @@ -3,19 +3,18 @@ flex-direction: row; flex-wrap: wrap; justify-content: center; + align-content: center; gap: 1em; } .previewItem { - width: 47%; + width: 45%; } .preview { - aspect-ratio: 16 / 9; - border-color: #222; - background-color: #888; + margin: auto; } .label { - padding: 0.1em; + padding: 0.1em 4em; } diff --git a/src/features/viewers/viewers.css b/src/features/viewers/viewers.css index 8e1c17ef3..820096bed 100644 --- a/src/features/viewers/viewers.css +++ b/src/features/viewers/viewers.css @@ -1,12 +1,12 @@ @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;800&display=swap'); .presenter { - font-size: 24px; + font-size: 1vh; height: 100%; color: #ffffff; display: flex; flex-direction: column; - padding: 1em; + padding-left: 4vh; } .presentationTitle { @@ -20,7 +20,7 @@ } .userMessage { - font-size: 10em; + font-size: 10vw; text-align: center; } @@ -38,4 +38,4 @@ flex-direction: row; align-items: center; justify-content: space-around; -} \ No newline at end of file +}