From 693c411c43fab083b6f8c0bc70ef79c61db3b15e Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:23:31 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[Feat/#192]:=20=ED=94=84=EB=A1=9C=ED=95=84?= =?UTF-8?q?=20=ED=94=BC=EB=93=9C=20=EC=95=84=EC=9D=B4=ED=85=9C=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Profile/components/Feed/ProfileFeedItem.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/features/Profile/components/Feed/ProfileFeedItem.tsx b/src/features/Profile/components/Feed/ProfileFeedItem.tsx index bbb4a6e0..4c3e128e 100644 --- a/src/features/Profile/components/Feed/ProfileFeedItem.tsx +++ b/src/features/Profile/components/Feed/ProfileFeedItem.tsx @@ -6,6 +6,7 @@ import React from 'react'; import { getPath } from '@/utils/getPath'; import { useUserId } from '@/store/sessionStore'; import { useCustomRouter } from '@/hooks/useCustomRouter'; +import { IMAGES } from '@/constants/images'; interface Props { feedData: GetProfileFeedItem; @@ -23,16 +24,16 @@ function ProfileFeedItem({ feedData }: Props) {
- {CATEGORY[category].name} + {category ? CATEGORY[category].name : '...'}
book cover navigate(getPath.rootUserMemo(userId!, wellId!, isbn), { from: 'profile', From 3f8ba47279fea4e9a12d9e6c743ba9c472e9fe62 Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:36:43 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[Feat/#192]:=20BookInfo=20=EB=8C=80?= =?UTF-8?q?=EC=B2=B4=20ui=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Book/BookInfo.tsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/components/Book/BookInfo.tsx b/src/components/Book/BookInfo.tsx index 3e7f00d9..dfb95117 100644 --- a/src/components/Book/BookInfo.tsx +++ b/src/components/Book/BookInfo.tsx @@ -20,6 +20,7 @@ interface Props { /** 도서 상세 페이지, 리뷰/메모 리스트 내 도서 정보 컴포넌트 (도서 커버, 배경 포함) */ function BookInfo({ bookId, bookData, canClick = false }: Props) { const isInFeed = useIsInFeed(); + const isEmpty = !bookData.title && !bookData.author && !bookData.publisher; return (
- +
+ {isEmpty && ( + <> + + ... + +

+ 책 정보 불러오는 중... +

+ + )}

{bookData?.title}

{bookData?.author} | {bookData?.publisher} From 2e6e6d82b7813c18669644e6655d9cdaf8da8564 Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:46:57 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[Feat/#192]:=20=EC=9A=B0=EB=AC=BC=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=ED=85=9C=20=EB=8C=80=EC=B2=B4=20ui=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Well/WellItem/WellItem.tsx | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/features/Well/components/Well/WellItem/WellItem.tsx b/src/features/Well/components/Well/WellItem/WellItem.tsx index e5a19213..3638c222 100644 --- a/src/features/Well/components/Well/WellItem/WellItem.tsx +++ b/src/features/Well/components/Well/WellItem/WellItem.tsx @@ -51,6 +51,7 @@ function WellItem({ const height = page > 400 ? page * 0.15 : 55; const isReading = status === 'reading'; const hasMemo = memo_cnt > 0; + const fallbackCategory = 'economic_business'; useEffect(() => { let timeoutId: NodeJS.Timeout; @@ -89,7 +90,7 @@ function WellItem({ newItemId === id && isTopItem ? staggerItemVariants : undefined } style={{ zIndex, height }} - className={`flex h-fit w-full bg-category-bg-${category} relative z-auto box-border justify-center pt-[12px]`} + className={`flex h-fit w-full bg-category-bg-${category || fallbackCategory} relative z-auto box-border justify-center pt-[12px]`} > {isLastItem && (
)} wave {isReading && ( )} {hasMemo && ( - + )} - {title} + {title || '...'}
{isFirstMemo && ( From bed090314f92ab7fda20b4237900a1973948823c Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:54:03 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[Feat/#192]:=20=ED=94=BC=EB=93=9C=20>=20?= =?UTF-8?q?=EC=B1=85=EC=A0=95=EB=B3=B4=20=EB=8C=80=EC=B2=B4=20ui=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Feed/components/FeedList/BookInfo.tsx | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/src/features/Feed/components/FeedList/BookInfo.tsx b/src/features/Feed/components/FeedList/BookInfo.tsx index d25da0a0..419a1991 100644 --- a/src/features/Feed/components/FeedList/BookInfo.tsx +++ b/src/features/Feed/components/FeedList/BookInfo.tsx @@ -25,17 +25,22 @@ function BookInfo({ hasToolTip = true, }: Props) { const { bookData } = useBook(feedData.isbn); + if (!bookData) return null; + const fallbackCategory = 'cartoon'; + const { title, author, publisher, category, image } = bookData; return (
{hasToolTip && ( -
+
)}
- {title} + {title || '책 정보 불러오는 중...'}
    -
  • - {author} -
  • -
  • - {publisher} -
  • + {title && ( + <> +
  • + {author} +
  • +
  • + {publisher} +
  • + + )}
@@ -86,8 +95,8 @@ function BookInfo({ ) : ( )}
From f5a61e3be62e4c2cbb9de713a3ecf77c25ef2235 Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:57:40 +0900 Subject: [PATCH 5/9] =?UTF-8?q?[Fix/#192]:=20=EB=B6=84=EA=B8=B0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Book/BookInfo.tsx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/components/Book/BookInfo.tsx b/src/components/Book/BookInfo.tsx index dfb95117..28649d29 100644 --- a/src/components/Book/BookInfo.tsx +++ b/src/components/Book/BookInfo.tsx @@ -42,10 +42,7 @@ function BookInfo({ bookId, bookData, canClick = false }: Props) { />
- +
{isEmpty && ( <> @@ -57,10 +54,16 @@ function BookInfo({ bookId, bookData, canClick = false }: Props) { )} -

{bookData?.title}

- - {bookData?.author} | {bookData?.publisher} - + {!isEmpty && ( + <> +

+ {bookData?.title} +

+ + {bookData?.author} | {bookData?.publisher} + + + )}
); From 1632a45352691fbaa21aa8c3bfd9a0bc612fde82 Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:58:10 +0900 Subject: [PATCH 6/9] =?UTF-8?q?[Chore/#192]:=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Book/BookInfo.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/Book/BookInfo.tsx b/src/components/Book/BookInfo.tsx index 28649d29..16a77e2d 100644 --- a/src/components/Book/BookInfo.tsx +++ b/src/components/Book/BookInfo.tsx @@ -42,7 +42,10 @@ function BookInfo({ bookId, bookData, canClick = false }: Props) { />
- +
{isEmpty && ( <> From 6bfc25f5e6ade24d9e507ce8abeb633e45067dfe Mon Sep 17 00:00:00 2001 From: SebellKo <79312827+SebellKo@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:59:57 +0900 Subject: [PATCH 7/9] =?UTF-8?q?[Chore/#192]:=20=EB=8C=80=EC=B2=B4=20?= =?UTF-8?q?=ED=85=8D=EC=8A=A4=ED=8A=B8=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/Well/components/Well/WellItem/WellItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/Well/components/Well/WellItem/WellItem.tsx b/src/features/Well/components/Well/WellItem/WellItem.tsx index 3638c222..c7eb984f 100644 --- a/src/features/Well/components/Well/WellItem/WellItem.tsx +++ b/src/features/Well/components/Well/WellItem/WellItem.tsx @@ -124,7 +124,7 @@ function WellItem({ - {title || '...'} + {title || '책 정보 불러오는 중...'}
Date: Mon, 4 Aug 2025 23:03:19 +0900 Subject: [PATCH 8/9] =?UTF-8?q?[Chore/#192]:=20empty=20=EB=A1=9C=EC=A7=81?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Book/BookInfo.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Book/BookInfo.tsx b/src/components/Book/BookInfo.tsx index 16a77e2d..a0b12691 100644 --- a/src/components/Book/BookInfo.tsx +++ b/src/components/Book/BookInfo.tsx @@ -20,7 +20,7 @@ interface Props { /** 도서 상세 페이지, 리뷰/메모 리스트 내 도서 정보 컴포넌트 (도서 커버, 배경 포함) */ function BookInfo({ bookId, bookData, canClick = false }: Props) { const isInFeed = useIsInFeed(); - const isEmpty = !bookData.title && !bookData.author && !bookData.publisher; + const isEmpty = !bookData.title; return ( Date: Mon, 4 Aug 2025 23:09:51 +0900 Subject: [PATCH 9/9] =?UTF-8?q?[Fix/#192]:=20=EB=A6=B0=ED=8A=B8=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/Profile/components/Feed/ProfileFeedItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/Profile/components/Feed/ProfileFeedItem.tsx b/src/features/Profile/components/Feed/ProfileFeedItem.tsx index 4c3e128e..1b62fdd7 100644 --- a/src/features/Profile/components/Feed/ProfileFeedItem.tsx +++ b/src/features/Profile/components/Feed/ProfileFeedItem.tsx @@ -29,7 +29,7 @@ function ProfileFeedItem({ feedData }: Props) { {category ? CATEGORY[category].name : '...'}