diff --git a/src/apis/draftLetters.ts b/src/apis/draftLetters.ts index c714b8f..cf30ae4 100644 --- a/src/apis/draftLetters.ts +++ b/src/apis/draftLetters.ts @@ -1,17 +1,5 @@ import client from './client'; -export interface DraftLetter { - letterId: number; - matchingId: number; - receiverId: number; - parentLetterId: number; - title: string; - content: string; - category: string; - paperType: string; - fontType: string; -} - export const getDraftLetters = async (): Promise => { try { const { data } = await client.get('/api/letters?status=draft'); diff --git a/src/apis/share.ts b/src/apis/share.ts index 7c386af..08d1060 100644 --- a/src/apis/share.ts +++ b/src/apis/share.ts @@ -1,69 +1,5 @@ import client from './client'; -//공유 게시글 상세 페이지 편지 -interface ShareLetter { - id: number; - content: string; - writerZipCode: string; - receiverZipCode: string; -} - -// 공유 게시글 목록 조회 타입 -export interface SharePost { - writerZipCode: string; - receiverZipCode: string; - content: string; - createdAt: string; - active: boolean; - sharePostId: number; - sharePostContent: string; - zipCode: string; - letters: ShareLetter[]; -} - -// 공유 게시글 목록 조회 - 페이징 포함 -export interface SharePostResponse { - content: SharePost[]; - currentPage: number; - size: number; - totalElements: number; - totalPages: number; -} - -// 편지 공유 요청 수신 조회 -export interface ShareProposal { - shareProposalId: number; - requesterZipCode: string; - recipientZipCode: string; - message: string; - status: 'REJECTED' | 'APPROVED' | 'PENDING'; -} - -//편지 공유 요청 상세 조회 -export interface ShareProposalLetter { - id: number; - content: string; - writerZipCode: string; - receiverZipCode: string; - createdAt: string; -} - -export interface ShareProposalDetail { - shareProposalId: number; - requesterZipCode: string; - recipientZipCode: string; - message: string; - status: 'PENDING' | 'ACCEPTED' | 'REJECTED'; - letters: ShareProposalLetter[]; -} - -// 편지 공유 수락 / 거절 -export interface ShareProposalApproval { - shareProposalId: number; - status: 'APPROVED' | 'REJECTED'; - sharePostId: number; -} - // 공유 게시글 목록 조회 export const getSharePostList = async (page: number = 1, size: number = 10) => { try { diff --git a/src/pages/Home/components/ShowDraftModal.tsx b/src/pages/Home/components/ShowDraftModal.tsx index dcac0f0..54256a5 100644 --- a/src/pages/Home/components/ShowDraftModal.tsx +++ b/src/pages/Home/components/ShowDraftModal.tsx @@ -2,7 +2,7 @@ import DeleteOutlineRoundedIcon from '@mui/icons-material/DeleteOutlineRounded'; import React, { useEffect, useState } from 'react'; import { useNavigate } from 'react-router'; -import { DraftLetter, getDraftLetters, deleteDraftLetters } from '@/apis/draftLetters'; +import { getDraftLetters, deleteDraftLetters } from '@/apis/draftLetters'; import ModalBackgroundWrapper from '@/components/ModalBackgroundWrapper'; import ModalOverlay from '@/components/ModalOverlay'; diff --git a/src/pages/Home/components/ShowShareAccessModal.tsx b/src/pages/Home/components/ShowShareAccessModal.tsx index f7168f4..bfd2e86 100644 --- a/src/pages/Home/components/ShowShareAccessModal.tsx +++ b/src/pages/Home/components/ShowShareAccessModal.tsx @@ -3,7 +3,6 @@ import { useNavigate } from 'react-router'; import { getShareProposalDetail } from '@/apis/share'; import { getShareProposalList } from '@/apis/share'; -import { ShareProposal } from '@/apis/share'; import ModalBackgroundWrapper from '@/components/ModalBackgroundWrapper'; import ModalOverlay from '@/components/ModalOverlay'; diff --git a/src/pages/LetterBoardDetail/index.tsx b/src/pages/LetterBoardDetail/index.tsx index 1b937f3..7ae8beb 100644 --- a/src/pages/LetterBoardDetail/index.tsx +++ b/src/pages/LetterBoardDetail/index.tsx @@ -3,7 +3,6 @@ import { twMerge } from 'tailwind-merge'; import { getSharePostDetail, - SharePost, getSharePostLikeCount, postSharePostLike, deleteSharePost, @@ -24,9 +23,6 @@ const LetterBoardDetailPage = () => { const [isWriter, setIsWriter] = useState(false); const [postDetail, setPostDetail] = useState(); const [activeReportModal, setActiveReportModal] = useState(false); - // const location = useLocation(); - // const sharePostId: string = location.pathname.split('/')[3]; - // const isShareLetterPreview = location.state?.isShareLetterPreview || false; const { id } = useParams(); const myZipCode = useAuthStore.getState().zipCode; diff --git a/src/pages/Share/index.tsx b/src/pages/Share/index.tsx index c01933e..54a20a9 100644 --- a/src/pages/Share/index.tsx +++ b/src/pages/Share/index.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'; import { useNavigate, useParams } from 'react-router'; import { getShareProposalDetail } from '@/apis/share'; -import { postShareProposalApproval, ShareProposalDetail } from '@/apis/share'; +import { postShareProposalApproval } from '@/apis/share'; import useToastStore from '@/stores/toastStore'; diff --git a/src/types/draftLetters.d.ts b/src/types/draftLetters.d.ts new file mode 100644 index 0000000..8eda075 --- /dev/null +++ b/src/types/draftLetters.d.ts @@ -0,0 +1,11 @@ +interface DraftLetter { + letterId: number; + matchingId: number; + receiverId: number; + parentLetterId: number; + title: string; + content: string; + category: string; + paperType: string; + fontType: string; +} diff --git a/src/types/share.d.ts b/src/types/share.d.ts index df79d3b..55663d0 100644 --- a/src/types/share.d.ts +++ b/src/types/share.d.ts @@ -15,15 +15,49 @@ interface SharePost { active: boolean; sharePostId: number; sharePostContent: string; + zipCode: string; letters: ShareLetter[]; } // 페이징 포함 interface SharePostResponse { -// data: any; content: SharePost[]; currentPage: number; size: number; totalElements: number; totalPages: number; } + +// 편지 공유 요청 수신 조회 +interface ShareProposal { + shareProposalId: number; + requesterZipCode: string; + recipientZipCode: string; + message: string; + status: 'REJECTED' | 'APPROVED' | 'PENDING'; +} + +//편지 공유 요청 상세 조회 +interface ShareProposalLetter { + id: number; + content: string; + writerZipCode: string; + receiverZipCode: string; + createdAt: string; +} + +interface ShareProposalDetail { + shareProposalId: number; + requesterZipCode: string; + recipientZipCode: string; + message: string; + status: 'PENDING' | 'ACCEPTED' | 'REJECTED'; + letters: ShareProposalLetter[]; +} + +// 편지 공유 수락 / 거절 +interface ShareProposalApproval { + shareProposalId: number; + status: 'APPROVED' | 'REJECTED'; + sharePostId: number; +}