'use client'; import { calculateBigFiveResults, calculateIpipNeoResults, ipipNeoItemsByVersion, } from '../../test/private/BigFiveCalculator'; import { ipipNeoFacets } from '@/questionairies/bigfive/neo-data'; interface BigFiveResultProps { answers: string[]; version?: 50 | 120 | 300; } interface ScoreResult { score: number; average: number; itemCount?: number; } const domainLabels = { neuroticism: { name: '神经质', desc: '情绪敏感、压力反应以及体验焦虑、烦躁等负面情绪的倾向。', }, extraversion: { name: '外向性', desc: '社交投入、自信表达、活跃度和积极情绪。', }, openness: { name: '开放性', desc: '想象力、审美、求知、尝新和价值观开放程度。', }, agreeableness: { name: '宜人性', desc: '信任、真诚、合作、利他、谦逊和同情倾向。', }, conscientiousness: { name: '尽责性', desc: '自我效能、条理、责任、自律、成就追求和谨慎。', }, }; const shortLabels = { extraversion: domainLabels.extraversion, agreeableness: domainLabels.agreeableness, conscientiousness: domainLabels.conscientiousness, emotionalStability: { name: '情绪稳定性', desc: '情绪平稳、压力耐受和较少焦虑烦躁。', }, openness: domainLabels.openness, }; function level(average: number) { if (average >= 3.8) return '较高'; if (average <= 2.4) return '较低'; return '中等'; } function barWidth(average: number) { return `${Math.max(0, Math.min(100, ((average - 1) / 4) * 100))}%`; } function ScoreCard({ name, desc, result, maxScore, }: { name: string; desc: string; result: ScoreResult; maxScore: number; }) { return (
{desc}
每个维度满分50分。分数表示相对倾向,没有绝对好坏。
先看五大维度了解整体轮廓,再查看30个面向理解具体差异。分数代表相对倾向,没有绝对好坏。