import { type FC, useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import { useParams } from 'react-router-dom' import { Row, Col, Progress } from 'antd' import ReactEcharts from 'echarts-for-react' import Empty from '@/components/Empty' import RbCard from '@/components/RbCard/Card' import { getEmotionHealth } from '@/api/memory' interface Health { health_score: number; level: string; dimensions: { positivity_rate: { score: number; positive_count: number; negative_count: number; neutral_count: number; }; stability: { score: number; std_deviation: number; }; resilience: { score: number; recovery_rate: number; }; }; emotion_distribution: { joy: number; sadness: number; anger: number; fear: number; surprise: number; neutral: number; }; time_range: string; } const Health: FC = () => { const { t } = useTranslation() const { id } = useParams() const [health, setHealth] = useState(null) useEffect(() => { getWordCloudData() }, [id]) const getWordCloudData = () => { if (!id) { return } getEmotionHealth(id) .then((res) => { setHealth(res as Health) }) } return ( {health?.health_score && health?.health_score > 0 ? <>
{health.dimensions &&
{t('statementDetail.positivity_rate')}
{health.dimensions.positivity_rate.score}%
{t('statementDetail.stability')}
{health.dimensions.stability.score}%
{t('statementDetail.resilience')}
{health.dimensions.resilience.score}%
}
: }
) } export default Health