Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/pages/letterPage/pages/letter-guide-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
5 changes: 3 additions & 2 deletions src/pages/letterPage/pages/letter-select-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -57,7 +58,7 @@ export default function LetterSelectPage({
};

fetchBoardInfo();
}, [shareUri]);
}, [shareUri, isJoinPage]);

useEffect(() => {
// prefer prop `music` if provided
Expand Down
12 changes: 10 additions & 2 deletions src/pages/letterPage/pages/letter-write-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,17 @@ export default function LetterWritePage() {
const stored = localStorage.getItem(LOCALSTORAGE_KEY);
const draft: Partial<MessageData> = 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);
Expand Down
Loading