| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | 
							- 'use client'
 
- import type { FC } from 'react'
 
- import React from 'react'
 
- import { useTranslation } from 'react-i18next'
 
- import { ClipboardDocumentIcon, HandThumbDownIcon, HandThumbUpIcon } from '@heroicons/react/24/outline'
 
- import copy from 'copy-to-clipboard'
 
- import type { FeedbackType } from '@/app/components/base/chat/chat/type'
 
- import Button from '@/app/components/base/button'
 
- import Toast from '@/app/components/base/toast'
 
- import Tooltip from '@/app/components/base/tooltip'
 
- type IResultHeaderProps = {
 
-   result: string
 
-   showFeedback: boolean
 
-   feedback: FeedbackType
 
-   onFeedback: (feedback: FeedbackType) => void
 
- }
 
- const Header: FC<IResultHeaderProps> = ({
 
-   feedback,
 
-   showFeedback,
 
-   onFeedback,
 
-   result,
 
- }) => {
 
-   const { t } = useTranslation()
 
-   return (
 
-     <div className='flex w-full justify-between items-center '>
 
-       <div className='text-gray-800 text-2xl leading-4 font-normal'>{t('share.generation.resultTitle')}</div>
 
-       <div className='flex items-center space-x-2'>
 
-         <Button
 
-           className='h-7 p-[2px] pr-2'
 
-           onClick={() => {
 
-             copy(result)
 
-             Toast.notify({ type: 'success', message: 'copied' })
 
-           }}
 
-         >
 
-           <>
 
-             <ClipboardDocumentIcon className='text-gray-500 w-4 h-3 mr-1' />
 
-             <span className='text-gray-500 text-xs leading-3'>{t('share.generation.copy')}</span>
 
-           </>
 
-         </Button>
 
-         {showFeedback && feedback.rating && feedback.rating === 'like' && (
 
-           <Tooltip
 
-             popupContent="Undo Great Rating"
 
-           >
 
-             <div
 
-               onClick={() => {
 
-                 onFeedback({
 
-                   rating: null,
 
-                 })
 
-               }}
 
-               className='flex w-7 h-7 items-center justify-center rounded-md cursor-pointer  !text-primary-600 border border-primary-200 bg-primary-100 hover:border-primary-300 hover:bg-primary-200'>
 
-               <HandThumbUpIcon width={16} height={16} />
 
-             </div>
 
-           </Tooltip>
 
-         )}
 
-         {showFeedback && feedback.rating && feedback.rating === 'dislike' && (
 
-           <Tooltip
 
-             popupContent="Undo Undesirable Response"
 
-           >
 
-             <div
 
-               onClick={() => {
 
-                 onFeedback({
 
-                   rating: null,
 
-                 })
 
-               }}
 
-               className='flex w-7 h-7 items-center justify-center rounded-md cursor-pointer  !text-red-600 border border-red-200 bg-red-100 hover:border-red-300 hover:bg-red-200'>
 
-               <HandThumbDownIcon width={16} height={16} />
 
-             </div>
 
-           </Tooltip>
 
-         )}
 
-         {showFeedback && !feedback.rating && (
 
-           <div className='flex rounded-lg border border-gray-200 p-[1px] space-x-1'>
 
-             <Tooltip
 
-               popupContent="Great Rating"
 
-               needsDelay={false}
 
-             >
 
-               <div
 
-                 onClick={() => {
 
-                   onFeedback({
 
-                     rating: 'like',
 
-                   })
 
-                 }}
 
-                 className='flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-gray-100'>
 
-                 <HandThumbUpIcon width={16} height={16} />
 
-               </div>
 
-             </Tooltip>
 
-             <Tooltip
 
-               popupContent="Undesirable Response"
 
-               needsDelay={false}
 
-             >
 
-               <div
 
-                 onClick={() => {
 
-                   onFeedback({
 
-                     rating: 'dislike',
 
-                   })
 
-                 }}
 
-                 className='flex w-6 h-6 items-center justify-center rounded-md cursor-pointer hover:bg-gray-100'>
 
-                 <HandThumbDownIcon width={16} height={16} />
 
-               </div>
 
-             </Tooltip>
 
-           </div>
 
-         )}
 
-       </div>
 
-     </div>
 
-   )
 
- }
 
- export default React.memo(Header)
 
 
  |