commit7
This commit is contained in:
commit
0b3a224af8
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import { DashboardElement } from "@/components/admin/dashboard/types";
|
import { DashboardElement } from "@/components/admin/dashboard/types";
|
||||||
|
import { getApiUrl } from "@/lib/utils/apiUrl";
|
||||||
|
|
||||||
interface CustomMetricWidgetProps {
|
interface CustomMetricWidgetProps {
|
||||||
element?: DashboardElement;
|
element?: DashboardElement;
|
||||||
|
|
@ -79,7 +80,7 @@ export default function CustomMetricWidget({ element }: CustomMetricWidgetProps)
|
||||||
}
|
}
|
||||||
|
|
||||||
const token = localStorage.getItem("authToken");
|
const token = localStorage.getItem("authToken");
|
||||||
const response = await fetch("/api/dashboards/execute-query", {
|
const response = await fetch(getApiUrl("/api/dashboards/execute-query"), {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
|
|
@ -121,7 +122,7 @@ export default function CustomMetricWidget({ element }: CustomMetricWidgetProps)
|
||||||
}
|
}
|
||||||
|
|
||||||
const token = localStorage.getItem("authToken");
|
const token = localStorage.getItem("authToken");
|
||||||
const response = await fetch("/api/dashboards/fetch-external-api", {
|
const response = await fetch(getApiUrl("/api/dashboards/fetch-external-api"), {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
/**
|
||||||
|
* API URL 유틸리티
|
||||||
|
* 프로덕션/개발 환경에 따라 올바른 API URL을 반환
|
||||||
|
*/
|
||||||
|
|
||||||
|
export function getApiUrl(endpoint: string): string {
|
||||||
|
// 클라이언트 사이드에서만 실행
|
||||||
|
if (typeof window !== "undefined") {
|
||||||
|
const hostname = window.location.hostname;
|
||||||
|
|
||||||
|
// 프로덕션: v1.vexplor.com → https://api.vexplor.com
|
||||||
|
if (hostname === "v1.vexplor.com") {
|
||||||
|
return `https://api.vexplor.com${endpoint}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 로컬 개발: localhost → http://localhost:8080
|
||||||
|
if (hostname === "localhost" || hostname === "127.0.0.1") {
|
||||||
|
return `http://localhost:8080${endpoint}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 기본값: 상대 경로
|
||||||
|
return endpoint;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue