diff --git a/src/renderer/src/pages/home/Markdown/Artifacts.tsx b/src/renderer/src/pages/home/Markdown/Artifacts.tsx index 9f7455d6..f5a8ae35 100644 --- a/src/renderer/src/pages/home/Markdown/Artifacts.tsx +++ b/src/renderer/src/pages/home/Markdown/Artifacts.tsx @@ -1,3 +1,4 @@ +import { DownloadOutlined, ExpandOutlined } from '@ant-design/icons' import MinApp from '@renderer/components/MinApp' import { AppLogo } from '@renderer/config/env' import { extractTitle } from '@renderer/utils/formula' @@ -31,10 +32,10 @@ const Artifacts: FC = ({ html }) => { return ( - - diff --git a/src/renderer/src/pages/home/Markdown/CodeBlock.tsx b/src/renderer/src/pages/home/Markdown/CodeBlock.tsx index d5024467..38feee6c 100644 --- a/src/renderer/src/pages/home/Markdown/CodeBlock.tsx +++ b/src/renderer/src/pages/home/Markdown/CodeBlock.tsx @@ -88,7 +88,6 @@ const CodeHeader = styled.div` color: var(--color-text); font-size: 14px; font-weight: bold; - /* background-color: var(--color-code-background); */ height: 34px; padding: 0 10px; border-top-left-radius: 8px; diff --git a/src/renderer/src/pages/home/Messages/Message.tsx b/src/renderer/src/pages/home/Messages/Message.tsx index 6ed054d8..bb2e7d0c 100644 --- a/src/renderer/src/pages/home/Messages/Message.tsx +++ b/src/renderer/src/pages/home/Messages/Message.tsx @@ -9,7 +9,7 @@ import { estimateMessageUsage } from '@renderer/services/tokens' import { Message, Topic } from '@renderer/types' import { runAsyncFunction } from '@renderer/utils' import { Divider } from 'antd' -import { Dispatch, FC, memo, SetStateAction, useEffect, useMemo, useRef, useState } from 'react' +import { Dispatch, FC, memo, SetStateAction, useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' @@ -47,6 +47,7 @@ const MessageItem: FC = ({ const isLastMessage = index === 0 const isAssistantMessage = message.role === 'assistant' + const showMenubar = !message.status.includes('ing') const fontFamily = useMemo(() => { return messageFont === 'serif' ? FONT_FAMILY.replace('sans-serif', 'serif').replace('Ubuntu, ', '') : FONT_FAMILY @@ -54,12 +55,15 @@ const MessageItem: FC = ({ const messageBorder = showMessageDivider ? undefined : 'none' - const onEditMessage = (msg: Message) => { - setMessage(msg) - const messages = onGetMessages?.().map((m) => (m.id === message.id ? message : m)) - messages && onSetMessages?.(messages) - topic && db.topics.update(topic.id, { messages }) - } + const onEditMessage = useCallback( + (msg: Message) => { + setMessage(msg) + const messages = onGetMessages?.().map((m) => (m.id === message.id ? message : m)) + messages && onSetMessages?.(messages) + topic && db.topics.update(topic.id, { messages }) + }, + [message, onGetMessages, onSetMessages, topic] + ) useEffect(() => { const unsubscribes = [ @@ -68,10 +72,9 @@ const MessageItem: FC = ({ messageContainerRef.current.scrollIntoView({ behavior: 'smooth' }) if (highlight) { setTimeout(() => { - messageContainerRef.current?.classList.add('message-highlight') - setTimeout(() => { - messageContainerRef.current?.classList.remove('message-highlight') - }, 2500) + const classList = messageContainerRef.current?.classList + classList?.add('message-highlight') + setTimeout(() => classList?.remove('message-highlight'), 2500) }, 500) } } @@ -112,6 +115,7 @@ const MessageItem: FC = ({ }) } } + // eslint-disable-next-line react-hooks/exhaustive-deps }, []) if (hidePresetMessages && message.isPreset) { @@ -131,7 +135,7 @@ const MessageItem: FC = ({ - {!message.status.includes('ing') && ( + {showMenubar && (