Skip to content

Commit f0b5b4f

Browse files
tifsywldnjs990
andauthored
feat: 임시저장 편지 조회 기능 완성 (#97)
* design: 편지 공유 요청 모달 텍스트 수정 * fix: 임시저장 편지 조회 데이터 구조 수정 * feat: 임시저장 편지 작성 페이지로 데이터 넘겨주기 * design: 홈 페이지에서 새 이미지를 눌러도 랜덤응원메시지가 바뀌도록 --------- Co-authored-by: wldnjs990 <[email protected]>
1 parent 5b4d4ba commit f0b5b4f

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

src/apis/draftLetters.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,19 @@ import client from './client';
22

33
export interface DraftLetter {
44
letterId: number;
5-
writerId: number;
5+
matchingId: number;
66
receiverId: number;
77
parentLetterId: number;
8-
zipCode: string;
98
title: string;
109
content: string;
1110
category: string;
1211
paperType: string;
1312
fontType: string;
14-
deliveryStartedAt: string;
15-
deliveryCompletedAt: string;
16-
matched: boolean;
1713
}
1814

1915
export const getDraftLetters = async (): Promise<DraftLetter[]> => {
2016
try {
21-
const { data } = await client.get('/api/letters?status=draft', {});
17+
const { data } = await client.get('/api/letters?status=draft');
2218
console.log('임시저장된 편지 데이터', data);
2319
return data.data;
2420
} catch (error) {

src/pages/Home/components/RandomCheer.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const RandomCheer = () => {
2525
src={randomCheerBird}
2626
alt="random cheer bird"
2727
className="h-[26.5px] w-[21px] opacity-80"
28+
onClick={() => setRandomCheer(getRandomCheer())}
2829
/>
2930
</div>
3031
);

src/pages/Home/components/ShowDraftModal.tsx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import DeleteOutlineRoundedIcon from '@mui/icons-material/DeleteOutlineRounded';
22
import React, { useEffect, useState } from 'react';
3-
// import { useNavigate } from 'react-router';
3+
import { useNavigate } from 'react-router';
44

55
import { DraftLetter, getDraftLetters, deleteDraftLetters } from '@/apis/draftLetters';
66
import ModalBackgroundWrapper from '@/components/ModalBackgroundWrapper';
@@ -14,13 +14,13 @@ interface ShowDraftModalProps {
1414
const ShowDraftModal = ({ onClose }: ShowDraftModalProps) => {
1515
const [draftLetters, setDraftLetters] = useState<DraftLetter[]>([]);
1616

17-
// const navigate = useNavigate();
17+
const navigate = useNavigate();
1818

19-
// const handleNavigation = (incomingId: number) => {
20-
// navigate(`/board/letter/${incomingId}`, {
21-
// state: { isShareLetterPreview: false },
22-
// });
23-
// };
19+
const handleNavigation = (draft: DraftLetter) => {
20+
navigate(`/board/letter/${draft.letterId}?isDraft=true`, {
21+
state: { draft: draft, isDraft: true },
22+
});
23+
};
2424

2525
const handleGetDraftLetters = () => {
2626
getDraftLetters()
@@ -57,21 +57,23 @@ const ShowDraftModal = ({ onClose }: ShowDraftModalProps) => {
5757
<ModalBackgroundWrapper className="relative overflow-hidden rounded-lg p-5">
5858
<div className="flex flex-col gap-1">
5959
<p className="body-sb text-gray-80">임시저장 편지</p>
60-
<p className="caption-r text-black">로그아웃 시 임시 저장된 편지는 사라집니다</p>
6160
</div>
6261
<div className="mt-6 flex max-h-60 min-h-auto w-[251px] flex-col gap-[10px] overflow-y-scroll [&::-webkit-scrollbar]:hidden">
63-
{draftLetters.length > 0 ? (
62+
{draftLetters.length > 0 ? (
6463
draftLetters.map((draft) => (
6564
<div
6665
className="text-gray-80 body-m flex h-10 w-full items-center justify-between gap-1 rounded-lg bg-white p-3"
6766
key={draft.letterId}
68-
// onClick={() => handleNavigation(draft.letterId)}
67+
onClick={() => handleNavigation(draft)}
6968
>
7069
<p className="truncate">{draft.title}</p>
7170
<div
7271
className="text-gray-20 active:text-gray-600"
7372
tabIndex={0}
74-
onClick={() => handleDeleteDraftLetters(draft.letterId)}
73+
onClick={(e) => {
74+
e.stopPropagation();
75+
handleDeleteDraftLetters(draft.letterId);
76+
}}
7577
>
7678
<DeleteOutlineRoundedIcon />
7779
</div>

0 commit comments

Comments
 (0)