종목목록 전일대비 정렬문제

This commit is contained in:
Macbook
2026-06-16 08:53:35 +09:00
parent 615e1164a6
commit 518b69cdc6
8 changed files with 232 additions and 142 deletions
+27 -4
View File
@@ -13,6 +13,7 @@ import LayoutPicker from './LayoutPicker';
import TradeAlertPopupMenubarSelect from './TradeAlertPopupMenubarSelect';
import { DEFAULT_SYNC, type LayoutDef, type SyncOptions } from '../utils/layoutTypes';
import { loadStrategies } from '../utils/backendApi';
import type { TickerData, MarketInfo } from '../hooks/useMarketTicker';
interface BtStrategy { id?: number; name: string; source: 'db'; buyCondition?: unknown; sellCondition?: unknown; }
@@ -81,6 +82,12 @@ export interface ToolbarProps {
marketPanelActive?: boolean;
/** 마켓 패널 토글 */
onToggleMarketPanel?: () => void;
/** useMarketTicker 공유 시세 (종목검색·마켓패널 통합) */
marketTickers?: Map<string, TickerData>;
marketInfos?: MarketInfo[];
marketLoading?: boolean;
refreshAllTickers?: () => Promise<void>;
onMarketSearchOpenChange?: (open: boolean) => void;
/** 백테스팅 드롭다운 표시 여부 */
backtestActive?: boolean;
/** 백테스팅 실행 콜백 */
@@ -294,6 +301,8 @@ const Toolbar: React.FC<ToolbarProps> = ({
layoutId = '1', syncOptions = DEFAULT_SYNC, onLayoutSelect, onSyncChange,
magnifierActive = false, onToggleMagnifier,
marketPanelActive = false, onToggleMarketPanel,
marketTickers, marketInfos, marketLoading, refreshAllTickers,
onMarketSearchOpenChange,
backtestActive = false, onRunBacktest,
backtestRunning = false, backtestRunningId,
onOpenBtSettings,
@@ -371,11 +380,21 @@ const Toolbar: React.FC<ToolbarProps> = ({
}, [showLayout]);
const openMarketSearch = useCallback(() => {
setShowMarket(v => !v);
setShowMarket(v => {
const next = !v;
onMarketSearchOpenChange?.(next);
if (next) void refreshAllTickers?.();
return next;
});
setShowTfMenu(false);
setShowCtMenu(false);
setShowIndMenu(false);
}, []);
}, [onMarketSearchOpenChange, refreshAllTickers]);
const closeMarketSearch = useCallback(() => {
setShowMarket(false);
onMarketSearchOpenChange?.(false);
}, [onMarketSearchOpenChange]);
return (
<>
@@ -383,8 +402,12 @@ const Toolbar: React.FC<ToolbarProps> = ({
{showMarket && (
<MarketSearchPanel
currentMarket={symbol}
onSelect={s => { onSymbol(s); setShowMarket(false); }}
onClose={() => setShowMarket(false)}
onSelect={s => { onSymbol(s); closeMarketSearch(); }}
onClose={closeMarketSearch}
tickers={marketTickers}
marketInfos={marketInfos}
marketLoading={marketLoading}
refreshAllTickers={refreshAllTickers}
/>
)}