UNPKG

2048-cli-game

Version:

2048 game for terminal.

22 lines (21 loc) 673 B
import React, { useEffect, useMemo } from 'react'; import { Box, useApp, useInput, useStdout } from 'ink'; import useScreenSize from './useScreen.js'; const Screen = ({ children }) => { const { height, width } = useScreenSize(); const { stdout } = useStdout(); const { exit } = useApp(); useMemo(() => stdout.write('\x1b[?1049h'), [stdout]); useEffect(() => { return () => { stdout.write('\x1b[?1049l'); }; }, [stdout]); useInput((_, key) => { if (key.escape) { exit(); } }); return (React.createElement(Box, { height: height, width: width }, children)); }; export default Screen;