From e8bc6674ba2767efcec9de6fad39bc999bc7e1db Mon Sep 17 00:00:00 2001 From: d0422 Date: Thu, 7 Dec 2023 14:32:31 +0900 Subject: [PATCH 01/11] =?UTF-8?q?refactor:=20[FE]=20useLastMessageViewingS?= =?UTF-8?q?tate=EC=99=80=20useScroll=20=EB=91=90=EA=B0=9C=EB=A1=9C=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC=ED=95=98=EC=97=AC=20=EB=B3=91=ED=95=A9?= =?UTF-8?q?=EB=90=98=EC=96=B4=EC=9E=88=EB=8D=98=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC=20=20useLastMessageViewingState=EC=99=80=20u?= =?UTF-8?q?seScroll=20=EB=91=90=EA=B0=9C=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= =?UTF-8?q?=ED=95=98=EC=97=AC=20=EB=B3=91=ED=95=A9=EB=90=98=EC=96=B4?= =?UTF-8?q?=EC=9E=88=EB=8D=98=20=EB=A1=9C=EC=A7=81=20=EB=B6=84=EB=A6=AC=20?= =?UTF-8?q?(#213)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/hooks/useLastMessageViewingState.ts | 5 ++-- frontEnd/src/hooks/useScroll.ts | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 frontEnd/src/hooks/useScroll.ts diff --git a/frontEnd/src/hooks/useLastMessageViewingState.ts b/frontEnd/src/hooks/useLastMessageViewingState.ts index 72a4e54..ce203b9 100644 --- a/frontEnd/src/hooks/useLastMessageViewingState.ts +++ b/frontEnd/src/hooks/useLastMessageViewingState.ts @@ -1,7 +1,6 @@ import { useEffect, useState } from 'react'; -export default function useLastMessageViewingState() { - const [scrollRatio, setScrollRatio] = useState(100); +export default function useLastMessageViewingState(scrollRatio: number) { const [isViewingLastMessage, setIsViewingLastMessage] = useState(true); const [isRecievedMessage, setIsRecievedMessage] = useState(false); @@ -12,5 +11,5 @@ export default function useLastMessageViewingState() { } else setIsViewingLastMessage(false); }, [scrollRatio]); - return { setScrollRatio, setIsRecievedMessage, isRecievedMessage, isViewingLastMessage }; + return { setIsRecievedMessage, isRecievedMessage, isViewingLastMessage }; } diff --git a/frontEnd/src/hooks/useScroll.ts b/frontEnd/src/hooks/useScroll.ts new file mode 100644 index 0000000..d5067c8 --- /dev/null +++ b/frontEnd/src/hooks/useScroll.ts @@ -0,0 +1,28 @@ +import { useRef, useState } from 'react'; + +let timer: NodeJS.Timeout | null; + +export default function useScroll() { + const [scrollRatio, setScrollRatio] = useState(100); + const ref = useRef(null); + + const handleScroll = () => { + if (!timer) { + timer = setTimeout(() => { + timer = null; + + if (!ref.current) return; + + const { scrollTop, clientHeight, scrollHeight } = ref.current; + setScrollRatio(((scrollTop + clientHeight) / scrollHeight) * 100); + }, 200); + } + }; + + const moveToBottom = () => { + if (ref.current) ref.current.scrollTop = ref.current.scrollHeight; + setScrollRatio(100); + }; + + return { ref, scrollRatio, handleScroll, moveToBottom }; +} From 651c512dd68a9af381b3927444a3a0c9cca33af9 Mon Sep 17 00:00:00 2001 From: d0422 Date: Thu, 7 Dec 2023 14:33:36 +0900 Subject: [PATCH 02/11] =?UTF-8?q?refactor:=20[FE]=20useInput=20resetInput?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=B6=94=EA=B0=80=20useInput=20resetInput?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=B6=94=EA=B0=80=20(#213)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontEnd/src/hooks/useInput.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontEnd/src/hooks/useInput.ts b/frontEnd/src/hooks/useInput.ts index 0e6cb22..73036cf 100644 --- a/frontEnd/src/hooks/useInput.ts +++ b/frontEnd/src/hooks/useInput.ts @@ -10,5 +10,9 @@ export default function useInput(initialValue: string) { setInputValue(value); }; - return { inputValue, onChange }; + const resetInput = () => { + setInputValue(''); + }; + + return { inputValue, onChange, resetInput }; } From 8e4aec8534bc221d6f50c3bfa5f6e4778b4dfb64 Mon Sep 17 00:00:00 2001 From: d0422 Date: Thu, 7 Dec 2023 14:35:07 +0900 Subject: [PATCH 03/11] =?UTF-8?q?refactor:=20[FE]=20useInput,=20useScroll?= =?UTF-8?q?=20=EC=A0=81=EC=9A=A9=ED=95=98=EC=97=AC=20ChattingSection=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0=20useInput=EC=A0=81=EC=9A=A9,=20useScroll?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20=EB=AA=A8=ED=98=B8=ED=95=98=EB=8D=98=20ai?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=20=EC=97=AC=EB=B6=80=EB=A5=BC=20remoteUsingA?= =?UTF-8?q?I=EB=A1=9C=20=ED=95=A0=EB=8B=B9=ED=95=98=EC=97=AC=20=EB=AA=85?= =?UTF-8?q?=ED=99=95=ED=95=98=EA=B2=8C=20=EB=B3=80=EA=B2=BD=20(#213)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/room/ChattingSection.tsx | 52 +++++-------------- 1 file changed, 13 insertions(+), 39 deletions(-) diff --git a/frontEnd/src/components/room/ChattingSection.tsx b/frontEnd/src/components/room/ChattingSection.tsx index 69ff1d8..e449291 100644 --- a/frontEnd/src/components/room/ChattingSection.tsx +++ b/frontEnd/src/components/room/ChattingSection.tsx @@ -1,5 +1,5 @@ import { useParams } from 'react-router-dom'; -import { useEffect, useRef, useState } from 'react'; +import { useEffect, useState } from 'react'; import { Socket, io } from 'socket.io-client/debug'; import { VITE_CHAT_URL } from '@/constants/env'; import { ErrorData, ErrorResponse, MessageData } from '@/types/chatting'; @@ -12,12 +12,13 @@ import Section from '../common/SectionWrapper'; import { CHATTING_ERROR_STATUS_CODE, CHATTING_ERROR_TEXT } from '@/constants/chattingErrorResponse'; import ChattingErrorToast from '../common/ChattingErrorToast'; import useRoomConfigData from '@/stores/useRoomConfigData'; +import useInput from '@/hooks/useInput'; +import useScroll from '@/hooks/useScroll'; let socket: Socket; -let timer: NodeJS.Timeout | null; export default function ChattingSection() { - const [message, setMessage] = useState(''); + const { inputValue: message, onChange, resetInput } = useInput(''); const [allMessages, setAllMessage] = useState([]); const [usingAi, setUsingAi] = useState(false); const [postingAi, setPostingAi] = useState(false); @@ -26,35 +27,8 @@ export default function ChattingSection() { const nickname = useRoomConfigData((state) => state.nickname); - const { isViewingLastMessage, isRecievedMessage, setScrollRatio, setIsRecievedMessage } = useLastMessageViewingState(); - - const messageAreaRef = useRef(null); - - const handleScroll = () => { - if (!timer) { - timer = setTimeout(() => { - timer = null; - - if (!messageAreaRef.current) return; - - const { scrollTop, clientHeight, scrollHeight } = messageAreaRef.current; - setScrollRatio(((scrollTop + clientHeight) / scrollHeight) * 100); - }, 200); - } - }; - - const moveToBottom = (ref: React.RefObject) => { - if (ref.current) ref.current.scrollTop = ref.current.scrollHeight; - }; - - const handleMoveToBottom = () => { - moveToBottom(messageAreaRef); - setScrollRatio(100); - }; - - const handleInputMessage = (event: React.ChangeEvent) => { - setMessage(event.target.value); - }; + const { ref: messageAreaRef, scrollRatio, handleScroll, moveToBottom } = useScroll(); + const { isViewingLastMessage, isRecievedMessage, setIsRecievedMessage } = useLastMessageViewingState(scrollRatio); const handleMessageSend = (event: React.FormEvent) => { event.preventDefault(); @@ -66,15 +40,15 @@ export default function ChattingSection() { socket.emit(CHATTING_SOCKET_EMIT_EVNET.SEND_MESSAGE, { room: roomId, message, nickname, ai: true }); } else socket.emit(CHATTING_SOCKET_EMIT_EVNET.SEND_MESSAGE, { room: roomId, message, nickname, ai: false }); - setMessage(''); - setScrollRatio(100); + resetInput(); + moveToBottom(); }; const handleRecieveMessage = (recievedMessage: string) => { const newMessage: MessageData | { using: boolean } = JSON.parse(recievedMessage); + const remoteUsingAi = 'using' in newMessage; - // 새로운 메시지가 AI 사용 여부에 관한 메시지인 경우 - if ('using' in newMessage) { + if (remoteUsingAi) { setPostingAi(newMessage.using); return; } @@ -109,7 +83,7 @@ export default function ChattingSection() { }, []); useEffect(() => { - if (isViewingLastMessage) moveToBottom(messageAreaRef); + if (isViewingLastMessage) moveToBottom(); else setIsRecievedMessage(true); }, [allMessages]); @@ -125,12 +99,12 @@ export default function ChattingSection() { ))} - {isRecievedMessage && } + {isRecievedMessage && } {errorData && } Date: Thu, 7 Dec 2023 14:38:42 +0900 Subject: [PATCH 04/11] =?UTF-8?q?test:=20[FE]=20useInput=20resetInput=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20useInput=20resetInput=20=ED=95=A8=EC=88=98=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80=20(#213)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontEnd/src/hooks/tests/useInput.test.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frontEnd/src/hooks/tests/useInput.test.ts b/frontEnd/src/hooks/tests/useInput.test.ts index c6ead95..940a6df 100644 --- a/frontEnd/src/hooks/tests/useInput.test.ts +++ b/frontEnd/src/hooks/tests/useInput.test.ts @@ -18,4 +18,14 @@ describe('useInput 기능테스트', () => { expect(result.current.inputValue).toBe('changeValue'); }); + + it('resetInput을 실행시키면 입력값이 초기화된다.', () => { + const { result } = renderHook(() => useInput('initial')); + + act(() => { + result.current.resetInput(); + }); + + expect(result.current.inputValue).toBe(''); + }); }); From 828483fb8c3165226d0958de627273305db047a6 Mon Sep 17 00:00:00 2001 From: d0422 Date: Thu, 7 Dec 2023 15:55:23 +0900 Subject: [PATCH 05/11] =?UTF-8?q?fix:=20[FE]=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=20=EB=A6=AC=EB=8B=A4=EC=9D=B4=EB=A0=89=ED=8A=B8=EC=8B=9C=20?= =?UTF-8?q?=EB=B0=A9=EC=84=A4=EC=A0=95=20=EC=B0=BD=EC=9D=B4=20=EB=B3=B4?= =?UTF-8?q?=EC=9D=B4=EB=8A=94=20=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EB=A6=AC=EB=8B=A4=EC=9D=B4?= =?UTF-8?q?=EB=A0=89=ED=8A=B8=EC=8B=9C=20=EB=B0=A9=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=B0=BD=EC=9D=B4=20=EB=B3=B4=EC=9D=B4=EB=8A=94=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=ED=95=B4=EA=B2=B0=20(#218)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontEnd/src/components/room/modal/LoginModal.tsx | 1 + frontEnd/src/pages/Room.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontEnd/src/components/room/modal/LoginModal.tsx b/frontEnd/src/components/room/modal/LoginModal.tsx index 048e38a..e70813d 100644 --- a/frontEnd/src/components/room/modal/LoginModal.tsx +++ b/frontEnd/src/components/room/modal/LoginModal.tsx @@ -37,6 +37,7 @@ export default function LoginModal({ code }: { code: string }) { const token = await getDevCookie(); document.cookie = `access_token=${token};`; hide(); + window.location.reload(); } reactQueryClient.invalidateQueries({ queryKey: [QUERY_KEYS.LOAD_CODES] }); }; diff --git a/frontEnd/src/pages/Room.tsx b/frontEnd/src/pages/Room.tsx index e976a7c..b72d83c 100644 --- a/frontEnd/src/pages/Room.tsx +++ b/frontEnd/src/pages/Room.tsx @@ -1,3 +1,4 @@ +import { useState } from 'react'; import { useParams } from 'react-router-dom'; import useRTCConnection from '@/hooks/useRTCConnection'; import Setting from '@/components/setting/Settings'; @@ -11,15 +12,14 @@ import useRoomConfigData from '@/stores/useRoomConfigData'; export default function Room() { const defaultCode = localStorage.getItem('code'); - + const defaultNickName = localStorage.getItem('nickName'); + const [hasLogin] = useState((!!defaultCode || defaultCode === '') && !!defaultNickName); const { roomId } = useParams(); const mediaObject = useMedia(); - const isConnectionDone = useRoomConfigData((state) => state.isConnectionDone); const { streamList } = useRTCConnection(roomId as string, mediaObject.stream as MediaStream); - - if (!isConnectionDone) return ; + if (!isConnectionDone && !hasLogin) return ; return (
From 224cf41d15226360fea9fcadef65c9e0c9965984 Mon Sep 17 00:00:00 2001 From: d0422 Date: Thu, 7 Dec 2023 16:03:40 +0900 Subject: [PATCH 06/11] =?UTF-8?q?refactor:=20[FE]=20state=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=ED=95=98=EA=B3=A0=20=EC=83=81=EC=88=98=ED=98=95?= =?UTF-8?q?=ED=83=9C=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20state=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=ED=95=98=EA=B3=A0=20=EC=83=81=EC=88=98=ED=98=95?= =?UTF-8?q?=ED=83=9C=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20(#218)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontEnd/src/pages/Room.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontEnd/src/pages/Room.tsx b/frontEnd/src/pages/Room.tsx index b72d83c..577aae6 100644 --- a/frontEnd/src/pages/Room.tsx +++ b/frontEnd/src/pages/Room.tsx @@ -1,4 +1,3 @@ -import { useState } from 'react'; import { useParams } from 'react-router-dom'; import useRTCConnection from '@/hooks/useRTCConnection'; import Setting from '@/components/setting/Settings'; @@ -10,10 +9,11 @@ import ChattingSection from '@/components/room/ChattingSection'; import ControllSection from '@/components/room/ControllSection'; import useRoomConfigData from '@/stores/useRoomConfigData'; +const defaultCode = localStorage.getItem('code'); +const defaultNickName = localStorage.getItem('nickName'); +const hasLogin = (!!defaultCode || defaultCode === '') && !!defaultNickName; + export default function Room() { - const defaultCode = localStorage.getItem('code'); - const defaultNickName = localStorage.getItem('nickName'); - const [hasLogin] = useState((!!defaultCode || defaultCode === '') && !!defaultNickName); const { roomId } = useParams(); const mediaObject = useMedia(); const isConnectionDone = useRoomConfigData((state) => state.isConnectionDone); From d48884cd34cc6ac95f8f5858f59eae02cb82061f Mon Sep 17 00:00:00 2001 From: d0422 Date: Thu, 7 Dec 2023 16:37:55 +0900 Subject: [PATCH 07/11] =?UTF-8?q?feat:=20[FE]=20=EC=96=B8=EC=96=B4?= =?UTF-8?q?=EB=B3=84=EB=A1=9C=20=EC=9D=B4=EB=AF=B8=EC=A7=80=EB=A5=BC=20?= =?UTF-8?q?=EB=8B=A4=EB=A5=B4=EA=B2=8C=20=EB=A0=8C=EB=8D=94=EB=A7=81=20?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=B2=98=EB=A6=AC=20=EC=96=B8?= =?UTF-8?q?=EC=96=B4=EB=B3=84=EB=A1=9C=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=EB=A5=BC=20=EB=8B=A4=EB=A5=B4=EA=B2=8C=20=EB=A0=8C=EB=8D=94?= =?UTF-8?q?=EB=A7=81=20=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?(#220)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontEnd/public/cFile.png | Bin 0 -> 26616 bytes frontEnd/public/javaFile.png | Bin 0 -> 29287 bytes frontEnd/public/javascriptFile.png | Bin 0 -> 24354 bytes frontEnd/public/kotlinFile.png | Bin 0 -> 33362 bytes frontEnd/public/pythonFile.png | Bin 0 -> 23353 bytes frontEnd/public/swiftFile.png | Bin 0 -> 24681 bytes .../room/modal/codeList/CodeFileButton.tsx | 2 +- 7 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 frontEnd/public/cFile.png create mode 100644 frontEnd/public/javaFile.png create mode 100644 frontEnd/public/javascriptFile.png create mode 100644 frontEnd/public/kotlinFile.png create mode 100644 frontEnd/public/pythonFile.png create mode 100644 frontEnd/public/swiftFile.png diff --git a/frontEnd/public/cFile.png b/frontEnd/public/cFile.png new file mode 100644 index 0000000000000000000000000000000000000000..93c1c29db5c29ee9586de3bcc6f51b10355341c8 GIT binary patch literal 26616 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 literal 0 HcmV?d00001 diff --git a/frontEnd/public/javaFile.png b/frontEnd/public/javaFile.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae852b41e403b2987a2f53d7e56c429468543ff GIT binary patch literal 29287 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%0ASLv6nJ6kY~#s*fOE=>h}n00pKh0bzp6gH+9# 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 literal 0 HcmV?d00001 diff --git a/frontEnd/public/javascriptFile.png b/frontEnd/public/javascriptFile.png new file mode 100644 index 0000000000000000000000000000000000000000..66f690d6b9b7428aef6cacd6f2207a893f746ce0 GIT binary patch literal 24354 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 YAsby^Mh5`h?LjxM-@R6#^W@F{06N{mv;Y7A literal 0 HcmV?d00001 diff --git a/frontEnd/public/pythonFile.png b/frontEnd/public/pythonFile.png new file mode 100644 index 0000000000000000000000000000000000000000..5efd4b36225e7a46453d8891c00a4ae791c1f258 GIT binary patch literal 23353 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 GJO2P2K(#Lb literal 0 HcmV?d00001 diff --git a/frontEnd/public/swiftFile.png b/frontEnd/public/swiftFile.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0f0dac3c34f11f333d27d19ff02e6e11ac95ab GIT binary patch literal 24681 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

- fileIcon + fileIcon {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}
From aa684f1d0bdb18ec9a7528a1318801190e651fa9 Mon Sep 17 00:00:00 2001 From: HBSPS Date: Thu, 7 Dec 2023 15:32:06 +0900 Subject: [PATCH 08/11] =?UTF-8?q?feat:=20[FE]=20AI=EA=B0=80=20=EB=B3=B4?= =?UTF-8?q?=EB=82=B8=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EC=83=89=EC=83=81=20?= =?UTF-8?q?=EA=B5=AC=EB=B6=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (#217) --- frontEnd/src/components/room/ChattingSection.tsx | 2 ++ .../components/room/chatting/ChattingInput.tsx | 2 +- .../components/room/chatting/ChattingMessage.tsx | 16 +++++++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/frontEnd/src/components/room/ChattingSection.tsx b/frontEnd/src/components/room/ChattingSection.tsx index e449291..ca03b45 100644 --- a/frontEnd/src/components/room/ChattingSection.tsx +++ b/frontEnd/src/components/room/ChattingSection.tsx @@ -37,6 +37,8 @@ export default function ChattingSection() { if (usingAi) { setPostingAi(true); + + socket.emit(CHATTING_SOCKET_EMIT_EVNET.SEND_MESSAGE, { room: roomId, message, nickname: `${nickname}의 질문`, ai: false }); socket.emit(CHATTING_SOCKET_EMIT_EVNET.SEND_MESSAGE, { room: roomId, message, nickname, ai: true }); } else socket.emit(CHATTING_SOCKET_EMIT_EVNET.SEND_MESSAGE, { room: roomId, message, nickname, ai: false }); diff --git a/frontEnd/src/components/room/chatting/ChattingInput.tsx b/frontEnd/src/components/room/chatting/ChattingInput.tsx index 2221a15..ec6ceb9 100644 --- a/frontEnd/src/components/room/chatting/ChattingInput.tsx +++ b/frontEnd/src/components/room/chatting/ChattingInput.tsx @@ -3,8 +3,8 @@ import ToggleAi from '@/components/common/ToggleAi'; function SendButtonText({ usingAi, postingAi }: { usingAi: boolean; postingAi: boolean }) { if (!usingAi) return '전송'; - if (postingAi) return ; + return '질문'; } diff --git a/frontEnd/src/components/room/chatting/ChattingMessage.tsx b/frontEnd/src/components/room/chatting/ChattingMessage.tsx index 0381760..da2e33d 100644 --- a/frontEnd/src/components/room/chatting/ChattingMessage.tsx +++ b/frontEnd/src/components/room/chatting/ChattingMessage.tsx @@ -6,10 +6,20 @@ interface ChattingMessageProps { } export default function ChattingMessage({ messageData, isMyMessage }: ChattingMessageProps) { + const aiMessage = messageData.ai; + const myMessage = !aiMessage && isMyMessage; + + const getMessageColor = () => { + if (aiMessage) return 'bg-point-blue text-white'; + if (myMessage) return 'bg-blue-100'; + + return 'bg-yellow-100'; + }; + return ( -
- {messageData.nickname} -
+
+ {aiMessage ? '클로바 X' : messageData.nickname} +
{messageData.message}
From 6100ea9e375e41f76c50f91938fd3ba4aa51bb48 Mon Sep 17 00:00:00 2001 From: HBSPS Date: Thu, 7 Dec 2023 16:07:41 +0900 Subject: [PATCH 09/11] =?UTF-8?q?feat:=20[FE]=20=EC=B1=84=ED=8C=85?= =?UTF-8?q?=EC=B0=BD=20=EB=A9=80=ED=8B=B0=20=EB=9D=BC=EC=9D=B8=20=EC=A7=80?= =?UTF-8?q?=EC=9B=90=20Shift=20+=20Enter:=20=EC=A4=84=EB=B0=94=EA=BF=88=20?= =?UTF-8?q?Enter:=20=EC=A0=84=EC=86=A1=20(#217)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/common/ChattingErrorToast.tsx | 2 +- .../src/components/room/ChattingSection.tsx | 2 +- .../room/chatting/ChattingInput.tsx | 21 +++++++++++++------ .../room/chatting/ChattingMessage.tsx | 2 +- frontEnd/src/hooks/useInput.ts | 4 ++-- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/frontEnd/src/components/common/ChattingErrorToast.tsx b/frontEnd/src/components/common/ChattingErrorToast.tsx index 1fabd71..7eec771 100644 --- a/frontEnd/src/components/common/ChattingErrorToast.tsx +++ b/frontEnd/src/components/common/ChattingErrorToast.tsx @@ -7,7 +7,7 @@ interface ChattingErrorToastProps { export default function ChattingErrorToast({ errorData, setErrorData }: ChattingErrorToastProps) { return ( -
+
{errorData.text1} {errorData.text2} diff --git a/frontEnd/src/components/room/ChattingSection.tsx b/frontEnd/src/components/room/ChattingSection.tsx index ca03b45..c1c436f 100644 --- a/frontEnd/src/components/room/ChattingSection.tsx +++ b/frontEnd/src/components/room/ChattingSection.tsx @@ -18,7 +18,7 @@ import useScroll from '@/hooks/useScroll'; let socket: Socket; export default function ChattingSection() { - const { inputValue: message, onChange, resetInput } = useInput(''); + const { inputValue: message, onChange, resetInput } = useInput(''); const [allMessages, setAllMessage] = useState([]); const [usingAi, setUsingAi] = useState(false); const [postingAi, setPostingAi] = useState(false); diff --git a/frontEnd/src/components/room/chatting/ChattingInput.tsx b/frontEnd/src/components/room/chatting/ChattingInput.tsx index ec6ceb9..094adda 100644 --- a/frontEnd/src/components/room/chatting/ChattingInput.tsx +++ b/frontEnd/src/components/room/chatting/ChattingInput.tsx @@ -11,7 +11,7 @@ function SendButtonText({ usingAi, postingAi }: { usingAi: boolean; postingAi: b interface ChattingInputProps { handleMessageSend: (event: React.FormEvent) => void; message: string; - handleInputMessage: (event: React.ChangeEvent) => void; + handleInputMessage: (event: React.ChangeEvent) => void; usingAi: boolean; setUsingAi: React.Dispatch>; postingAi: boolean; @@ -25,21 +25,30 @@ export default function ChattingInput({ setUsingAi, postingAi, }: ChattingInputProps) { + const handleKeyDown = (event: React.KeyboardEvent) => { + if (event.key === 'Enter' && !event.shiftKey) { + event.preventDefault(); + handleMessageSend(event as unknown as React.FormEvent); + } + }; + return (
-
- +