feat(web): EMOTIONAL_MEMORY & IMPLICIT_MEMORY type user memory detail add refresh btn

This commit is contained in:
zhaoying
2026-01-19 18:51:50 +08:00
parent 21ae3cdd15
commit c255be8d09
10 changed files with 161 additions and 91 deletions

View File

@@ -121,7 +121,7 @@ const EmotionTags: FC = () => {
})}
</div>
</div>
: <Empty size={88} className="rb:h-full" />
: <Empty size={88} className="rb:h-full rb:mb-4" />
}
</RbCard>
)

View File

@@ -1,4 +1,4 @@
import { type FC, useEffect, useState } from 'react'
import { useEffect, useState, forwardRef, useImperativeHandle } from 'react'
import { useTranslation } from 'react-i18next'
import { useParams } from 'react-router-dom'
import { Skeleton, Space, Progress } from 'antd';
@@ -20,7 +20,7 @@ interface HabitsItem {
specific_examples: string[];
}
const Habits: FC = () => {
const Habits = forwardRef<{ handleRefresh: () => void; }>((_props, ref) => {
const { t } = useTranslation()
const { id } = useParams()
const [loading, setLoading] = useState<boolean>(false)
@@ -43,6 +43,9 @@ const Habits: FC = () => {
setLoading(false)
})
}
useImperativeHandle(ref, () => ({
handleRefresh: getData
}));
return (
<>
@@ -80,5 +83,5 @@ const Habits: FC = () => {
</RbCard>
</>
)
}
})
export default Habits

View File

@@ -1,4 +1,4 @@
import { type FC, useEffect, useState } from 'react'
import { useEffect, useState, forwardRef, useImperativeHandle } from 'react'
import { useTranslation } from 'react-i18next'
import { useParams } from 'react-router-dom'
import { Skeleton, Progress } from 'antd';
@@ -23,7 +23,7 @@ interface InterestAreasItem {
art: Item;
}
const InterestAreas: FC = () => {
const InterestAreas = forwardRef<{ handleRefresh: () => void; }>((_props, ref) => {
const { t } = useTranslation()
const { id } = useParams()
const [loading, setLoading] = useState<boolean>(false)
@@ -47,6 +47,9 @@ const InterestAreas: FC = () => {
})
}
useImperativeHandle(ref, () => ({
handleRefresh: getData
}));
return (
<RbCard
title={t('implicitDetail.interestAreas')}
@@ -70,5 +73,5 @@ const InterestAreas: FC = () => {
}
</RbCard>
)
}
})
export default InterestAreas

View File

@@ -1,4 +1,4 @@
import { type FC, useEffect, useState } from 'react'
import { useEffect, useState, forwardRef, useImperativeHandle } from 'react'
import { useTranslation } from 'react-i18next'
import { useParams } from 'react-router-dom'
import { Skeleton, Progress } from 'antd';
@@ -25,7 +25,7 @@ interface PortraitItem {
literature: Item;
}
const Portrait: FC = () => {
const Portrait = forwardRef<{ handleRefresh: () => void; }>((_props, ref) => {
const { t } = useTranslation()
const { id } = useParams()
const [loading, setLoading] = useState<boolean>(false)
@@ -49,6 +49,9 @@ const Portrait: FC = () => {
})
}
useImperativeHandle(ref, () => ({
handleRefresh: getData
}));
return (
<RbCard
title={t('implicitDetail.portrait')}
@@ -73,5 +76,5 @@ const Portrait: FC = () => {
}
</RbCard>
)
}
})
export default Portrait

View File

@@ -1,4 +1,4 @@
import { type FC, useEffect, useState, useRef, useMemo } from 'react'
import { useEffect, useState, useRef, useMemo, forwardRef, useImperativeHandle } from 'react'
import { useTranslation } from 'react-i18next'
import { useParams } from 'react-router-dom'
import { Row, Col, Skeleton } from 'antd'
@@ -31,7 +31,7 @@ const generateCategoryColors = (categories: string[]) => {
return colors
}
const Preferences: FC = () => {
const Preferences = forwardRef<{ handleRefresh: () => void; }>((_props, ref) => {
const { t } = useTranslation()
const { id } = useParams()
const chartRef = useRef<HTMLDivElement>(null)
@@ -138,6 +138,9 @@ const Preferences: FC = () => {
return selectedWord !== null && data[selectedWord].tag_name ? <>{data[selectedWord].tag_name}{t('implicitDetail.preferencesDetail')}</> : ''
}, [selectedWord, data, t])
useImperativeHandle(ref, () => ({
handleRefresh: getData
}));
return (
<>
<div className="rb:bg-[rgba(21,94,239,0.12)] rb:px-4 rb:py-2.5 rb:font-medium rb:leading-5 rb:mb-4 rb:mt-6 rb:rounded-md">{t('forgetDetail.overviewTitle')}</div>
@@ -184,6 +187,6 @@ const Preferences: FC = () => {
</Row>
</>
)
}
})
export default Preferences

View File

@@ -1,4 +1,4 @@
import { type FC, useEffect, useState } from 'react'
import { useEffect, useState, forwardRef, useImperativeHandle } from 'react'
import { useTranslation } from 'react-i18next'
import { useParams } from 'react-router-dom'
@@ -18,7 +18,7 @@ interface Suggestions {
actionable_steps: string[];
}>;
}
const Suggestions: FC = () => {
const Suggestions = forwardRef<{ handleRefresh: () => void; }>((_props, ref) => {
const { t } = useTranslation()
const { id } = useParams()
const [suggestions, setSuggestions] = useState<Suggestions | null>(null)
@@ -37,6 +37,9 @@ const Suggestions: FC = () => {
})
}
useImperativeHandle(ref, () => ({
handleRefresh: getSuggestionData
}));
return (
<RbCard
title={t('statementDetail.suggestions')}
@@ -64,6 +67,6 @@ const Suggestions: FC = () => {
}
</RbCard>
)
}
})
export default Suggestions