알림목록 화면오류 수정
This commit is contained in:
@@ -50,6 +50,17 @@ const TradeSignalMiniChart: React.FC<Props> = ({
|
||||
const marketRef = useRef(market);
|
||||
marketRef.current = market;
|
||||
|
||||
const syncChartLayout = useCallback(() => {
|
||||
const wrap = canvasWrapRef.current;
|
||||
const mgr = managerRef.current;
|
||||
if (!wrap || !mgr?.hasMainSeries()) return;
|
||||
const chartWrap = wrap.querySelector<HTMLElement>('.tv-chart-wrap');
|
||||
const w = chartWrap?.clientWidth ?? wrap.clientWidth;
|
||||
const h = chartWrap?.clientHeight ?? wrap.clientHeight;
|
||||
if (w <= 0 || h <= 0) return;
|
||||
mgr.syncLayout(w, h);
|
||||
}, []);
|
||||
|
||||
const handleCandlesReady = useCallback(() => {
|
||||
chartLiveReadyRef.current = true;
|
||||
const pending = pendingBarRef.current;
|
||||
@@ -57,12 +68,8 @@ const TradeSignalMiniChart: React.FC<Props> = ({
|
||||
if (!pending || !mgr || barsMarketRef.current !== marketRef.current) return;
|
||||
pendingBarRef.current = null;
|
||||
mgr.updateBar(pending);
|
||||
const wrap = canvasWrapRef.current;
|
||||
if (wrap && wrap.clientWidth > 0 && wrap.clientHeight > 0) {
|
||||
mgr.resetPaneHeights(wrap.clientHeight);
|
||||
mgr.resize(wrap.clientWidth, wrap.clientHeight);
|
||||
}
|
||||
}, []);
|
||||
syncChartLayout();
|
||||
}, [syncChartLayout]);
|
||||
|
||||
const applyRealtimeBar = useCallback((bar: OHLCVBar, append: boolean) => {
|
||||
if (barsMarketRef.current !== marketRef.current) return;
|
||||
@@ -107,17 +114,6 @@ const TradeSignalMiniChart: React.FC<Props> = ({
|
||||
barsMarketRef.current = barsMarket;
|
||||
const barsReady = bars.length >= 2 && barsMarket === market;
|
||||
|
||||
const syncChartLayout = useCallback(() => {
|
||||
const wrap = canvasWrapRef.current;
|
||||
const mgr = managerRef.current;
|
||||
if (!wrap || !mgr?.hasMainSeries()) return;
|
||||
const w = wrap.clientWidth;
|
||||
const h = wrap.clientHeight;
|
||||
if (w <= 0 || h <= 0) return;
|
||||
mgr.resetPaneHeights(h);
|
||||
mgr.resize(w, h);
|
||||
}, []);
|
||||
|
||||
useLayoutEffect(() => {
|
||||
chartLiveReadyRef.current = false;
|
||||
pendingBarRef.current = null;
|
||||
@@ -132,14 +128,8 @@ const TradeSignalMiniChart: React.FC<Props> = ({
|
||||
const timers = [200, 600, 1200].map(delay =>
|
||||
setTimeout(() => {
|
||||
if (!canvasWrapRef.current) return;
|
||||
const h = canvasWrapRef.current.clientHeight;
|
||||
if (h <= 0) return;
|
||||
const w = canvasWrapRef.current.clientWidth;
|
||||
if (managerRef.current?.hasMainSeries()) {
|
||||
if (w > 0) {
|
||||
managerRef.current.resetPaneHeights(h);
|
||||
managerRef.current.resize(w, h);
|
||||
}
|
||||
syncChartLayout();
|
||||
} else if (!chartReloadTriggeredRef.current && delay >= 600 && barsReady) {
|
||||
chartReloadTriggeredRef.current = true;
|
||||
setChartReloadTick(t => t + 1);
|
||||
|
||||
Reference in New Issue
Block a user