diff --git a/src/pages/letterPage/pages/letter-guide-page.tsx b/src/pages/letterPage/pages/letter-guide-page.tsx index f18e1b5..fc62709 100644 --- a/src/pages/letterPage/pages/letter-guide-page.tsx +++ b/src/pages/letterPage/pages/letter-guide-page.tsx @@ -16,19 +16,20 @@ export default function LetterGuidePage({ const { shareUri } = useParams(); const location = useLocation(); + const isJoinPage = location.pathname.startsWith("/join/"); + const isFirstTimeJoin = location.pathname === "/join/letter/guide"; + // fetch board info when shareUri is present to get the owner's name + // join 페이지에서는 보드 정보를 가져올 필요 없음 const boardInfoQuery = useQuery({ queryKey: ["boardInfo", shareUri], queryFn: () => getBoardInfo(shareUri ?? ""), - enabled: Boolean(shareUri), + enabled: Boolean(shareUri) && !isJoinPage, }); const computedNickname = boardInfoQuery.data?.data?.nickname ?? (nickname as string); - const isJoinPage = location.pathname.startsWith("/join/"); - const isFirstTimeJoin = location.pathname === "/join/letter/guide"; - const handleSearchClick = () => { if (isJoinPage) { if (isFirstTimeJoin) { diff --git a/src/pages/letterPage/pages/letter-select-page.tsx b/src/pages/letterPage/pages/letter-select-page.tsx index d1e576c..42b6935 100644 --- a/src/pages/letterPage/pages/letter-select-page.tsx +++ b/src/pages/letterPage/pages/letter-select-page.tsx @@ -47,7 +47,8 @@ export default function LetterSelectPage({ useEffect(() => { const fetchBoardInfo = async () => { - if (!shareUri) return; + // join 페이지에서는 보드 정보를 가져올 필요 없음 + if (!shareUri || isJoinPage) return; try { const response = await getBoardInfo(shareUri); setRecipientNickname(response.data.nickname); @@ -57,7 +58,7 @@ export default function LetterSelectPage({ }; fetchBoardInfo(); - }, [shareUri]); + }, [shareUri, isJoinPage]); useEffect(() => { // prefer prop `music` if provided diff --git a/src/pages/letterPage/pages/letter-write-page.tsx b/src/pages/letterPage/pages/letter-write-page.tsx index a96e2ce..0191119 100644 --- a/src/pages/letterPage/pages/letter-write-page.tsx +++ b/src/pages/letterPage/pages/letter-write-page.tsx @@ -97,9 +97,17 @@ export default function LetterWritePage() { const stored = localStorage.getItem(LOCALSTORAGE_KEY); const draft: Partial = stored ? JSON.parse(stored) : {}; draft.sender = authorName; + draft.content = letterContent; // 내게 쓰기 흐름일 때는 자신의 보드 shareUri 사용 - draft.shareUri = shareUri ?? (isJoinPage ? boardShare?.shareUri : draft.shareUri) - draft.shareUri = shareUri ?? draft.shareUri ?? ""; + draft.shareUri = shareUri ?? (isJoinPage ? boardShare?.shareUri : draft.shareUri) ?? ""; + + console.log("메시지 전송 디버그:", { + "URL shareUri": shareUri, + "isJoinPage": isJoinPage, + "boardShare?.shareUri": boardShare?.shareUri, + "draft.shareUri (localStorage)": stored ? JSON.parse(stored).shareUri : undefined, + "최종 draft.shareUri": draft.shareUri, + }); // POST to backend using central message api await postMessage(draft);