buzzword-bingo/src/app/components/bingo.tsx

23 lines
565 B
TypeScript
Raw Normal View History

2023-11-03 19:08:20 +01:00
import BingoRow from './bingorow'
2023-11-02 23:08:51 +01:00
2023-11-02 23:38:12 +01:00
interface Props{
size: number;
items: string[];
}
export default function Bingo({size, items}: Props){
2023-11-03 20:27:44 +01:00
const activeItems: string[] = items.slice(0, size*size);
2023-11-02 23:38:12 +01:00
let rows: string[][] = [];
2023-11-03 20:27:44 +01:00
for(let i = 0; i < (activeItems.length / size); i++)
2023-11-02 23:38:12 +01:00
{
2023-11-03 20:27:44 +01:00
rows[i] = activeItems.slice(i * size, (i + 1) * size);
2023-11-02 23:38:12 +01:00
}
2023-11-02 23:08:51 +01:00
return(
2023-11-05 13:26:41 +01:00
<table className='w-1/2 table table-xs sm:table-sm md:table-md bg-primary text-primary-content m-auto'>
2023-11-02 23:08:51 +01:00
<tbody>
2023-11-02 23:38:12 +01:00
{rows.map((item, index) => <BingoRow key={index} items={item}/>)}
2023-11-02 23:08:51 +01:00
</tbody>
</table>
);
}