Merge branch 'fix/1.3.5/bug' into test

This commit is contained in:
shuai
2024-06-07 15:37:23 +08:00
2 changed files with 46 additions and 46 deletions
+2 -1
View File
@@ -724,10 +724,11 @@ export interface PutFlagReviewParams {
* @description response for reaction
*/
export interface ReactionItems {
reaction_summary: Record<string, ReactionItem>;
reaction_summary: ReactionItem[];
}
export interface ReactionItem {
emoji: string;
count: number;
tooltip: string;
is_active: boolean;
@@ -38,7 +38,7 @@ const Index: FC<Props> = ({
showAddCommentBtn,
handleClickComment,
}) => {
const [reactions, setReactions] = useState<Record<string, ReactionItem>>();
const [reactions, setReactions] = useState<ReactionItem[]>();
const [reactIsActive, setReactIsActive] = useState<boolean>(false);
const { t } = useTranslation('translation');
@@ -55,12 +55,9 @@ const Index: FC<Props> = ({
}
updateReaction({
...params,
reaction:
reactions &&
reactions[params.emoji] &&
reactions[params.emoji].is_active
? 'deactivate'
: 'activate',
reaction: reactions?.find((v) => v.emoji === params.emoji)?.is_active
? 'deactivate'
: 'activate',
}).then((res) => {
setReactions(res.reaction_summary);
setReactIsActive(false);
@@ -73,13 +70,13 @@ const Index: FC<Props> = ({
{emojiMap.map((d, index) => (
<Button
aria-label={
reactions?.[d.name]?.is_active
reactions?.find((v) => v.emoji === d.name)?.is_active
? t('reaction.undo_emoji', { emoji: d.name })
: t(`reaction.${d.name}`)
}
key={d.icon}
variant="light"
active={reactions?.[d.name]?.is_active}
active={reactions?.find((v) => v.emoji === d.name)?.is_active}
className={`${index !== 0 ? 'ms-1' : ''}`}
size="sm"
onClick={() =>
@@ -126,44 +123,46 @@ const Index: FC<Props> = ({
</Button>
</OverlayTrigger>
{reactions &&
Object.keys(reactions).map((emoji) => {
if (!reactions[emoji] || reactions[emoji]?.count <= 0) {
return null;
}
return (
<OverlayTrigger
key={emoji}
placement="top"
overlay={
<Tooltip>
<div className="text-start">
<b>{t(`reaction.${emoji}`)}</b> <br />{' '}
{reactions[emoji].tooltip}
</div>
</Tooltip>
{reactions?.map((data) => {
if (!data.emoji || data?.count <= 0) {
return null;
}
return (
<OverlayTrigger
key={data.emoji}
placement="top"
overlay={
<Tooltip>
<div className="text-start">
<b>{t(`reaction.${data.emoji}`)}</b> <br /> {data.tooltip}
</div>
</Tooltip>
}>
<Button
className="rounded-pill ms-2 link-secondary d-flex align-items-center"
aria-label={
data?.is_active
? t('reaction.unreact_emoji', { emoji: data.emoji })
: t('reaction.react_emoji', { emoji: data.emoji })
}
aria-pressed="true"
variant="light"
active={data.is_active}
size="sm"
onClick={() =>
handleSubmit({ object_id: objectId, emoji: data.emoji })
}>
<Button
className="rounded-pill ms-2 link-secondary d-flex align-items-center"
aria-label={
reactions?.[emoji]?.is_active
? t('reaction.unreact_emoji', { emoji })
: t('reaction.react_emoji', { emoji })
<Icon
name={String(emojiMap.find((v) => v.name === data.emoji)?.icon)}
className={
emojiMap.find((v) => v.name === data.emoji)?.className
}
aria-pressed="true"
variant="light"
active={reactions[emoji].is_active}
size="sm"
onClick={() => handleSubmit({ object_id: objectId, emoji })}>
<Icon
name={String(emojiMap.find((v) => v.name === emoji)?.icon)}
className={emojiMap.find((v) => v.name === emoji)?.className}
/>
<span className="ms-1 lh-1">{reactions[emoji].count}</span>
</Button>
</OverlayTrigger>
);
})}
/>
<span className="ms-1 lh-1">{data.count}</span>
</Button>
</OverlayTrigger>
);
})}
</div>
);
};