@@ -10,10 +10,10 @@ import {
1010 ModalContent ,
1111 ModalFooter ,
1212 ModalHeader ,
13- TagIcon ,
1413 Textarea ,
1514 ThumbsDown ,
1615 ThumbsUp ,
16+ Tooltip ,
1717} from '@/components/emcn'
1818import { useSubmitCopilotFeedback } from '@/hooks/queries/copilot-feedback'
1919
@@ -105,6 +105,7 @@ export function MessageActions({ content, chatId, userQuery, requestId }: Messag
105105 if ( chatId && userQuery ) {
106106 setPendingFeedback ( type )
107107 setFeedbackText ( '' )
108+ setCopiedRequestId ( false )
108109 }
109110 } ,
110111 [ chatId , userQuery ]
@@ -133,6 +134,7 @@ export function MessageActions({ content, chatId, userQuery, requestId }: Messag
133134 if ( ! open ) {
134135 setPendingFeedback ( null )
135136 setFeedbackText ( '' )
137+ setCopiedRequestId ( false )
136138 }
137139 } , [ ] )
138140
@@ -165,31 +167,39 @@ export function MessageActions({ content, chatId, userQuery, requestId }: Messag
165167 >
166168 < ThumbsDown className = { ICON_CLASS } />
167169 </ button >
168- { requestId && (
169- < button
170- type = 'button'
171- aria-label = 'Copy request ID'
172- onClick = { copyRequestId }
173- className = { BUTTON_CLASS }
174- title = { copiedRequestId ? 'Copied!' : 'Copy request ID' }
175- >
176- { copiedRequestId ? (
177- < Check className = { ICON_CLASS } />
178- ) : (
179- < TagIcon className = { ICON_CLASS } />
180- ) }
181- </ button >
182- ) }
183170 </ div >
184171
185172 < Modal open = { pendingFeedback !== null } onOpenChange = { handleModalClose } >
186173 < ModalContent size = 'sm' >
187174 < ModalHeader > Give feedback</ ModalHeader >
188175 < ModalBody >
189176 < div className = 'flex flex-col gap-2' >
190- < p className = 'font-medium text-[var(--text-secondary)] text-sm' >
191- { pendingFeedback === 'up' ? 'What did you like?' : 'What could be improved?' }
192- </ p >
177+ < div className = 'flex items-start justify-between gap-2' >
178+ < p className = 'font-medium text-[var(--text-secondary)] text-sm' >
179+ { pendingFeedback === 'up' ? 'What did you like?' : 'What could be improved?' }
180+ </ p >
181+ { pendingFeedback === 'down' && requestId && (
182+ < Tooltip . Root >
183+ < Tooltip . Trigger asChild >
184+ < button
185+ type = 'button'
186+ aria-label = 'Copy request ID'
187+ onClick = { copyRequestId }
188+ className = 'flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[var(--text-icon)] transition-colors hover-hover:bg-[var(--surface-hover)] focus-visible:outline-none'
189+ >
190+ { copiedRequestId ? (
191+ < Check className = 'h-[14px] w-[14px]' />
192+ ) : (
193+ < Copy className = 'h-[14px] w-[14px]' />
194+ ) }
195+ </ button >
196+ </ Tooltip . Trigger >
197+ < Tooltip . Content side = 'top' >
198+ { copiedRequestId ? 'Copied request ID' : 'Copy request ID' }
199+ </ Tooltip . Content >
200+ </ Tooltip . Root >
201+ ) }
202+ </ div >
193203 < Textarea
194204 placeholder = {
195205 pendingFeedback === 'up'
0 commit comments