feat: add link component

This commit is contained in:
kangfenmao 2024-08-01 14:28:18 +08:00
parent 73e132a3ed
commit e22387117c
2 changed files with 11 additions and 2 deletions

View File

@ -0,0 +1,8 @@
import { omit } from 'lodash'
import React from 'react'
const Link: React.FC = (props) => {
return <a {...omit(props, 'node')} target="_blank" rel="noreferrer" onClick={(e) => e.stopPropagation()} />
}
export default Link

View File

@ -11,6 +11,7 @@ import { getModelLogo } from '@renderer/config/provider'
import { useAssistant } from '@renderer/hooks/useAssistant'
import useAvatar from '@renderer/hooks/useAvatar'
import { useSettings } from '@renderer/hooks/useSettings'
import { useRuntime } from '@renderer/hooks/useStore'
import { EVENT_NAMES, EventEmitter } from '@renderer/services/event'
import { Message } from '@renderer/types'
import { firstLetter, removeLeadingEmoji } from '@renderer/utils'
@ -22,7 +23,7 @@ import { useTranslation } from 'react-i18next'
import Markdown from 'react-markdown'
import styled from 'styled-components'
import CodeBlock from './CodeBlock'
import { useRuntime } from '@renderer/hooks/useStore'
import Link from './Link'
interface Props {
message: Message
@ -136,7 +137,7 @@ const MessageItem: FC<Props> = ({ message, index, showMenu, onDeleteMessage }) =
</MessageContentLoading>
)}
{message.status !== 'sending' && (
<Markdown className="markdown" components={{ code: CodeBlock as any }}>
<Markdown className="markdown" components={{ code: CodeBlock as any, a: Link as any }}>
{getMessageContent(message)}
</Markdown>
)}