UNPKG

playball

Version:

Watch MLB games from the comfort of your terminal

42 lines 1.41 kB
import React, { useState } from 'react'; import { useDispatch } from "react-redux/lib/alternate-renderers.js"; import GameList from "./GameList.js"; import HelpBar from "./HelpBar.js"; import { setSelectedId } from "../features/games.js"; import Game from "./Game.js"; import useKey from "../hooks/useKey.js"; import Standings from "./Standings.js"; const SCHEDULE = 'schedule'; const STANDINGS = 'standings'; const GAME = 'game'; function App() { const [view, setView] = useState(SCHEDULE); const dispatch = useDispatch(); useKey('c', () => { setView(SCHEDULE); dispatch(setSelectedId(null)); }, { key: 'C', label: 'Schedule' }); useKey('s', () => setView(STANDINGS), { key: 'S', label: 'Standings' }); const handleGameSelect = game => { dispatch(setSelectedId(game.gamePk)); setView(GAME); }; return /*#__PURE__*/React.createElement("element", null, /*#__PURE__*/React.createElement("element", { top: 0, left: 0, height: "100%-1" }, view === STANDINGS && /*#__PURE__*/React.createElement(Standings, null), view === SCHEDULE && /*#__PURE__*/React.createElement(GameList, { onGameSelect: handleGameSelect }), view === GAME && /*#__PURE__*/React.createElement(Game, null)), /*#__PURE__*/React.createElement("element", { top: "100%-1", left: 0, height: 1 }, /*#__PURE__*/React.createElement(HelpBar, null))); } export default App;