'use client'; import React from 'react'; import { calculateWHO5Results } from '../../test/private/WHO5Calculator'; interface WHO5ResultProps { answers: string[]; } const levelText = { high: '幸福感较好', moderate: '幸福感中等', low: '幸福感偏低', very_low: '幸福感明显偏低', }; const levelDescription = { high: '最近两周的积极情绪、活力和生活兴趣整体较好,可以继续保持目前有帮助的生活节奏。', moderate: '整体幸福感处在中等区间,可以留意睡眠、压力、社交和日常恢复感的变化。', low: '幸福感偏低,建议结合PHQ-9、GAD-7或DASS-21进一步了解情绪状态。', very_low: '幸福感明显偏低,近期可能承受了较多压力或情绪困扰,建议尽快寻求可靠支持或专业评估。', }; const questions = [ '快乐、心情愉快', '平静和放松', '精力充沛、充满活力', '醒来时清新、休息充分', '日常生活中有感兴趣的事情', ]; export function WHO5Result({ answers }: WHO5ResultProps) { const answersMap: { [key: number]: string } = {}; answers.forEach((answer, index) => { answersMap[index + 1] = answer; }); const results = calculateWHO5Results({ answers: answersMap }); const levelClass = results.level === 'high' ? 'border-green-200 bg-green-50 text-green-800' : results.level === 'moderate' ? 'border-blue-200 bg-blue-50 text-blue-800' : results.level === 'low' ? 'border-yellow-200 bg-yellow-50 text-yellow-800' : 'border-red-200 bg-red-50 text-red-800'; return (

WHO-5 幸福感结果

结果解释

{levelDescription[results.level]}

{results.needsAttention && (

WHO-5通常建议:原始总分低于13分,或任一题为0-1分时,可以进一步做情绪筛查或寻求专业意见。

)}

分项情况

{results.itemScores.map((score, index) => (
{index + 1}. {questions[index]} {score}/5
))}

注:WHO-5用于幸福感筛查和追踪,不等同于临床诊断。若结果偏低,请结合近期生活事件、睡眠、压力和其他量表综合判断。

); } interface MetricCardProps { title: string; value: React.ReactNode; } function MetricCard({ title, value }: MetricCardProps) { return (
{title} {value}
); }