From db28cdc9fe5e5d855eaa5c53a17f2fffa1c91af3 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 20:56:47 +0900 Subject: [PATCH 01/21] =?UTF-8?q?chore:=20=EA=B8=B0=EB=8A=A5=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC=20=EB=AC=B8=EC=84=9C=20=EC=A0=9C=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4c84356..cd57444 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,5 @@ next-env.d.ts # local env files .env.local -/.vscode \ No newline at end of file +/.vscode +/docs \ No newline at end of file From 693bd5322f15d4a01b7dcdaa1b3da559d1e741b7 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:20:25 +0900 Subject: [PATCH 02/21] =?UTF-8?q?chore:=20tanstack=20query=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 ++ pnpm-lock.yaml | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/package.json b/package.json index fc2f479..b59e0b8 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.2.4", + "@tanstack/react-query": "^5.90.7", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.553.0", @@ -26,6 +27,7 @@ }, "devDependencies": { "@tailwindcss/postcss": "^4", + "@tanstack/react-query-devtools": "^5.90.2", "@trivago/prettier-plugin-sort-imports": "^6.0.0", "@types/node": "^20", "@types/react": "^19", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f70b1ff..03908ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,9 @@ importers: '@radix-ui/react-slot': specifier: ^1.2.4 version: 1.2.4(@types/react@19.2.2)(react@19.2.0) + '@tanstack/react-query': + specifier: ^5.90.7 + version: 5.90.7(react@19.2.0) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -54,6 +57,9 @@ importers: '@tailwindcss/postcss': specifier: ^4 version: 4.1.17 + '@tanstack/react-query-devtools': + specifier: ^5.90.2 + version: 5.90.2(@tanstack/react-query@5.90.7(react@19.2.0))(react@19.2.0) '@trivago/prettier-plugin-sort-imports': specifier: ^6.0.0 version: 6.0.0(prettier@3.6.2) @@ -893,6 +899,23 @@ packages: '@tailwindcss/postcss@4.1.17': resolution: {integrity: sha512-+nKl9N9mN5uJ+M7dBOOCzINw94MPstNR/GtIhz1fpZysxL/4a+No64jCBD6CPN+bIHWFx3KWuu8XJRrj/572Dw==} + '@tanstack/query-core@5.90.7': + resolution: {integrity: sha512-6PN65csiuTNfBMXqQUxQhCNdtm1rV+9kC9YwWAIKcaxAauq3Wu7p18j3gQY3YIBJU70jT/wzCCZ2uqto/vQgiQ==} + + '@tanstack/query-devtools@5.90.1': + resolution: {integrity: sha512-GtINOPjPUH0OegJExZ70UahT9ykmAhmtNVcmtdnOZbxLwT7R5OmRztR5Ahe3/Cu7LArEmR6/588tAycuaWb1xQ==} + + '@tanstack/react-query-devtools@5.90.2': + resolution: {integrity: sha512-vAXJzZuBXtCQtrY3F/yUNJCV4obT/A/n81kb3+YqLbro5Z2+phdAbceO+deU3ywPw8B42oyJlp4FhO0SoivDFQ==} + peerDependencies: + '@tanstack/react-query': ^5.90.2 + react: ^18 || ^19 + + '@tanstack/react-query@5.90.7': + resolution: {integrity: sha512-wAHc/cgKzW7LZNFloThyHnV/AX9gTg3w5yAv0gvQHPZoCnepwqCMtzbuPbb2UvfvO32XZ46e8bPOYbfZhzVnnQ==} + peerDependencies: + react: ^18 || ^19 + '@trivago/prettier-plugin-sort-imports@6.0.0': resolution: {integrity: sha512-Xarx55ow0R8oC7ViL5fPmDsg1EBa1dVhyZFVbFXNtPPJyW2w9bJADIla8YFSaNG9N06XfcklA9O9vmw4noNxkQ==} engines: {node: '>= 20'} @@ -3209,6 +3232,21 @@ snapshots: postcss: 8.5.6 tailwindcss: 4.1.17 + '@tanstack/query-core@5.90.7': {} + + '@tanstack/query-devtools@5.90.1': {} + + '@tanstack/react-query-devtools@5.90.2(@tanstack/react-query@5.90.7(react@19.2.0))(react@19.2.0)': + dependencies: + '@tanstack/query-devtools': 5.90.1 + '@tanstack/react-query': 5.90.7(react@19.2.0) + react: 19.2.0 + + '@tanstack/react-query@5.90.7(react@19.2.0)': + dependencies: + '@tanstack/query-core': 5.90.7 + react: 19.2.0 + '@trivago/prettier-plugin-sort-imports@6.0.0(prettier@3.6.2)': dependencies: '@babel/generator': 7.28.5 From 4f6fb702354b82ed4d2a22500a9e6abcdafdc947 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:20:56 +0900 Subject: [PATCH 03/21] =?UTF-8?q?feat:=20tanstack=20query=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/index.ts | 2 ++ src/shared/libs/index.ts | 1 + src/shared/libs/query-client.ts | 3 +++ src/shared/provider/AppProvider.tsx | 9 +++++++++ .../provider/components/QueryProvider.tsx | 19 +++++++++++++++++++ src/shared/provider/index.ts | 1 + 6 files changed, 35 insertions(+) create mode 100644 src/shared/libs/index.ts create mode 100644 src/shared/libs/query-client.ts create mode 100644 src/shared/provider/AppProvider.tsx create mode 100644 src/shared/provider/components/QueryProvider.tsx create mode 100644 src/shared/provider/index.ts diff --git a/src/shared/index.ts b/src/shared/index.ts index 1f48df1..68e6f21 100644 --- a/src/shared/index.ts +++ b/src/shared/index.ts @@ -1,3 +1,5 @@ export * from "./components"; export * from "./constants"; export * from "./utils"; +export * from "./provider"; +export * from "./types"; diff --git a/src/shared/libs/index.ts b/src/shared/libs/index.ts new file mode 100644 index 0000000..00b9984 --- /dev/null +++ b/src/shared/libs/index.ts @@ -0,0 +1 @@ +export * from "./query-client"; diff --git a/src/shared/libs/query-client.ts b/src/shared/libs/query-client.ts new file mode 100644 index 0000000..6c7b9de --- /dev/null +++ b/src/shared/libs/query-client.ts @@ -0,0 +1,3 @@ +import { QueryClient } from "@tanstack/react-query"; + +export const queryClient = new QueryClient(); diff --git a/src/shared/provider/AppProvider.tsx b/src/shared/provider/AppProvider.tsx new file mode 100644 index 0000000..3d1648a --- /dev/null +++ b/src/shared/provider/AppProvider.tsx @@ -0,0 +1,9 @@ +import { QueryProvider } from "./components"; + +type Props = { + children: React.ReactNode; +}; + +export const AppProvider = ({ children }: Props) => { + return {children}; +}; diff --git a/src/shared/provider/components/QueryProvider.tsx b/src/shared/provider/components/QueryProvider.tsx new file mode 100644 index 0000000..6aee552 --- /dev/null +++ b/src/shared/provider/components/QueryProvider.tsx @@ -0,0 +1,19 @@ +"use client"; + +import { QueryClientProvider } from "@tanstack/react-query"; +import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; + +import { queryClient } from "../../libs"; + +type Props = { + children: React.ReactNode; +}; + +export const QueryProvider = ({ children }: Props) => { + return ( + + {children} + + + ); +}; diff --git a/src/shared/provider/index.ts b/src/shared/provider/index.ts new file mode 100644 index 0000000..0cd027d --- /dev/null +++ b/src/shared/provider/index.ts @@ -0,0 +1 @@ +export * from "./AppProvider"; From 7dcebe514ee0ff27e9a0a68175927100436eba57 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:24:09 +0900 Subject: [PATCH 04/21] =?UTF-8?q?chore:=20=EC=83=81=EC=8A=B9=20=EB=B0=8F?= =?UTF-8?q?=20=ED=95=98=EB=9D=BD=20=EC=83=89=EC=83=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/globals.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/app/globals.css b/src/app/globals.css index 4c12fe8..69532b2 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -47,9 +47,13 @@ --color-text-light: var(--text-light); --color-negative: var(--negative); --color-positive: var(--positive); + --color-increase: var(--increase); + --color-decrease: var(--decrease); } :root { + --decrease: #1375ec; + --increase: #dd3c44; --positive: #00b15d; --negative: #ff4136; --text-dark: #e0e0e0; From 74e20fa6faf6621f590c786bbb49bb4ff1a37380 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:24:16 +0900 Subject: [PATCH 05/21] =?UTF-8?q?feat:=20tanstack=20query=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/layout.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 6d91bae..3fd0b11 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,6 @@ -import { Geist_Mono, Noto_Sans, Roboto } from "next/font/google"; +import { Noto_Sans, Roboto } from "next/font/google"; +import { AppProvider } from "@/shared"; import { AppLayout } from "@/widgets"; import type { Metadata } from "next"; @@ -28,7 +29,9 @@ export default function RootLayout({ return ( - {children} + + {children} + ); From 889807f2776f4d2ccd25d2b5af8c693b52532788 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:29:11 +0900 Subject: [PATCH 06/21] =?UTF-8?q?refactor:=20entities=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=EB=A1=9C=20api=20=EC=BD=94=EB=93=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/market/model/apis/index.ts | 2 ++ .../home => entities/market/model}/apis/market-all.api.ts | 2 +- .../home => entities/market/model}/apis/ticker.api.ts | 0 src/entities/market/model/index.ts | 2 ++ src/features/home/apis/index.ts | 3 +-- 5 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 src/entities/market/model/apis/index.ts rename src/{features/home => entities/market/model}/apis/market-all.api.ts (98%) rename src/{features/home => entities/market/model}/apis/ticker.api.ts (100%) create mode 100644 src/entities/market/model/index.ts diff --git a/src/entities/market/model/apis/index.ts b/src/entities/market/model/apis/index.ts new file mode 100644 index 0000000..d62e325 --- /dev/null +++ b/src/entities/market/model/apis/index.ts @@ -0,0 +1,2 @@ +export * from "./market-all.api"; +export * from "./ticker.api"; diff --git a/src/features/home/apis/market-all.api.ts b/src/entities/market/model/apis/market-all.api.ts similarity index 98% rename from src/features/home/apis/market-all.api.ts rename to src/entities/market/model/apis/market-all.api.ts index f8d7f26..8d74e49 100644 --- a/src/features/home/apis/market-all.api.ts +++ b/src/entities/market/model/apis/market-all.api.ts @@ -8,7 +8,7 @@ export interface MarketAllItem { } export const marketAllAPI = async (): Promise => { - const response = await fetch(`${UPBIT_URL}/market/all?isDetails=true`, { + const response = await fetch(`${UPBIT_URL}/market/all?isDetails=false`, { next: { revalidate: 60 }, // 60초 캐시 (서버 컴포넌트 환경에서) }); diff --git a/src/features/home/apis/ticker.api.ts b/src/entities/market/model/apis/ticker.api.ts similarity index 100% rename from src/features/home/apis/ticker.api.ts rename to src/entities/market/model/apis/ticker.api.ts diff --git a/src/entities/market/model/index.ts b/src/entities/market/model/index.ts new file mode 100644 index 0000000..1063c8d --- /dev/null +++ b/src/entities/market/model/index.ts @@ -0,0 +1,2 @@ +export * from "./apis"; +export * from "./types"; diff --git a/src/features/home/apis/index.ts b/src/features/home/apis/index.ts index d62e325..ce385f9 100644 --- a/src/features/home/apis/index.ts +++ b/src/features/home/apis/index.ts @@ -1,2 +1 @@ -export * from "./market-all.api"; -export * from "./ticker.api"; +export * from "./market.api"; From c006b2debef0bd30e7e21462f1a22766e0117a86 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:29:25 +0900 Subject: [PATCH 07/21] =?UTF-8?q?feat:=20tanstack=20query=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/provider/components/index.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/shared/provider/components/index.ts diff --git a/src/shared/provider/components/index.ts b/src/shared/provider/components/index.ts new file mode 100644 index 0000000..063b7a4 --- /dev/null +++ b/src/shared/provider/components/index.ts @@ -0,0 +1 @@ +export * from "./QueryProvider"; From cbcf54405b56ab646c64821af3c73c14b3563bd5 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:31:28 +0900 Subject: [PATCH 08/21] =?UTF-8?q?feat:=20=ED=95=84=EC=9A=94=ED=95=9C=20?= =?UTF-8?q?=EB=A7=88=EC=BC=93=20=EC=A0=95=EB=B3=B4=EB=A7=8C=20=EA=B0=80?= =?UTF-8?q?=EC=A0=B8=EC=98=A4=EB=8A=94=20route=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/market/route.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/app/api/market/route.ts diff --git a/src/app/api/market/route.ts b/src/app/api/market/route.ts new file mode 100644 index 0000000..35b5f78 --- /dev/null +++ b/src/app/api/market/route.ts @@ -0,0 +1,13 @@ +import { NextResponse } from "next/server"; + +import { marketInfoHandler } from "@/entities"; + +export async function GET() { + try { + const data = await marketInfoHandler(); + return NextResponse.json({ status: "success", data }); + } catch (error) { + console.error("Market API error:", error); + return NextResponse.json({ status: "error", error: "Failed to fetch market data" }, { status: 500 }); + } +} From 12575436182a974a90a0c7c0fb99236a554afe56 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:32:16 +0900 Subject: [PATCH 09/21] =?UTF-8?q?feat:=20=ED=95=84=EC=9A=94=ED=95=9C=20?= =?UTF-8?q?=EB=A7=88=EC=BC=93=20=EC=A0=95=EB=B3=B4=EB=A7=8C=20=EA=B0=80?= =?UTF-8?q?=EC=A0=B8=EC=98=A4=EA=B8=B0=20handler=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/index.ts | 1 + src/entities/market/handler/index.ts | 1 + .../market/handler/market-info.handler.ts | 31 +++++++++++++++++++ src/entities/market/index.ts | 2 ++ 4 files changed, 35 insertions(+) create mode 100644 src/entities/market/handler/index.ts create mode 100644 src/entities/market/handler/market-info.handler.ts create mode 100644 src/entities/market/index.ts diff --git a/src/entities/index.ts b/src/entities/index.ts index e69de29..674239a 100644 --- a/src/entities/index.ts +++ b/src/entities/index.ts @@ -0,0 +1 @@ +export * from "./market"; diff --git a/src/entities/market/handler/index.ts b/src/entities/market/handler/index.ts new file mode 100644 index 0000000..60f9984 --- /dev/null +++ b/src/entities/market/handler/index.ts @@ -0,0 +1 @@ +export * from "./market-info.handler"; diff --git a/src/entities/market/handler/market-info.handler.ts b/src/entities/market/handler/market-info.handler.ts new file mode 100644 index 0000000..e567b3d --- /dev/null +++ b/src/entities/market/handler/market-info.handler.ts @@ -0,0 +1,31 @@ +import { marketAllAPI, tickerAPI } from "../model"; + +export const marketInfoHandler = async () => { + const marketData = await marketAllAPI(); + + const KRWmarketList = marketData + .filter((item) => item.market.startsWith("KRW-")) + .map((item) => ({ + market: item.market, + korean_name: item.korean_name, + })); + // const marketName = KRWmarketList.map((item) => item.korean_name); + + // const marketList = KRWMarkets.map((item) => item.market, item.korean_name); + + const tickerData = await tickerAPI(KRWmarketList.map((item) => item.market)); + // const tickerData = await tickerAPI(["KRW-WAXP"]); + + const result = tickerData.map((ticker) => { + const marketInfo = KRWmarketList.find((m) => m.market === ticker.market); + + return { + market: ticker.market, + koreanName: marketInfo?.korean_name || "", + tradePrice: ticker.trade_price, + changeRate: parseFloat((ticker.signed_change_rate * 100).toFixed(2)), // 퍼센트로 변환 & 소수 둘째자리 + }; + }); + + return result; +}; diff --git a/src/entities/market/index.ts b/src/entities/market/index.ts new file mode 100644 index 0000000..97dec78 --- /dev/null +++ b/src/entities/market/index.ts @@ -0,0 +1,2 @@ +export * from "./handler"; +export * from "./model"; From 287f82d3da537e05022b011d7df4ae544b3e53b2 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:33:10 +0900 Subject: [PATCH 10/21] =?UTF-8?q?feat:=20=EB=A7=88=EC=BC=93=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20type=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/market/model/types/index.ts | 1 + src/entities/market/model/types/market-info.type.ts | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 src/entities/market/model/types/index.ts create mode 100644 src/entities/market/model/types/market-info.type.ts diff --git a/src/entities/market/model/types/index.ts b/src/entities/market/model/types/index.ts new file mode 100644 index 0000000..0406812 --- /dev/null +++ b/src/entities/market/model/types/index.ts @@ -0,0 +1 @@ +export * from "./market-info.type"; diff --git a/src/entities/market/model/types/market-info.type.ts b/src/entities/market/model/types/market-info.type.ts new file mode 100644 index 0000000..1ffa380 --- /dev/null +++ b/src/entities/market/model/types/market-info.type.ts @@ -0,0 +1,6 @@ +export type MarketInfoType = { + market: string; + koreanName: string; + tradePrice: number; + changeRate: number; +}; From 0b678464806fb22b069555326f08a02612387100 Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:33:43 +0900 Subject: [PATCH 11/21] =?UTF-8?q?feat:=20=EB=82=B4=EB=B6=80=20=EB=A7=88?= =?UTF-8?q?=EC=BC=93=20api=20=ED=98=B8=EC=B6=9C=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/home/apis/market.api.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/features/home/apis/market.api.ts diff --git a/src/features/home/apis/market.api.ts b/src/features/home/apis/market.api.ts new file mode 100644 index 0000000..962c050 --- /dev/null +++ b/src/features/home/apis/market.api.ts @@ -0,0 +1,18 @@ +import { MarketInfoType } from "@/entities"; +import { APIResponse } from "@/shared"; + +// type MarketApiResponse = { +// success: boolean; +// data: MarketInfoType[]; +// error?: string; +// }; + +export const marketAPI = async (): Promise => { + const response = await fetch("/api/market", { cache: "no-store" }); + if (!response.ok) { + throw new Error(`Market API failed: ${response.status} ${response.statusText}`); + } + const json: APIResponse = await response.json(); + + return json.data; +}; From 1bb5003ca35fff935bea86e681e062d8ef5a121b Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:34:08 +0900 Subject: [PATCH 12/21] =?UTF-8?q?feat:=20api=20response=20type=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/types/api.type.ts | 4 ++++ src/shared/types/index.ts | 1 + 2 files changed, 5 insertions(+) create mode 100644 src/shared/types/api.type.ts create mode 100644 src/shared/types/index.ts diff --git a/src/shared/types/api.type.ts b/src/shared/types/api.type.ts new file mode 100644 index 0000000..d50f75d --- /dev/null +++ b/src/shared/types/api.type.ts @@ -0,0 +1,4 @@ +export type APIResponse = { + status: "success" | "error"; + data: T; +}; diff --git a/src/shared/types/index.ts b/src/shared/types/index.ts new file mode 100644 index 0000000..af5d683 --- /dev/null +++ b/src/shared/types/index.ts @@ -0,0 +1 @@ +export * from "./api.type"; From 0dc6ffa243641a53b504bf1b47e2f3dd5de162fb Mon Sep 17 00:00:00 2001 From: Dobbymin Date: Sun, 9 Nov 2025 22:34:33 +0900 Subject: [PATCH 13/21] =?UTF-8?q?fix(home):=20=EC=BD=94=EC=9D=B8=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20?= =?UTF-8?q?=EB=84=88=EB=B9=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/home/ui/CoinInfoSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/home/ui/CoinInfoSection.tsx b/src/features/home/ui/CoinInfoSection.tsx index 61e4ccb..7c806d7 100644 --- a/src/features/home/ui/CoinInfoSection.tsx +++ b/src/features/home/ui/CoinInfoSection.tsx @@ -2,7 +2,7 @@ import { CoinInfoTable, CoinSearchInput } from "../components"; export const CoinInfoSection = () => { return ( -