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
2 changes: 1 addition & 1 deletion src/pages/Home/components/ShowDraftModal.tsx
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앗. .. . ㅎㅎ 이걸 잘못 전달 드렸군요 🥹 고쳐주셔서 감사합니다~

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const ShowDraftModal = ({ onClose }: ShowDraftModalProps) => {
const navigate = useNavigate();

const handleNavigation = (draft: DraftLetter) => {
navigate(`/letter/write/?letterId=${draft.letterId}`, {
navigate(`/letter/write/?letterId=${draft.parentLetterId}`, {
state: { draft, isDraft: true },
});
};
Expand Down
9 changes: 7 additions & 2 deletions src/pages/Write/CategorySelect.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import useWrite from '@/stores/writeStore';

import ResultLetterAnimation from './components/ResultLetterAnimation';
import WritePageButton from './components/WritePageButton';
import useToastStore from '@/stores/toastStore';

export default function CategorySelect({
setStep,
Expand All @@ -21,13 +22,17 @@ export default function CategorySelect({
}) {
const letterRequest = useWrite((state) => state.letterRequest);

const setToastActive = useToastStore((state) => state.setToastActive);

const handlePostLetter = async (letterRequest: LetterRequest) => {
const res = await postLetter(letterRequest);
if (res?.status === 200) {
console.log(letterRequest);
setSend(true);
} else {
alert('전송오류(임시)');
// 일단 에러 발생하면 무조건 검열단어라고 토스트를 띄웠는데 후에 에러 처리 수정해야함
setToastActive({ title: '편지에 검열 단어가 포함되어있습니다. ', toastType: 'Error' });
setStep('edit');
}
};

Expand Down Expand Up @@ -89,7 +94,7 @@ export default function CategorySelect({
handlePostLetter(letterRequest);
// setSend(true);
} else {
alert('우표 선택을 해주세요');
setToastActive({ title: '카테고리를 선택해주세요.', toastType: 'Warning' });
}
}}
>
Expand Down
12 changes: 7 additions & 5 deletions src/pages/Write/LetterEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export default function LetterEditor({
setSend(true);
setStep('category');
} else {
alert('전송오류 발생(임시)');
setToastActive({ title: '전송중 오류가 발생했습니다.', toastType: 'Error' });
}
};

Expand All @@ -55,7 +55,7 @@ export default function LetterEditor({
setSend(true);
setStep('category');
} else {
alert('전송오류(임시)');
setToastActive({ title: '전송중 오류가 발생했습니다.', toastType: 'Error' });
}
};

Expand All @@ -79,16 +79,16 @@ export default function LetterEditor({

const handlePostTemporarySave = async () => {
if (!letterId) return alert('임시저장중 오류 발생');
const LETTER_STATE_DUMMY = false;
const requestLetterId = LETTER_STATE_DUMMY || null;
const requestLetterId = location.state?.draft.letterId || null;
// MEMO : 임시저장 전송 방식 : 최초임시저장은 letterId : null, 임시저장 업데이트는 letterId : location state로 받아오는 임시저장편지의 letterId값
const temporaryRequest: TemporaryRequest = { ...letterRequest, letterId: requestLetterId };
const res = await postTemporarySave(temporaryRequest);
if (res?.status === 200) {
console.log(res);
setToastActive({ title: '임시저장을 완료했습니다.', toastType: 'Success' });
navigate('/');
} else {
alert('실패');
setToastActive({ title: '임시저장에 실패했습니다.', toastType: 'Error' });
}
};

Expand Down Expand Up @@ -161,6 +161,7 @@ export default function LetterEditor({
<div className="body-b mt-15">TO. 따숨이에게</div>
<input
type="text"
maxLength={50}
placeholder="제목을 입력해주세요."
className="body-sb placeholder:text-gray-40 placeholder:border-0"
onChange={(e) => {
Expand All @@ -175,6 +176,7 @@ export default function LetterEditor({
`body-r basic-theme min-h-full w-full resize-none px-6`,
`${FONT_TYPE_OBJ[letterRequest.fontType]}`,
)}
maxLength={1000}
placeholder="클릭해서 내용을 작성하세요"
onChange={(e) => {
setLetterRequest({ ...letterRequest, content: e.target.value });
Expand Down
11 changes: 11 additions & 0 deletions src/pages/Write/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ const WritePage = () => {
const [isReply, setIsReply] = useState<boolean>(false);

const letterRequest = useWrite((state) => state.letterRequest);
const setLetterRequest = useWrite((state) => state.setLetterRequest);
const resetLetterRequest = useWrite((state) => state.resetLetterRequest);

const wrapStyle = twMerge(
Expand Down Expand Up @@ -54,6 +55,16 @@ const WritePage = () => {
}
};
handleGetPrevLetter(letterId);
if (location.state?.isDraft) {
const draft: TemporaryRequest = location.state.draft;
setLetterRequest({
category: draft.category,
content: draft.content,
fontType: draft.fontType,
paperType: draft.paperType,
title: draft.title,
});
}
}
}, [location.state, prevLetter.length, navigate, letterId]);

Expand Down