diff --git a/src/components/DogsBunnyPuzzle.tsx b/src/components/DogsBunnyPuzzle.tsx index 3988413..9422319 100644 --- a/src/components/DogsBunnyPuzzle.tsx +++ b/src/components/DogsBunnyPuzzle.tsx @@ -344,8 +344,8 @@ const DogsBunnyPuzzle: React.FC = ({
{/* Edges */} @@ -369,50 +369,67 @@ const DogsBunnyPuzzle: React.FC = ({ strokeWidth={isValid ? "3" : "1"} strokeDasharray={isValid ? "none" : "5,5"} /> - {/* Condition icons */} - {edge.conditions.slice(0, 2).map((condition, condIndex) => ( - + {/* Condition labels */} + {edge.conditions.length === 1 ? ( + // Single condition - use circle with red outline for negated + + + {getConditionIcon(edge.conditions[0])} + + {formatCondition(edge.conditions[0])} + + ) : ( + // Multiple conditions - use rounded rectangle + + - - {condition.includes('NOBODY') ? '❌' : ''} - {getConditionIcon(condition)} - - {formatCondition(condition)} - - ))} - {edge.conditions.length > 2 && ( - - - - +{edge.conditions.length - 2} - - {edge.conditions.slice(2).map(formatCondition).join(', ')} + {edge.conditions.slice(0, 3).map((condition, condIndex) => ( + + {getConditionIcon(condition)} + + ))} + {edge.conditions.length > 3 && ( + + +{edge.conditions.length - 3} + + )} + {edge.conditions.map(formatCondition).join(', ')} )}