Files
loldle/web/components/guess-grid.jsx
T
tiennm99 d9ae9c97d2 refactor: migrate from vanilla JS to Next.js 16 with Tailwind CSS
- Replace vanilla HTML/CSS/JS with Next.js App Router + React components
- Game logic (champion-data, game-engine, classic-mode) moved to lib/
- UI split into modular components (game-board, champion-search, guess-grid, etc.)
- Add Tailwind CSS v4 with CSS variables for theming
- Immutable state updates, fetch deduplication, next/image for CDN images
- champions.json moved from assets/ to public/
2026-04-04 11:52:59 +07:00

27 lines
765 B
React

"use client";
import { CLASSIC_ATTRIBUTES } from "@/lib/classic-mode";
import GuessRow from "./guess-row";
/** Grid with header row + guess rows */
export default function GuessGrid({ guesses, results }) {
return (
<div className="w-full max-w-[900px] px-4 overflow-x-auto">
{/* Header row */}
<div className="guess-row header-row">
<div className="guess-cell header-cell">Champion</div>
{CLASSIC_ATTRIBUTES.map((attr) => (
<div key={attr.key} className="guess-cell header-cell">
{attr.label}
</div>
))}
</div>
{/* Guess rows */}
{guesses.map((champion, i) => (
<GuessRow key={champion.id} champion={champion} results={results[i]} />
))}
</div>
);
}