From 8423f08a4125f3ae2711b819b3dfb2582a198378 Mon Sep 17 00:00:00 2001 From: ghdtnals Date: Wed, 5 Nov 2025 15:19:02 +0900 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20=ED=97=A4=EB=8D=94=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=A9=EB=8F=8C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/widgets/header/ui/Header.tsx | 20 +++++++++++------- src/widgets/header/ui/HeaderDesktop.tsx | 22 ++++++++++++++++---- src/widgets/header/ui/HeaderMobile.tsx | 13 +++++++++--- src/widgets/header/ui/HeaderMobileSearch.tsx | 2 +- src/widgets/header/ui/SearchForm.tsx | 2 +- 5 files changed, 43 insertions(+), 16 deletions(-) diff --git a/src/widgets/header/ui/Header.tsx b/src/widgets/header/ui/Header.tsx index 51489439..16e67974 100644 --- a/src/widgets/header/ui/Header.tsx +++ b/src/widgets/header/ui/Header.tsx @@ -17,23 +17,30 @@ const navItems = [ { href: "/chat", label: "채팅하기", - icon: "icons/chats.svg", + icon: "/icons/chats.svg", hasDivider: false, }, { href: "/ai", label: "분석하기", - icon: "icons/analyze.svg", + icon: "/icons/analyze.svg", hasDivider: true, }, { href: "/my", label: "마이페이지", - icon: "icons/user.svg", + icon: "/icons/user.svg", hasDivider: false, }, ]; +type TabKey = "all" | "buyer" | "seller"; +const TABS: { key: TabKey; label: string }[] = [ + { key: "all", label: "전체" }, + { key: "buyer", label: "구매" }, + { key: "seller", label: "판매" }, +]; + const Header = () => { const [showSearch, setShowSearch] = useState(false); const isLogined = useAuthStore((state) => state.isLogined); @@ -129,10 +136,9 @@ const Header = () => {

{selectedChatId ? `채팅방` : "채팅"}

- +
diff --git a/src/widgets/header/ui/HeaderDesktop.tsx b/src/widgets/header/ui/HeaderDesktop.tsx index 1d0e3d0b..2f2c38db 100644 --- a/src/widgets/header/ui/HeaderDesktop.tsx +++ b/src/widgets/header/ui/HeaderDesktop.tsx @@ -37,10 +37,24 @@ const HeaderDesktop = ({ : "" } `} > - - {label} -

{label}

- + {href === "/chat" && onOpenChat ? ( + + ) : ( + + {label} +

{label}

+ + )} ))} diff --git a/src/widgets/header/ui/HeaderMobile.tsx b/src/widgets/header/ui/HeaderMobile.tsx index e6a72f2e..168e6428 100644 --- a/src/widgets/header/ui/HeaderMobile.tsx +++ b/src/widgets/header/ui/HeaderMobile.tsx @@ -1,5 +1,7 @@ "use client"; +import Link from "next/link"; + interface HeaderMobileProps { setShowSearch: (value: boolean) => void; onOpenMenu: () => void; @@ -8,8 +10,13 @@ interface HeaderMobileProps { const HeaderMobile = ({ setShowSearch, onOpenMenu }: HeaderMobileProps) => { return (
-
@@ -23,7 +30,7 @@ const HeaderMobile = ({ setShowSearch, onOpenMenu }: HeaderMobileProps) => { onClick={() => setShowSearch(true)} > search diff --git a/src/widgets/header/ui/HeaderMobileSearch.tsx b/src/widgets/header/ui/HeaderMobileSearch.tsx index 7419e9f6..e380df1b 100644 --- a/src/widgets/header/ui/HeaderMobileSearch.tsx +++ b/src/widgets/header/ui/HeaderMobileSearch.tsx @@ -15,7 +15,7 @@ const HeaderMobileSearch = ({ setShowSearch }: HeaderMobileSearchProps) => { onClick={() => setShowSearch(false)} > 검색 닫기 diff --git a/src/widgets/header/ui/SearchForm.tsx b/src/widgets/header/ui/SearchForm.tsx index 917601fa..82e152c0 100644 --- a/src/widgets/header/ui/SearchForm.tsx +++ b/src/widgets/header/ui/SearchForm.tsx @@ -46,7 +46,7 @@ const SearchForm = ({ > {showIcon && ( Date: Wed, 5 Nov 2025 15:31:57 +0900 Subject: [PATCH 2/6] =?UTF-8?q?refactor:=20=EC=B1=84=ED=8C=85=EB=A3=B8=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EA=B2=BD=EB=A1=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/chat/ui/ChattingRoom/ChattingRoom.tsx | 6 +++--- src/shared/images/delete.svg | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 src/shared/images/delete.svg diff --git a/src/entities/chat/ui/ChattingRoom/ChattingRoom.tsx b/src/entities/chat/ui/ChattingRoom/ChattingRoom.tsx index e2543815..5040b8a1 100644 --- a/src/entities/chat/ui/ChattingRoom/ChattingRoom.tsx +++ b/src/entities/chat/ui/ChattingRoom/ChattingRoom.tsx @@ -3,7 +3,6 @@ import React, { useState, useRef, useEffect } from "react"; import { Message } from "../Message/Message"; import Button from "@/shared/ui/Button/Button"; import { TextField } from "@/shared/ui/TextField/TextField"; -import ImageSelectIcon from "@/shared/images/image-select.svg"; import DeleteIcon from "@/shared/images/delete.svg"; interface ChatMessage { @@ -137,8 +136,9 @@ export const ChattingRoom = () => { {/* 메시지 입력 창 영역 */}
채팅 수 {chatCount} 좋아요 수 From c216853823f12a89af6f01df07199b37b7ad59a0 Mon Sep 17 00:00:00 2001 From: ghdtnals Date: Wed, 5 Nov 2025 15:39:18 +0900 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=EC=8A=A4=ED=86=A0=EB=A6=AC=EB=B6=81?= =?UTF-8?q?=20=EC=A0=95=EC=A0=81=20=EA=B2=BD=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .storybook/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index e8b970e8..89c42019 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -12,7 +12,7 @@ const config: StorybookConfig = { name: "@storybook/nextjs-vite", options: {}, }, - staticDirs: [{ from: "../public", to: "/" }], + staticDirs: [{ from: "../public", to: "/frontend/" }], viteFinal: async (config) => { config.base = "/frontend/"; return config; From 109838b1b62d1879d774b174f06081b80a2da2f5 Mon Sep 17 00:00:00 2001 From: ghdtnals Date: Wed, 5 Nov 2025 16:11:05 +0900 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=EC=8A=A4=ED=86=A0=EB=A6=AC=EB=B6=81?= =?UTF-8?q?=20base=20=ED=83=9C=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .storybook/preview-head.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html index 29fef473..62316a68 100644 --- a/.storybook/preview-head.html +++ b/.storybook/preview-head.html @@ -1,3 +1,5 @@ + + Date: Wed, 5 Nov 2025 16:20:21 +0900 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20=EC=A0=95=EC=A0=81=20=EC=9E=90?= =?UTF-8?q?=EC=82=B0=20=EA=B2=BD=EB=A1=9C=20=EB=88=84=EB=9D=BD=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EB=A1=9C=EB=93=9C=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .storybook/main.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index 89c42019..1da33627 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,3 +1,4 @@ +import { mergeConfig } from "vite"; import type { StorybookConfig } from "@storybook/nextjs-vite"; const config: StorybookConfig = { @@ -12,10 +13,26 @@ const config: StorybookConfig = { name: "@storybook/nextjs-vite", options: {}, }, - staticDirs: [{ from: "../public", to: "/frontend/" }], + + staticDirs: [{ from: "../public", to: "frontend" }], + viteFinal: async (config) => { - config.base = "/frontend/"; - return config; + return mergeConfig(config, { + base: "/frontend/", + + build: { + assetsInlineLimit: 0, + }, + + resolve: { + alias: { + "/icons": "/public/icons", + "/images": "/public/images", + "/fonts": "/public/fonts", + }, + }, + }); }, }; + export default config;