diff --git a/src/components/dashboard/platform/PlatformRoasTable.tsx b/src/components/dashboard/platform/PlatformRoasTable.tsx
index e5f42cbe..181cd0e4 100644
--- a/src/components/dashboard/platform/PlatformRoasTable.tsx
+++ b/src/components/dashboard/platform/PlatformRoasTable.tsx
@@ -5,13 +5,13 @@ import type { IPlatformRankingItem } from "@/types/dashboard/overview";
import { TrendBadge } from "@/components/common/card/StatCard";
import GoogleLogo from "@/assets/logo/social-logo/circle/google-circle.svg?react";
+import MetaLogo from "@/assets/logo/social-logo/circle/meta-circle.svg?react";
import NaverLogo from "@/assets/logo/social-logo/circle/naver-circle.svg?react";
-import KakaoLogo from "@/assets/logo/social-logo/plain/kakao.svg?react";
const platformLogoMap = {
Google: ,
NAVER: ,
- Kakao: ,
+ Meta: ,
};
type TPlatformName = keyof typeof platformLogoMap;
@@ -19,7 +19,7 @@ type TPlatformName = keyof typeof platformLogoMap;
const providerDisplayMap: Record = {
GOOGLE: "Google",
NAVER: "NAVER",
- KAKAO: "Kakao",
+ META: "Meta",
};
function getDisplayName(provider: string): string {
diff --git a/src/hooks/dashboard/useOverviewRoasRankings.ts b/src/hooks/dashboard/useOverviewRoasRankings.ts
index ab9d1d86..0504864f 100644
--- a/src/hooks/dashboard/useOverviewRoasRankings.ts
+++ b/src/hooks/dashboard/useOverviewRoasRankings.ts
@@ -8,17 +8,17 @@ import { useCoreQuery } from "@/hooks/customQuery";
import { getOverview, getRoasRankings } from "@/api/dashboard/overview";
import useWorkspaceStore from "@/store/useWorkspaceStore";
-const PROVIDERS: TProviderType[] = ["GOOGLE", "NAVER", "KAKAO"];
+const PROVIDERS: TProviderType[] = ["GOOGLE", "NAVER", "META"];
-// 플랫폼별 ROAS 순위 + CTR/CVR 지표 병렬 조회 후 병합
export function useOverviewRoasRankings() {
const orgId = useWorkspaceStore((s) => s.selectedOrgId);
return useCoreQuery(
["overview", "roasRankings", orgId],
async (): Promise => {
+ // ROAS 순위 + 플랫폼별 지표 병렬 조회
const [rankingsRes, ...metricsResults] = await Promise.all([
- // TODO: 백엔드 빈 배열 이슈 확인용 임시 날짜 범위 — 정상화 후 제거
+ // TODO: 백엔드 빈 배열 이슈 — 임시 날짜 범위
getRoasRankings(orgId!, {
startDate: "2026-01-22",
endDate: "2026-03-22",
@@ -26,13 +26,14 @@ export function useOverviewRoasRankings() {
...PROVIDERS.map((p) => getOverview(orgId!, p).catch(() => null)),
]);
+ // provider → metrics 매핑
const metricsMap = Object.fromEntries(
PROVIDERS.map((p, i) => [p, metricsResults[i]]),
);
return rankingsRes.rankings.map((item) => {
const metrics = metricsMap[item.provider.toUpperCase()];
- // CTR = 클릭수 / 노출수 * 100
+ // CTR = 클릭수 ÷ 노출수 × 100
const clickRate =
metrics && metrics.impressions > 0
? (metrics.clicks / metrics.impressions) * 100
diff --git a/src/hooks/dashboard/usePlatformAdCount.ts b/src/hooks/dashboard/usePlatformAdCount.ts
index 93dc3024..64cb87b8 100644
--- a/src/hooks/dashboard/usePlatformAdCount.ts
+++ b/src/hooks/dashboard/usePlatformAdCount.ts
@@ -1,17 +1,10 @@
-import type {
- IAdStatusData,
- TPlatformProvider,
-} from "@/types/dashboard/platform";
+import type { IAdStatusData } from "@/types/dashboard/platform";
import { useCoreQuery } from "@/hooks/customQuery";
import { getAdCount } from "@/api/dashboard/platform";
import useWorkspaceStore from "@/store/useWorkspaceStore";
-// TODO: 추후 제거
-const normalizeProvider = (provider: string): TPlatformProvider =>
- provider === "KAKAO" ? "META" : (provider as TPlatformProvider);
-
// 광고 소재 현황
export function usePlatformAdCount() {
const orgId = useWorkspaceStore((s) => s.selectedOrgId);
@@ -19,15 +12,6 @@ export function usePlatformAdCount() {
return useCoreQuery(
["platform", "adCount", orgId],
() => getAdCount(orgId!),
- {
- enabled: !!orgId,
- select: (data): IAdStatusData => ({
- ...data,
- providerCount: data.providerCount.map((item) => ({
- ...item,
- provider: normalizeProvider(item.provider),
- })),
- }),
- },
+ { enabled: !!orgId },
);
}
diff --git a/src/hooks/dashboard/usePlatformPerformance.ts b/src/hooks/dashboard/usePlatformPerformance.ts
index 3c73e39e..5803056b 100644
--- a/src/hooks/dashboard/usePlatformPerformance.ts
+++ b/src/hooks/dashboard/usePlatformPerformance.ts
@@ -1,19 +1,12 @@
import type { TProviderType } from "@/types/dashboard/overview";
-import type {
- IPlatformPerformance,
- TPlatformProvider,
-} from "@/types/dashboard/platform";
+import type { IPlatformPerformance } from "@/types/dashboard/platform";
import { useCoreQuery } from "@/hooks/customQuery";
import { getOverview } from "@/api/dashboard/overview";
import useWorkspaceStore from "@/store/useWorkspaceStore";
-// TODO: 추후 제거
-const normalizeProvider = (provider: string): TPlatformProvider =>
- provider === "KAKAO" ? "META" : (provider as TPlatformProvider);
-
-const PROVIDERS: TProviderType[] = ["GOOGLE", "NAVER", "KAKAO"];
+const PROVIDERS: TProviderType[] = ["GOOGLE", "NAVER", "META"];
// 플랫폼별 성과 효율 (3개 플랫폼 병렬 조회 후 병합)
export function usePlatformPerformance() {
@@ -26,7 +19,7 @@ export function usePlatformPerformance() {
PROVIDERS.map((provider) =>
getOverview(orgId!, provider).then((metrics) => ({
...metrics,
- provider: normalizeProvider(provider),
+ provider,
})),
),
);
diff --git a/src/hooks/dashboard/usePlatformRoasRankings.ts b/src/hooks/dashboard/usePlatformRoasRankings.ts
index 589b5a10..a32b12ec 100644
--- a/src/hooks/dashboard/usePlatformRoasRankings.ts
+++ b/src/hooks/dashboard/usePlatformRoasRankings.ts
@@ -4,15 +4,12 @@ import { useCoreQuery } from "@/hooks/customQuery";
import { getRoasRankings } from "@/api/dashboard/overview";
import useWorkspaceStore from "@/store/useWorkspaceStore";
-// TODO: 추후 제거
-const normalizeProvider = (provider: string): string =>
- provider === "KAKAO" ? "META" : provider;
+
// ROAS 성과 순위 (상위 3개)
export function usePlatformRoasRankings() {
const orgId = useWorkspaceStore((s) => s.selectedOrgId);
return useCoreQuery(
["platform", "roasRankings", orgId],
- // TODO: 추후 제거
() =>
getRoasRankings(orgId!, {
startDate: "2026-01-22",
@@ -20,11 +17,7 @@ export function usePlatformRoasRankings() {
}),
{
enabled: !!orgId,
- select: (data): IRoasRanking[] =>
- data.rankings.map((item) => ({
- ...item,
- provider: normalizeProvider(item.provider),
- })),
+ select: (data): IRoasRanking[] => data.rankings,
},
);
}
diff --git a/src/types/dashboard/overview.ts b/src/types/dashboard/overview.ts
index abe7ee66..a6b50a59 100644
--- a/src/types/dashboard/overview.ts
+++ b/src/types/dashboard/overview.ts
@@ -1,5 +1,5 @@
// 광고 플랫폼 종류
-export type TProviderType = "KAKAO" | "NAVER" | "GOOGLE";
+export type TProviderType = "META" | "NAVER" | "GOOGLE";
// 전체 지표 집계 응답
export interface IMetricsResponse {
diff --git a/src/types/dashboard/platform.ts b/src/types/dashboard/platform.ts
index 0a5a0fd8..c7eab7df 100644
--- a/src/types/dashboard/platform.ts
+++ b/src/types/dashboard/platform.ts
@@ -1,6 +1,6 @@
import type { TProviderType } from "./overview";
-export type TPlatformProvider = TProviderType | "META";
+export type TPlatformProvider = TProviderType;
export const PLATFORM_MAP: Record = {
GOOGLE: "Google",