Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sdream-ai-fe
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
侯明涛
sdream-ai-fe
Commits
e45f7927
Commit
e45f7927
authored
Aug 12, 2025
by
weiw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:去掉点赞点踩
parent
af45edef
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
46 deletions
+42
-46
src/pages/Chat/components/ChatItem/ChatAnswerOperate.tsx
+42
-46
No files found.
src/pages/Chat/components/ChatItem/ChatAnswerOperate.tsx
View file @
e45f7927
...
@@ -2,15 +2,11 @@ import { Button, Tooltip } from '@heroui/react'
...
@@ -2,15 +2,11 @@ import { Button, Tooltip } from '@heroui/react'
import
{
useState
}
from
'react'
import
{
useState
}
from
'react'
import
{
useDebounceFn
}
from
'ahooks'
import
{
useDebounceFn
}
from
'ahooks'
import
type
{
Answer
}
from
'@/types/chat'
import
type
{
Answer
}
from
'@/types/chat'
import
LikeIcon
from
'@/assets/svg/zan.svg?react'
import
UnLikeIcon
from
'@/assets/svg/cai.svg?react'
import
CopyIcon
from
'@/assets/svg/copy.svg?react'
import
CopyIcon
from
'@/assets/svg/copy.svg?react'
import
CollectIcon
from
'@/assets/svg/shouc.svg?react'
import
CollectIcon
from
'@/assets/svg/shouc.svg?react'
import
LikeIconA
from
'@/assets/svg/zanA.svg?react'
import
UnLikeIconA
from
'@/assets/svg/caiA.svg?react'
import
CollectIconA
from
'@/assets/svg/shoucA.svg?react'
import
CollectIconA
from
'@/assets/svg/shoucA.svg?react'
import
useToast
from
'@/hooks/useToast'
import
useToast
from
'@/hooks/useToast'
import
{
fetchCancelCollection
,
fetchSubmitCollection
,
fetchSubmitFeedback
}
from
'@/api/chat'
import
{
fetchCancelCollection
,
fetchSubmitCollection
}
from
'@/api/chat'
import
{
UnLikeModal
}
from
'@/components/UnLikeModal'
import
{
UnLikeModal
}
from
'@/components/UnLikeModal'
interface
ChatAnswerOperateProps
{
interface
ChatAnswerOperateProps
{
...
@@ -19,8 +15,8 @@ interface ChatAnswerOperateProps {
...
@@ -19,8 +15,8 @@ interface ChatAnswerOperateProps {
export
const
ChatAnswerOperate
:
React
.
FC
<
ChatAnswerOperateProps
>
=
({
answer
})
=>
{
export
const
ChatAnswerOperate
:
React
.
FC
<
ChatAnswerOperateProps
>
=
({
answer
})
=>
{
const
showToast
=
useToast
()
const
showToast
=
useToast
()
const
[
isCollect
,
setIsCollect
]
=
useState
(
answer
.
collectionFlag
)
const
[
isCollect
,
setIsCollect
]
=
useState
(
answer
.
collectionFlag
)
const
[
isLike
,
setIsLike
]
=
useState
(
answer
.
feedbackStatus
===
'01'
)
//
const [isLike, setIsLike] = useState(answer.feedbackStatus === '01')
const
[
isUnLike
,
setIsUnLike
]
=
useState
(
answer
.
feedbackStatus
===
'02'
)
//
const [isUnLike, setIsUnLike] = useState(answer.feedbackStatus === '02')
const
[
isOpenUnLikeModal
,
setIsOpenUnLikeOpen
]
=
useState
(
false
)
const
[
isOpenUnLikeModal
,
setIsOpenUnLikeOpen
]
=
useState
(
false
)
const
handleCopy
=
async
()
=>
{
const
handleCopy
=
async
()
=>
{
...
@@ -47,42 +43,42 @@ export const ChatAnswerOperate: React.FC<ChatAnswerOperateProps> = ({ answer })
...
@@ -47,42 +43,42 @@ export const ChatAnswerOperate: React.FC<ChatAnswerOperateProps> = ({ answer })
}
}
},
{
wait
:
200
})
},
{
wait
:
200
})
const
handleLike
=
useDebounceFn
(
async
()
=>
{
//
const handleLike = useDebounceFn(async () => {
if
(
!
isLike
)
{
//
if (!isLike) {
setIsLike
(
true
)
//
setIsLike(true)
setIsUnLike
(
false
)
//
setIsUnLike(false)
await
fetchSubmitFeedback
({
//
await fetchSubmitFeedback({
recordId
:
answer
.
recordId
,
//
recordId: answer.recordId,
feedbackStatus
:
'01'
,
//
feedbackStatus: '01',
content
:
''
,
//
content: '',
})
//
})
showToast
(
'感谢您的反馈'
,
'success'
,
{
//
showToast('感谢您的反馈', 'success', {
icon
:
'🙏🏻'
,
//
icon: '🙏🏻',
})
//
})
}
//
}
else
{
//
else {
setIsLike
(
false
)
//
setIsLike(false)
await
fetchSubmitFeedback
({
//
await fetchSubmitFeedback({
recordId
:
answer
.
recordId
,
//
recordId: answer.recordId,
feedbackStatus
:
'00'
,
//
feedbackStatus: '00',
content
:
''
,
//
content: '',
})
//
})
}
//
}
})
//
})
const
handleUnLike
=
async
()
=>
{
//
const handleUnLike = async () => {
if
(
!
isUnLike
)
{
//
if (!isUnLike) {
setIsOpenUnLikeOpen
(
true
)
//
setIsOpenUnLikeOpen(true)
}
//
}
else
{
//
else {
setIsUnLike
(
false
)
//
setIsUnLike(false)
await
fetchSubmitFeedback
({
//
await fetchSubmitFeedback({
recordId
:
answer
.
recordId
,
//
recordId: answer.recordId,
feedbackStatus
:
'00'
,
//
feedbackStatus: '00',
content
:
''
,
//
content: '',
})
//
})
}
//
}
}
//
}
const
handleClose
=
(
isSubmit
?:
boolean
)
=>
{
const
handleClose
=
(
isSubmit
?:
boolean
)
=>
{
setIsOpenUnLikeOpen
(
false
)
setIsOpenUnLikeOpen
(
false
)
...
@@ -97,17 +93,17 @@ export const ChatAnswerOperate: React.FC<ChatAnswerOperateProps> = ({ answer })
...
@@ -97,17 +93,17 @@ export const ChatAnswerOperate: React.FC<ChatAnswerOperateProps> = ({ answer })
return
(
return
(
<
div
className=
"sm:mt-[12px] flex gap-[4px] justify-end"
>
<
div
className=
"sm:mt-[12px] flex gap-[4px] justify-end"
>
{
/* 点赞 */
}
{
/* 点赞 */
}
<
Tooltip
color=
"foreground"
content=
{
isLike
?
'取消点赞'
:
'点赞'
}
className=
"capitalize"
>
{
/*
<Tooltip color="foreground" content={isLike ? '取消点赞' : '点赞'} className="capitalize">
<Button variant="light" isIconOnly aria-label="LikeIcon" onPress={handleLike.run}>
<Button variant="light" isIconOnly aria-label="LikeIcon" onPress={handleLike.run}>
{isLike ? <LikeIconA /> : <LikeIcon />}
{isLike ? <LikeIconA /> : <LikeIcon />}
</Button>
</Button>
</
Tooltip
>
</Tooltip>
*/
}
{
/* 点踩 */
}
{
/* 点踩 */
}
<
Tooltip
color=
"foreground"
content=
{
isUnLike
?
'取消点踩'
:
'点踩'
}
className=
"capitalize"
>
{
/*
<Tooltip color="foreground" content={isUnLike ? '取消点踩' : '点踩'} className="capitalize">
<Button variant="light" isIconOnly aria-label="UnLikeIcon" onPress={handleUnLike}>
<Button variant="light" isIconOnly aria-label="UnLikeIcon" onPress={handleUnLike}>
{isUnLike ? <UnLikeIconA /> : <UnLikeIcon />}
{isUnLike ? <UnLikeIconA /> : <UnLikeIcon />}
</Button>
</Button>
</
Tooltip
>
</Tooltip>
*/
}
{
/* 复制 */
}
{
/* 复制 */
}
<
Tooltip
color=
"foreground"
content=
"复制"
className=
"capitalize"
>
<
Tooltip
color=
"foreground"
content=
"复制"
className=
"capitalize"
>
<
Button
variant=
"light"
isIconOnly
aria
-
label=
"CopyIcon"
onPress=
{
handleCopy
}
><
CopyIcon
/></
Button
>
<
Button
variant=
"light"
isIconOnly
aria
-
label=
"CopyIcon"
onPress=
{
handleCopy
}
><
CopyIcon
/></
Button
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment