전체적인 리팩토링
This commit is contained in:
@@ -5,6 +5,8 @@ export const UP_COLOR = "#ef4444";
|
||||
export const MINUTE_SYNC_INTERVAL_MS = 30000;
|
||||
export const REALTIME_STALE_THRESHOLD_MS = 12000;
|
||||
export const CHART_MIN_HEIGHT = 220;
|
||||
export const HISTORY_LOAD_TRIGGER_BARS_BEFORE = 40;
|
||||
export const INITIAL_MINUTE_PREFETCH_BUDGET_MS = 12000;
|
||||
|
||||
export interface ChartPalette {
|
||||
backgroundColor: string;
|
||||
@@ -31,6 +33,9 @@ export const MINUTE_TIMEFRAMES: Array<{
|
||||
label: string;
|
||||
}> = [
|
||||
{ value: "1m", label: "1분" },
|
||||
{ value: "5m", label: "5분" },
|
||||
{ value: "10m", label: "10분" },
|
||||
{ value: "15m", label: "15분" },
|
||||
{ value: "30m", label: "30분" },
|
||||
{ value: "1h", label: "1시간" },
|
||||
];
|
||||
@@ -43,6 +48,30 @@ export const PERIOD_TIMEFRAMES: Array<{
|
||||
{ value: "1w", label: "주" },
|
||||
];
|
||||
|
||||
export function resolveInitialMinuteTargetBars(
|
||||
timeframe: DashboardChartTimeframe,
|
||||
) {
|
||||
if (timeframe === "1m") return 260;
|
||||
if (timeframe === "5m") return 240;
|
||||
if (timeframe === "10m") return 220;
|
||||
if (timeframe === "15m") return 200;
|
||||
if (timeframe === "30m") return 180;
|
||||
if (timeframe === "1h") return 260;
|
||||
return 140;
|
||||
}
|
||||
|
||||
export function resolveInitialMinutePrefetchPages(
|
||||
timeframe: DashboardChartTimeframe,
|
||||
) {
|
||||
if (timeframe === "1m") return 24;
|
||||
if (timeframe === "5m") return 28;
|
||||
if (timeframe === "10m") return 32;
|
||||
if (timeframe === "15m") return 36;
|
||||
if (timeframe === "30m") return 44;
|
||||
if (timeframe === "1h") return 80;
|
||||
return 20;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 브랜드 CSS 변수에서 차트 팔레트를 읽어옵니다.
|
||||
* @see features/trade/components/chart/StockLineChart.tsx 차트 생성/테마 반영
|
||||
|
||||
Reference in New Issue
Block a user