feat(worksheets): show enabled scaffolding aids instead of numeric level

Replace '7/10 scaffolding' with descriptive list of enabled aids:
- Example: '30% regrouping, carry boxes, answer boxes, place value colors'
- Example: '50% regrouping, carry boxes, ten-frames'
- Example: '90% regrouping, no scaffolding'

Lists which scaffolding types are enabled (always or conditionally):
- carry boxes
- answer boxes
- place value colors
- ten-frames

More informative and immediately actionable for users.
This commit is contained in:
Thomas Hallock
2025-11-07 17:27:07 -06:00
parent 0e3f0aed94
commit 0b8b0d21c5

View File

@@ -415,8 +415,27 @@ export function ConfigPanel({ formState, onChange }: ConfigPanelProps) {
// Generate custom description
const regroupingPercent = Math.round(currentRegrouping * 10)
const scaffoldingLevel = Math.round(currentScaffolding)
customDescription = `${regroupingPercent}% regrouping, ${scaffoldingLevel}/10 scaffolding`
// Summarize which scaffolding is enabled
const scaffoldingParts: string[] = []
if (displayRules.carryBoxes === 'always' || displayRules.carryBoxes === 'whenRegrouping') {
scaffoldingParts.push('carry boxes')
}
if (displayRules.answerBoxes === 'always' || displayRules.answerBoxes === 'whenRegrouping') {
scaffoldingParts.push('answer boxes')
}
if (displayRules.placeValueColors === 'always' || displayRules.placeValueColors === 'whenRegrouping') {
scaffoldingParts.push('place value colors')
}
if (displayRules.tenFrames === 'always' || displayRules.tenFrames === 'whenRegrouping') {
scaffoldingParts.push('ten-frames')
}
const scaffoldingSummary = scaffoldingParts.length > 0
? scaffoldingParts.join(', ')
: 'no scaffolding'
customDescription = `${regroupingPercent}% regrouping, ${scaffoldingSummary}`
}
// Calculate current difficulty position