added pucks and samples
This commit is contained in:
@ -1,13 +1,13 @@
|
||||
// app/components/Unipuck.tsx
|
||||
import React from 'react';
|
||||
import { Box } from '@mui/material';
|
||||
|
||||
interface UnipuckProps {
|
||||
pucks: number; // Number of pucks, assuming each puck follows the same layout
|
||||
pucks: number; // Number of pucks
|
||||
samples?: string[][]; // Array of sample arrays for each puck
|
||||
}
|
||||
|
||||
const Unipuck: React.FC<UnipuckProps> = ({ pucks }) => {
|
||||
const renderPuck = () => {
|
||||
const Unipuck: React.FC<UnipuckProps> = ({ pucks, samples }) => {
|
||||
const renderPuck = (sampleStatus: string[]) => {
|
||||
const puckSVG = (
|
||||
<svg width="100" height="100" viewBox="0 0 100 100">
|
||||
<circle cx="50" cy="50" r="45" stroke="black" strokeWidth="2" fill="none" />
|
||||
@ -15,13 +15,13 @@ const Unipuck: React.FC<UnipuckProps> = ({ pucks }) => {
|
||||
const angle = (index * (360 / 11)) * (Math.PI / 180);
|
||||
const x = 50 + 35 * Math.cos(angle);
|
||||
const y = 50 + 35 * Math.sin(angle);
|
||||
return <circle key={index} cx={x} cy={y} r="5" fill="black" />;
|
||||
return <circle key={index} cx={x} cy={y} r="5" fill={sampleStatus[index] === 'filled' ? 'black' : 'none'} stroke="black" />;
|
||||
})}
|
||||
{[...Array(5)].map((_, index) => {
|
||||
const angle = (index * (360 / 5) + 36) * (Math.PI / 180);
|
||||
const x = 50 + 15 * Math.cos(angle);
|
||||
const y = 50 + 15 * Math.sin(angle);
|
||||
return <circle key={index} cx={x} cy={y} r="5" fill="black" />;
|
||||
return <circle key={index + 11} cx={x} cy={y} r="5" fill={sampleStatus[index + 11] === 'filled' ? 'black' : 'none'} stroke="black" />;
|
||||
})}
|
||||
</svg>
|
||||
);
|
||||
@ -32,7 +32,7 @@ const Unipuck: React.FC<UnipuckProps> = ({ pucks }) => {
|
||||
<Box sx={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'center', gap: 2 }}>
|
||||
{[...Array(pucks)].map((_, index) => (
|
||||
<Box key={index} sx={{ margin: 1 }}>
|
||||
{renderPuck()}
|
||||
{renderPuck(samples ? samples[index] : Array(16).fill('empty'))}
|
||||
</Box>
|
||||
))}
|
||||
</Box>
|
||||
|
Reference in New Issue
Block a user