From 55f04ffa60a78811b1408ed1e5cf752ced583be8 Mon Sep 17 00:00:00 2001 From: Hyunggyu Jang Date: Sun, 26 Mar 2023 13:01:35 +0900 Subject: [PATCH] Make tone adjustment available after conversation started if sydney --- .../src/components/Main/AdjustToneButton.jsx | 30 +++++++++++++++++++ client/src/components/Main/BingStyles.jsx | 6 ++-- client/src/components/Main/TextChat.jsx | 15 ++++++++-- 3 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 client/src/components/Main/AdjustToneButton.jsx diff --git a/client/src/components/Main/AdjustToneButton.jsx b/client/src/components/Main/AdjustToneButton.jsx new file mode 100644 index 0000000000..3bc30be256 --- /dev/null +++ b/client/src/components/Main/AdjustToneButton.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +export default function AdjustButton({ onClick }) { + const clickHandler = (e) => { + e.preventDefault(); + onClick(); + }; + return ( + + ); +} diff --git a/client/src/components/Main/BingStyles.jsx b/client/src/components/Main/BingStyles.jsx index a54134e34d..ee2cd85f2a 100644 --- a/client/src/components/Main/BingStyles.jsx +++ b/client/src/components/Main/BingStyles.jsx @@ -9,15 +9,15 @@ function BingStyles(props, ref) { const { model } = useSelector((state) => state.submit); const { conversationId } = useSelector((state) => state.convo); const { messages } = useSelector((state) => state.messages); - + const isBing = model === 'bingai' || model === 'sydney'; useEffect(() => { - if (isBing && !conversationId) { + if (isBing) { dispatch(setConversation({ toneStyle: value })); } }, [isBing, conversationId, model, value, dispatch]); - const show = isBing && (!conversationId || messages?.length === 0); + const show = isBing && ((!conversationId || messages?.length === 0) || props.show); const defaultClasses = 'p-2 rounded-md font-normal bg-white/[.60] dark:bg-gray-700 text-black'; const defaultSelected = defaultClasses + 'font-medium data-[state=active]:text-white'; diff --git a/client/src/components/Main/TextChat.jsx b/client/src/components/Main/TextChat.jsx index c2c37796ac..54e3d44344 100644 --- a/client/src/components/Main/TextChat.jsx +++ b/client/src/components/Main/TextChat.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useRef } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { SSE } from '~/utils/sse'; import SubmitButton from './SubmitButton'; @@ -15,14 +15,16 @@ import { setMessages } from '~/store/messageSlice'; import { setSubmitState, toggleCursor } from '~/store/submitSlice'; import { setText } from '~/store/textSlice'; import { useMessageHandler } from '../../utils/handleSubmit'; +import AdjustToneButton from './AdjustToneButton'; export default function TextChat({ messages }) { const inputRef = useRef(null); const bingStylesRef = useRef(null); + const [showBingToneSetting, setShowBingToneSetting] = useState(false); const isComposing = useRef(false); const dispatch = useDispatch(); const convo = useSelector(state => state.convo); - const { isSubmitting, stopStream, submission, disabled } = useSelector(state => state.submit); + const { isSubmitting, stopStream, submission, disabled, model } = useSelector(state => state.submit); const { text } = useSelector(state => state.text); const { latestMessage } = convo; const { ask, regenerate, stopGenerating } = useMessageHandler(); @@ -372,13 +374,17 @@ export default function TextChat({ messages }) { return ''; }; + const handleBingToneSetting = () => { + setShowBingToneSetting((show) => !show) + } + return ( <>
- + {isSubmitting && !isSearchView ? (