import React, { useState } from 'react'; import { CSSTransition } from 'react-transition-group'; import styles from './App.module.css'; import GamePanel from './components/screens/GamePanel'; import HomePage from './components/screens/HomePage'; import Lobby from './components/screens/Lobby'; import PlayerScores from './components/screens/PlayerScores'; import RoundSummary from './components/screens/RoundSummary'; import ApiInfo from './components/util/ApiInfo'; import { ERROR, IN_ROUND, POST_GAME, POST_ROUND, PRE_GAME, PRE_ROUND } from './domain/GameState'; import { useGameState } from './domain/gameStore'; import useDirectGameLinks from './hooks/useDirectGameLinks'; const needsHeaderFooter = { [PRE_GAME]: true, [PRE_ROUND]: true, [IN_ROUND]: false, [POST_ROUND]: false, [POST_GAME]: false, [ERROR]: true }; const Header = ({ show }) => ( TerrAssumptions! ) const Footer = ({ show }) => ( ) const State = ({ show, children, setTransitioning }) => ( setTransitioning(true)} onExited={() => setTransitioning(false)} > {children} ) export default () => { const [transitioning, setTransitioning] = useState(true); const gameState = useGameState(); useDirectGameLinks(); const needsHF = needsHeaderFooter[gameState]; return ( {!transitioning && gameState === IN_ROUND && } Application encountered unrecoverable error, please refresh the page. ); };
TerrAssumptions!
Application encountered unrecoverable error, please refresh the page.