UNPKG

what-is-word-cli

Version:

CLI game where your task is to unscramble words by given definition

29 lines 1.16 kB
import React, { useState, createContext, useMemo } from 'react'; import { useInput } from 'ink'; import { useStore } from '@nanostores/react'; import { manager as appManager } from './store.js'; import { $status, actions as statusActions, manager as statusManager } from './store/status.js'; import { actions as settingsActions } from './store/settings.js'; import Game from './components/Game.js'; import Results from './components/Results.js'; export const SettingsContext = /*#__PURE__*/createContext({}); export default function App({ settings: userSettings }) { const [settings, setSettings] = useState(userSettings); const settingsValue = useMemo(() => ({ settings, setSettings }), [settings]); useStore($status); useInput((input, _key) => { if (statusManager.isFinished() && input === 'b') { appManager.clearGameRounds(); settingsActions.clear(); statusActions.setRunning(); } }); return /*#__PURE__*/React.createElement(SettingsContext.Provider, { value: settingsValue }, statusManager.isFinished() ? /*#__PURE__*/React.createElement(Results, null) : /*#__PURE__*/React.createElement(Game, null)); }