2048-cli-game
Version:
2048 game for terminal.
22 lines (21 loc) • 673 B
JavaScript
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;