diff --git a/public/icons/logo.png b/public/icons/logo.png new file mode 100644 index 00000000..34649118 Binary files /dev/null and b/public/icons/logo.png differ diff --git a/src/app/icon.png b/src/app/icon.png new file mode 100644 index 00000000..34649118 Binary files /dev/null and b/src/app/icon.png differ diff --git a/src/app/layout.tsx b/src/app/layout.tsx index cfbb2e30..f7c534d8 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -11,9 +11,9 @@ const myFont = localFont({ src: "../shared/fonts/PretendardVariable.woff2", }); -export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", +export const metadata = { + title: "찰딱", + description: "중고거래 플랫폼 찰딱", }; export default function RootLayout({ diff --git a/src/entities/post/model/constants/api.ts b/src/entities/post/model/constants/api.ts index fb28a634..b7b7e958 100644 --- a/src/entities/post/model/constants/api.ts +++ b/src/entities/post/model/constants/api.ts @@ -1 +1 @@ -export const POST_PAGE_SIZE = 10; +export const POST_PAGE_SIZE = 12; diff --git a/src/entities/post/ui/list/PostList.tsx b/src/entities/post/ui/list/PostList.tsx index efa20f37..e97fc45d 100644 --- a/src/entities/post/ui/list/PostList.tsx +++ b/src/entities/post/ui/list/PostList.tsx @@ -70,20 +70,24 @@ export default function PostList({ /> -
- {posts.map((post, i) => - i === posts.length - 1 ? ( -
- -
- ) : ( - - ), - )} -
- - {isFetchingNextPage && ( -

불러오는 중...

+ {posts.length === 0 && !isFetchingNextPage ? ( +
+ + 해당 카테고리에 등록된 게시물이 없어요. + +
+ ) : ( +
+ {posts.map((post, i) => + i === posts.length - 1 ? ( +
+ +
+ ) : ( + + ), + )} +
)} ); diff --git a/src/entities/user/ui/card/Profile.tsx b/src/entities/user/ui/card/Profile.tsx index 26b7ecaf..046b1ca7 100644 --- a/src/entities/user/ui/card/Profile.tsx +++ b/src/entities/user/ui/card/Profile.tsx @@ -32,6 +32,32 @@ const Profile = ({ const { logout } = useAuthStore(); const { openModal, closeModal } = useModalStore(); + const handleLogout = async () => { + const res = await fetch("/api/auth/logout", { + method: "POST", + credentials: "include", + }); + + if (res.ok) { + router.push("/login"); + router.refresh(); + logout(); + openModal("normal", { + message: "로그아웃이 완료되었습니다.", + onClick: () => { + closeModal(); + }, + }); + } else { + openModal("normal", { + message: "로그아웃에 실패했습니다.", + onClick: () => { + closeModal(); + }, + }); + } + }; + return (
@@ -75,7 +101,9 @@ const Profile = ({
-
{category}
+
+ {category || "—"} +
관심 카테고리
@@ -87,30 +115,12 @@ const Profile = ({ -
- 찰딱 -
+ + +