feat: stop generating answers

This commit is contained in:
josc146
2023-03-16 11:20:21 +08:00
parent 91d47a2970
commit 0f97840d23
7 changed files with 79 additions and 9 deletions
@@ -223,6 +223,7 @@ function ConversationCard(props) {
type={data.type}
session={data.session}
done={data.done}
port={port}
/>
))}
</div>
+13 -1
View File
@@ -5,7 +5,7 @@ import CopyButton from '../CopyButton'
import PropTypes from 'prop-types'
import MarkdownRender from '../MarkdownRender/markdown.jsx'
export function ConversationItem({ type, content, session, done }) {
export function ConversationItem({ type, content, session, done, port }) {
const [collapsed, setCollapsed] = useState(false)
switch (type) {
@@ -36,6 +36,17 @@ export function ConversationItem({ type, content, session, done }) {
<div className="gpt-header">
<p>{session ? 'ChatGPT:' : 'Loading...'}</p>
<div style="display: flex; gap: 15px;">
{!done && (
<button
type="button"
className="normal-button"
onClick={() => {
port.postMessage({ stop: true })
}}
>
Stop
</button>
)}
{done && session && session.conversationId && (
<FeedbackForChatGPTWeb
messageId={session.messageId}
@@ -97,6 +108,7 @@ ConversationItem.propTypes = {
content: PropTypes.string.isRequired,
session: PropTypes.object.isRequired,
done: PropTypes.bool.isRequired,
port: PropTypes.object.isRequired,
}
export default ConversationItem