import React from "react"; import { View, Text, Pressable, TextInput } from "react-native"; import { useTraineeStyles } from "@/styles/trainee.styles"; import { useColors } from "@/theme/colors"; import { CONFIDENCE_LEVELS } from "@/constants/trainee"; import type { Scenario } from "@/services/trainingService"; type Props = { scenario: Scenario; answer: string; setAnswer: (t: string) => void; confidence: number | null; setConfidence: (n: number) => void; submitting?: boolean; onBack: () => void; onSubmit: () => void; }; // Step 2: read the scenario, write a free-text answer, pick a confidence level. export default function AnswerStep({ scenario, answer, setAnswer, confidence, setConfidence, submitting = false, onBack, onSubmit, }: Props) { const styles = useTraineeStyles(); const colors = useColors(); const canSubmit = answer.trim().length > 0 && confidence !== null && !submitting; return ( Scenario {scenario.text} Your answer How confident are you? {CONFIDENCE_LEVELS.map((level) => { const selected = confidence === level.value; return ( [ styles.confidenceButton, selected && styles.confidenceButtonSelected, submitting && styles.disabled, pressed && !submitting && { opacity: 0.8 }, ]} onPress={() => setConfidence(level.value)} > {level.value} ); })} {confidence === null ? "Select a level" : `${confidence} · ${CONFIDENCE_LEVELS[confidence - 1].label}`} [ styles.secondaryButton, submitting && styles.disabled, pressed && !submitting && { opacity: 0.7 }, ]} onPress={onBack} > Back [ styles.primaryButton, !canSubmit && styles.disabled, pressed && canSubmit && { opacity: 0.7 }, ]} onPress={onSubmit} > {submitting ? "Submitting…" : "Submit answer"} ); }