diff --git a/src/api/books/getBookDetail.ts b/src/api/books/getBookDetail.ts index 44b6d86b..6886fe89 100644 --- a/src/api/books/getBookDetail.ts +++ b/src/api/books/getBookDetail.ts @@ -1,6 +1,5 @@ import { apiClient } from '../index'; -// 책 상세 정보 타입 export interface BookDetail { title: string; imageUrl: string; @@ -13,7 +12,6 @@ export interface BookDetail { isSaved: boolean; } -// API 응답 타입 export interface BookDetailResponse { isSuccess: boolean; code: number; diff --git a/src/api/books/getMostSearchedBooks.ts b/src/api/books/getMostSearchedBooks.ts index fbdbcf3e..81908310 100644 --- a/src/api/books/getMostSearchedBooks.ts +++ b/src/api/books/getMostSearchedBooks.ts @@ -1,6 +1,5 @@ import { apiClient } from '../index'; -// 인기 검색 도서 타입 export interface MostSearchedBook { rank: number; title: string; @@ -8,12 +7,10 @@ export interface MostSearchedBook { isbn: string; } -// API 응답 데이터 타입 export interface MostSearchedBooksData { bookList: MostSearchedBook[]; } -// API 응답 타입 export interface MostSearchedBooksResponse { isSuccess: boolean; code: number; diff --git a/src/api/books/getRecruitingRooms.ts b/src/api/books/getRecruitingRooms.ts index d0227c05..dde29479 100644 --- a/src/api/books/getRecruitingRooms.ts +++ b/src/api/books/getRecruitingRooms.ts @@ -1,6 +1,5 @@ import { apiClient } from '../index'; -// 모집중인 모임방 타입 export interface RecruitingRoom { roomId: number; bookImageUrl: string; @@ -11,7 +10,6 @@ export interface RecruitingRoom { isPublic: boolean; } -// API 응답 데이터 타입 export interface RecruitingRoomsData { recruitingRoomList: RecruitingRoom[]; totalRoomCount: number; @@ -19,7 +17,6 @@ export interface RecruitingRoomsData { isLast: boolean; } -// API 응답 타입 export interface RecruitingRoomsResponse { isSuccess: boolean; code: number; diff --git a/src/api/books/getSearchBooks.ts b/src/api/books/getSearchBooks.ts index 1ffd090d..76c7d9a0 100644 --- a/src/api/books/getSearchBooks.ts +++ b/src/api/books/getSearchBooks.ts @@ -1,6 +1,5 @@ import { apiClient } from '../index'; -// 검색된 책 타입 (API 응답에서 받는 형태) export interface BookSearchItem { title: string; imageUrl: string; @@ -9,7 +8,6 @@ export interface BookSearchItem { isbn: string; } -// 검색된 책 타입 (컴포넌트에서 사용하는 형태) export interface SearchedBook { id: number; title: string; @@ -19,7 +17,6 @@ export interface SearchedBook { isbn: string; } -// API 응답 데이터 타입 export interface SearchBooksData { searchResult: BookSearchItem[]; page: number; @@ -30,7 +27,6 @@ export interface SearchBooksData { first: boolean; } -// API 응답 타입 export interface SearchBooksResponse { isSuccess: boolean; code: number; @@ -58,7 +54,10 @@ export const getSearchBooks = async ( } }; -export const convertToSearchedBooks = (apiBooks: BookSearchItem[], startIndex: number = 0): SearchedBook[] => { +export const convertToSearchedBooks = ( + apiBooks: BookSearchItem[], + startIndex: number = 0, +): SearchedBook[] => { return apiBooks.map((book, index) => ({ id: startIndex + index + 1, title: book.title, diff --git a/src/api/books/postSaveBook.ts b/src/api/books/postSaveBook.ts index 8822e4d3..eed82694 100644 --- a/src/api/books/postSaveBook.ts +++ b/src/api/books/postSaveBook.ts @@ -1,17 +1,14 @@ import { apiClient } from '../index'; -// 북마크 요청 타입 export interface SaveBookRequest { type: boolean; } -// 북마크 응답 데이터 타입 export interface SaveBookData { isbn: string; isSaved: boolean; } -// 북마크 응답 타입 export interface SaveBookResponse { isSuccess: boolean; code: number; diff --git a/src/api/recentsearch/deleteRecentSearch.ts b/src/api/recentsearch/deleteRecentSearch.ts index 773b41cd..ef1aece2 100644 --- a/src/api/recentsearch/deleteRecentSearch.ts +++ b/src/api/recentsearch/deleteRecentSearch.ts @@ -1,6 +1,5 @@ import { apiClient } from '../index'; -// 최근 검색어 삭제 응답 타입 export interface DeleteRecentSearchResponse { isSuccess: boolean; code: number; diff --git a/src/api/rooms/getMyRooms.ts b/src/api/rooms/getMyRooms.ts index 438ef95e..2c49481a 100644 --- a/src/api/rooms/getMyRooms.ts +++ b/src/api/rooms/getMyRooms.ts @@ -2,7 +2,6 @@ import { apiClient } from '../index'; export type RoomType = 'playingAndRecruiting' | 'recruiting' | 'playing' | 'expired'; -// 방 데이터 타입 export interface Room { roomId: number; bookImageUrl: string; @@ -14,7 +13,6 @@ export interface Room { isPublic: boolean; } -// 내 방 조회 응답 타입 export interface MyRoomsResponse { isSuccess: boolean; code: number; diff --git a/src/api/rooms/getRoomDetail.ts b/src/api/rooms/getRoomDetail.ts index fa3567c1..6572e053 100644 --- a/src/api/rooms/getRoomDetail.ts +++ b/src/api/rooms/getRoomDetail.ts @@ -1,7 +1,6 @@ import { apiClient } from '../index'; import { AxiosError } from 'axios'; -// 방 상세 정보 응답 타입 export interface RoomDetailResponse { isSuccess: boolean; code: number; @@ -47,12 +46,10 @@ export const getRoomDetail = async (roomId: number): Promise console.error('방 상세 정보 조회 API 오류:', error); if (error instanceof AxiosError) { - // 모집기간이 만료된 방인 경우 if (error.response?.data?.code === 100004) { throw new Error('모집기간이 만료된 방입니다.'); } - // 방 접근 권한이 없는 경우 if (error.response?.data?.code === 140011) { throw new Error('방 접근 권한이 없습니다.'); } diff --git a/src/api/rooms/getRoomsByCategory.ts b/src/api/rooms/getRoomsByCategory.ts index 55db5df3..878e03de 100644 --- a/src/api/rooms/getRoomsByCategory.ts +++ b/src/api/rooms/getRoomsByCategory.ts @@ -1,6 +1,5 @@ import { apiClient } from '../index'; -// 방 목록 응답 데이터 타입 export interface RoomItem { roomId: number; bookImageUrl: string; diff --git a/src/components/group/MyGroupModal.tsx b/src/components/group/MyGroupModal.tsx index 75351bd9..8df428f9 100644 --- a/src/components/group/MyGroupModal.tsx +++ b/src/components/group/MyGroupModal.tsx @@ -126,7 +126,7 @@ export const MyGroupModal = ({ onClose }: MyGroupModalProps) => { useEffect(() => { const tryFill = async () => { if (!contentRef.current || isLast) return; - let guard = 2; // 최대 3페이지까지 자동 프리로드(필요시 늘리기) + let guard = 2; while ( guard-- > 0 && contentRef.current && @@ -284,7 +284,7 @@ const ErrorMessage = styled.div` `; const EmptyState = styled.div` - grid-column: 1 / -1; /* 그리드 2열일 때도 전체 너비 차지 */ + grid-column: 1 / -1; flex: 1; min-height: 78vh; display: flex; diff --git a/src/components/search/BookSearchResult.tsx b/src/components/search/BookSearchResult.tsx index f4a65381..0d228e62 100644 --- a/src/components/search/BookSearchResult.tsx +++ b/src/components/search/BookSearchResult.tsx @@ -64,10 +64,8 @@ export function BookSearchResult({ )) )} - {/* 로딩 상태 표시 */} {isLoading && searchedBookList.length > 0 && <>} - {/* 더 이상 데이터가 없음을 표시 */} {!hasMore && searchedBookList.length > 0 && <>} diff --git a/src/pages/groupDetail/GroupDetail.tsx b/src/pages/groupDetail/GroupDetail.tsx index 94a2e7f5..c49ee449 100644 --- a/src/pages/groupDetail/GroupDetail.tsx +++ b/src/pages/groupDetail/GroupDetail.tsx @@ -1,4 +1,3 @@ -// src/pages/group/GroupDetail.tsx import { useState, useEffect } from 'react'; import { Wrapper, diff --git a/src/stores/usePopupStore.ts b/src/stores/usePopupStore.ts index 0e03e11f..4ac5c31e 100644 --- a/src/stores/usePopupStore.ts +++ b/src/stores/usePopupStore.ts @@ -1,4 +1,3 @@ -// usePopupStore.ts import { create } from 'zustand'; export type PopupType =