diff --git a/src/chatbotPage/components/ChatbotBody.jsx b/src/chatbotPage/components/ChatbotBody.jsx index d40a3bb..b7e693d 100644 --- a/src/chatbotPage/components/ChatbotBody.jsx +++ b/src/chatbotPage/components/ChatbotBody.jsx @@ -14,6 +14,7 @@ function ChatbotBody() { const [isLoading, setIsLoading] = useState(false); // 로딩 상태 추가 const location = useLocation(); const chatId = location.state.chatId.chatId; + const goalId = location.state.goalId; const clientRef = useRef(null); // const isFirstLoadRef = useRef(true); //이 페이지가 로드 되었는가 (맨 처음 한번만 채팅 기록 가져오기위해 씀) const scrollRef = useRef(); // 스크롤 채팅창 맨 아래로 넣어주기 위해 사용하는 부분 @@ -201,7 +202,11 @@ function ChatbotBody() { {modalOpen && ( - + )} diff --git a/src/chatbotPage/components/LoadingModal.jsx b/src/chatbotPage/components/LoadingModal.jsx index fee9822..4695d4e 100644 --- a/src/chatbotPage/components/LoadingModal.jsx +++ b/src/chatbotPage/components/LoadingModal.jsx @@ -6,22 +6,14 @@ import postChatSummary from "../../apis/postChatSummary"; import { useRecoilValue } from "recoil"; import { tokenState } from "../../atom/atom"; -// import React, { useState, useEffect } from "react"; -// import { useNavigate } from "react-router-dom"; -// import { useRecoilValue } from "recoil"; -// import { tokenState } from "../recoil/atoms"; -// import { postChatSummary } from "../api"; // Adjust the import path as needed -// import styled from "styled-components"; -// import loadingImg from "../../asset/loading.svg"; // Adjust the import path as needed - -function LoadingModal({ chatId, setModalOpen }) { +function LoadingModal({ chatId, setModalOpen, goalId }) { const csrfToken = useRecoilValue(tokenState); const navigate = useNavigate(); const [summaryText, setSummaryText] = useState(""); const closeLoadingModal = () => { setModalOpen(false); - navigate("/summaryEdit", { state: { summaryText } }); + navigate("/summaryEdit", { state: { summaryText, goalId } }); }; useEffect(() => { @@ -64,69 +56,6 @@ function LoadingModal({ chatId, setModalOpen }) { export default LoadingModal; -// function LoadingModal({ chatId, setModalOpen }) { -// const csrfToken = useRecoilValue(tokenState); - -// const navigate = useNavigate(); -// // const location = useLocation(); -// const [summaryText, setSummaryText] = useState(""); -// // const { summary } = location.state; -// const closeLoadingModal = () => { -// setModalOpen(false); -// navigate("/summaryEdit", { state: { summaryText } }); // navigate하면서 요약된 내용을 보내줘야한다. 여기서 연결해야할 것 같다. -// }; - -// useEffect(() => { -// console.log("chatid: ", chatId); - -// const summaryFetch = async () => { -// try { -// const summary = await postChatSummary(chatId, csrfToken); - -// console.log("summary : ", summary); -// // summary = fetchedSummary; -// setSummaryText(summary.content); -// console.log("아아아악summary : ", summary.content); -// closeLoadingModal(); // 일지 받아오고 나면 모달 닫기 -// } catch (error) { -// console.error("Error fetching diary detail:", error); -// console.log("summary AAA"); -// } -// }; -// summaryFetch(); -// }, [chatId, csrfToken]); - -// useEffect(() => { -// if (summaryText) { -// closeLoadingModal(); // Navigate only after summaryText is updated -// } -// }, [summaryText]); // 값 변하면 업데이트 -// return ( -//
-// -// {/* */} -// -// loading -//

steppy가 일지를 요약중이에요!

-//
-// steppy와 대화 중 일지에 추가하고 싶은 내용이 있었나요? -//
-// 일지 수정하기 페이지에 담아주세요 :) -//
-//
-// {/*
*/} -//
-//
-// ); -// } - -// export default LoadingModal; - const modalBase = ` width: 100vw; height: 100vh; diff --git a/src/diaryBotPage/components/SummaryEdit.jsx b/src/diaryBotPage/components/SummaryEdit.jsx index 3501387..03dc5d3 100644 --- a/src/diaryBotPage/components/SummaryEdit.jsx +++ b/src/diaryBotPage/components/SummaryEdit.jsx @@ -23,8 +23,9 @@ function SummaryEdit() { content: "", }); const csrfToken = useRecoilValue(tokenState); - const goalId = location.state.goalId; + const goalId = location.state?.goalId; + console.log("<<<<<<< { setThumbnailModal(true); }; @@ -32,6 +33,15 @@ function SummaryEdit() { console.log("formData updated:", formData, csrfToken); }, [formData]); + // summaryText가 있을 때 formData.content를 업데이트 + useEffect(() => { + if (summaryText) { + setFormData((formData) => ({ + ...formData, + content: summaryText, + })); + } + }, [summaryText]); return ( diff --git a/src/diaryListPage/components/CreateDiaryModal.jsx b/src/diaryListPage/components/CreateDiaryModal.jsx index e14845d..894389e 100644 --- a/src/diaryListPage/components/CreateDiaryModal.jsx +++ b/src/diaryListPage/components/CreateDiaryModal.jsx @@ -14,7 +14,7 @@ function CreateDiaryModal({ setIsModalOpen, goalId }) { const chatId = await createChatbotRoom(csrfToken, goalId); console.log("채팅아디", chatId.chatId); closeCreateDiaryModal(); - navigate(`../chatbot`, { state: { chatId } }); + navigate(`../chatbot`, { state: { chatId, goalId } }); } catch (error) { console.error("채팅방 생성 실패", error); } @@ -40,17 +40,29 @@ function CreateDiaryModal({ setIsModalOpen, goalId }) { 👾 steppy와 함께 일지 작성하기 -
무슨 일지를 써야할지 고민이 되는 날에도, 고된 일정으로 피곤한 하루에도
-
steppy가 chicky님의 꾸준한 기록을 도와줄게요!
+
+ 무슨 일지를 써야할지 고민이 되는 날에도, 고된 일정으로 + 피곤한 하루에도 +
+
+ steppy가 chicky님의 꾸준한 기록을 도와줄게요! +
- navigate(`/write`, { state: { goalId } })}> + navigate(`/write`, { state: { goalId } })} + > ✍️ 직접 작성하기 -
오늘만큼은 적고 싶은게 너무 많은 날, 떠오르는 생각과 느낌을 적고 싶은 날
-
자유롭게 하루의 일지를 적어보아요!
+
+ 오늘만큼은 적고 싶은게 너무 많은 날, 떠오르는 생각과 느낌을 + 적고 싶은 날 +
+
+ 자유롭게 하루의 일지를 적어보아요! +