feat: allow rotating viewer (#220)

* feat: allow viewer mirroring
This commit is contained in:
Carlos Valente
2022-10-17 11:34:18 +02:00
committed by GitHub
parent 61cbce780d
commit 766ff40baa
14 changed files with 61 additions and 17 deletions
@@ -1,8 +1,10 @@
import { useEffect, useState } from 'react';
import { Link, useSearchParams } from 'react-router-dom';
import { useAtom } from 'jotai';
import PropTypes from 'prop-types';
import { overrideStylesURL } from '../../../common/api/apiConstants';
import { mirrorViewersAtom } from '../../../common/atoms/ViewerSettings';
import NavLogo from '../../../common/components/nav/NavLogo';
import Empty from '../../../common/components/state/Empty';
import { useRuntimeStylesheet } from '../../../common/hooks/useRuntimeStylesheet';
@@ -23,6 +25,7 @@ export default function Countdown(props) {
const { backstageEvents, time, selectedId, viewSettings } = props;
const { shouldRender } = useRuntimeStylesheet(viewSettings?.overrideStyles && overrideStylesURL);
const [searchParams] = useSearchParams();
const [isMirrored] = useAtom(mirrorViewersAtom);
const [follow, setFollow] = useState(null);
const [runningTimer, setRunningTimer] = useState(0);
@@ -90,7 +93,7 @@ export default function Countdown(props) {
: formatTime(follow.timeEnd + delay, formatOptions);
return (
<div className='countdown'>
<div className={`countdown ${isMirrored ? 'mirror' : ''}`}>
<NavLogo />
{follow === null ? (
<div className='event-select'>
@@ -139,7 +142,7 @@ export default function Countdown(props) {
>
{formatDisplay(
isSelected ? runningTimer : runningTimer + millisToSeconds(delay),
isSelected || time.waiting
isSelected || time.waiting,
)}
</span>
<div className='title'>{follow?.title || 'Untitled Event'}</div>