fix: 보유종목 등락률 가끔 안 보이던 문제 — rt-daypct span 항상 렌더

기존 조건(d_pct_val != 0)으로 등락률이 0/None이면 .rt-daypct span을 아예
안 그렸는데, WS paintDay는 span이 있을 때만 갱신(if(sp))이라 한 번 0으로
렌더되면 실시간으로도 복구 안 돼 사라졌다. show_day_change 동안 항상 span을
그리도록 변경(값 0/None은 0.00% neutral) → WS가 라이브로 채움.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hyowons
2026-06-11 10:05:37 +09:00
parent bfb518307f
commit c1a46fd908
+7 -4
View File
@@ -2692,10 +2692,13 @@ def _render_holding_row(r: dict, total_value: int, show_day_change: bool = False
# raw pred_close_krx 는 kt00018 결함으로 정규장 시작 전·마감 후 cur_price 와 같은 값이 들어와 # raw pred_close_krx 는 kt00018 결함으로 정규장 시작 전·마감 후 cur_price 와 같은 값이 들어와
# 등락률이 항상 0% 으로 깔리는 문제가 있어 사용 X. # 등락률이 항상 0% 으로 깔리는 문제가 있어 사용 X.
d_pct_val = r.get('day_change_pct') d_pct_val = r.get('day_change_pct')
if show_day_change and isinstance(d_pct_val, (int, float)) and d_pct_val != 0: # show_day_change(시간대 게이트) 동안엔 항상 rt-daypct span 을 그린다 — 값이 0/None이어도.
d_sign = '+' if d_pct_val >= 0 else '' # span 이 없으면 WS paintDay(if(sp)) 가 실시간으로 못 채워, 한 번 0으로 렌더되면 등락률이 사라진 채 복구 안 됨.
d_cls = 'day-pct up' if d_pct_val > 0 else 'day-pct down' if show_day_change:
price_html = f'{mark_html}<span class="rt-px">{price:,}</span><span class="{d_cls} rt-daypct">{d_sign}{d_pct_val:.2f}%</span>' _dp = d_pct_val if isinstance(d_pct_val, (int, float)) else 0.0
d_sign = '+' if _dp >= 0 else ''
d_cls = 'day-pct up' if _dp > 0 else ('day-pct down' if _dp < 0 else 'day-pct neutral')
price_html = f'{mark_html}<span class="rt-px">{price:,}</span><span class="{d_cls} rt-daypct">{d_sign}{_dp:.2f}%</span>'
else: else:
price_html = f'{mark_html}<span class="rt-px">{price:,}</span>' price_html = f'{mark_html}<span class="rt-px">{price:,}</span>'