종목목록 전일대비 정렬문제
This commit is contained in:
@@ -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}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user