'use client'; import { calculateGritResults } from '../../test/private/GritCalculator'; interface GritResultProps { answers: string[]; } const levelText = { low: '坚毅程度偏低', moderate: '坚毅程度中等', high: '坚毅程度较高', }; const levelDescription = { low: '你当前在长期目标上的持续投入或兴趣稳定性可能偏弱。更适合从目标拆小、减少干扰、明确反馈开始,而不是单靠意志力硬撑。', moderate: '你具备一定的坚持能力,但在目标很长期、反馈很慢或兴趣变化较快时,可能会出现波动。', high: '你通常能围绕长期目标持续努力,也较不容易被短期挫折带偏。继续保留调整目标的弹性会更稳。', }; function width(value: number) { return `${Math.max(0, Math.min(100, ((value - 1) / 4) * 100))}%`; } export function GritResult({ answers }: GritResultProps) { const results = calculateGritResults(answers); return (

坚毅量表结果

{levelText[results.level]}

{levelDescription[results.level]}

注:Grit 结果描述的是长期目标中的坚持和稳定倾向,不代表能力高低,也不意味着所有目标都应该坚持到底。
); } interface MetricCardProps { title: string; value: string; } function MetricCard({ title, value }: MetricCardProps) { return (
{title}
{value}
/ 5
); } function BarCard({ title, value }: { title: string; value: number }) { return (

{title}

{value.toFixed(2)} / 5
); }