All files / web/src/components/practice coachHintGenerator.ts

0% Statements 0/39
0% Branches 0/1
0% Functions 0/1
0% Lines 0/39

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                                                                               
/**
 * Coach hint generator for practice help system
 *
 * Uses the same readable.summary from unifiedStepGenerator that the
 * tutorial CoachBar uses, ensuring consistent hints across the app.
 */

import { generateUnifiedInstructionSequence } from '@/utils/unifiedStepGenerator'

/**
 * Generate a coach hint based on the current step
 *
 * Returns the segment's readable.summary if available, or null if not.
 * This matches the tutorial CoachBar behavior which only renders when
 * readable.summary exists.
 */
export function generateCoachHint(
  startValue: number,
  targetValue: number,
  currentStepIndex: number = 0
): string | null {
  const sequence = generateUnifiedInstructionSequence(startValue, targetValue)

  if (!sequence || sequence.steps.length === 0) {
    return null
  }

  // Get the current step
  const currentStep = sequence.steps[currentStepIndex]
  if (!currentStep) {
    return null
  }

  // Find the segment this step belongs to
  const segment = sequence.segments.find((s) => s.id === currentStep.segmentId)

  // Return the segment's readable summary if available (same as tutorial CoachBar)
  return segment?.readable?.summary ?? null
}