fix(homepage): use app-wide abacus config in interactive flashcards

The interactive flashcards section at the bottom of the homepage was
hardcoding beadShape="circle" instead of respecting the app-wide abacus
configuration context that all other abaci on the site use.

Changes to InteractiveFlashcards.tsx:
- Import useAbacusConfig hook from @soroban/abacus-react
- Call useAbacusConfig() in DraggableCard component
- Use appConfig.beadShape instead of hardcoded "circle"

This ensures visual consistency across all abacus displays on the site
and respects user preferences for bead styling.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Thomas Hallock
2025-10-21 12:08:17 -05:00
parent 0169ab5128
commit cf1be2d173

View File

@@ -1,6 +1,6 @@
'use client' 'use client'
import { AbacusReact } from '@soroban/abacus-react' import { AbacusReact, useAbacusConfig } from '@soroban/abacus-react'
import { useEffect, useRef, useState } from 'react' import { useEffect, useRef, useState } from 'react'
import { css } from '../../styled-system/css' import { css } from '../../styled-system/css'
@@ -93,6 +93,8 @@ interface DraggableCardProps {
} }
function DraggableCard({ card, containerRef }: DraggableCardProps) { function DraggableCard({ card, containerRef }: DraggableCardProps) {
const appConfig = useAbacusConfig()
// Track position - starts at initial, updates when dragged // Track position - starts at initial, updates when dragged
const [position, setPosition] = useState({ x: card.initialX, y: card.initialY }) const [position, setPosition] = useState({ x: card.initialX, y: card.initialY })
const [rotation, setRotation] = useState(card.initialRotation) // Now dynamic! const [rotation, setRotation] = useState(card.initialRotation) // Now dynamic!
@@ -337,7 +339,7 @@ function DraggableCard({ card, containerRef }: DraggableCardProps) {
transformOrigin: 'center', transformOrigin: 'center',
})} })}
> >
<AbacusReact value={card.number} columns={3} beadShape="circle" /> <AbacusReact value={card.number} columns={3} beadShape={appConfig.beadShape} />
</div> </div>
{/* Number display */} {/* Number display */}