tmemory
Version:
A terminal-based Memory card game built with React Ink. Features multiple grid sizes, AI opponent, and high scores.
35 lines (34 loc) • 1.69 kB
JavaScript
import { Box, Text } from 'ink';
import Gradient from 'ink-gradient';
import React from 'react';
import { GridPreview } from '../../../components/common/GridPreview/index.js';
import { COLORS } from '../../../constants/colors.js';
export const GridSizeConfig = ({ gridDimension, selectionMode, }) => {
return (React.createElement(Box, { marginY: 1, flexDirection: "column", alignItems: "center" },
React.createElement(Box, null,
React.createElement(Gradient, { name: "cristal" },
React.createElement(Text, null,
"Grid Size [",
selectionMode,
"]:",
' ',
React.createElement(Text, { bold: true },
gridDimension.rows,
"x",
gridDimension.cols),
' ',
"(",
Math.floor((gridDimension.rows * gridDimension.cols) / 2),
" pairs)"))),
selectionMode === 'custom' && (React.createElement(Box, { flexDirection: "column", alignItems: "center", marginTop: 1 },
React.createElement(Box, null,
React.createElement(Text, null,
"Rows:",
' ',
React.createElement(Text, { bold: true, color: COLORS.p1 }, gridDimension.rows),
React.createElement(Text, null, " | "),
"Cols:",
' ',
React.createElement(Text, { bold: true, color: COLORS.p1 }, gridDimension.cols))),
React.createElement(GridPreview, { dimension: gridDimension })))));
};