diff --git a/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py b/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py index 54550af..1ac6b6e 100755 --- a/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py +++ b/agents/budget/workspace/skills/whooing-sync/scripts/whooing_sync.py @@ -941,7 +941,7 @@ def main(): cur_month = datetime.now(KST).strftime("%Y-%m") if ( info.get("side") == "asset" - and carrier in {"kakaobank", "shinhan_bank"} + and carrier in {"kakaobank", "shinhan_bank", "hana_bank"} and diff < 0 and abs(diff) <= 5000 ): diff --git a/agents/stock/workspace/scripts/behive_web.py b/agents/stock/workspace/scripts/behive_web.py index 0e9f1d8..a18e44e 100644 --- a/agents/stock/workspace/scripts/behive_web.py +++ b/agents/stock/workspace/scripts/behive_web.py @@ -5074,6 +5074,33 @@ table.market-adr td.adr-breakdown { font-size: 11px; color: #8b8f9a; } background: rgba(255,77,94,0.15); border-color: #ff4d5e; color: #ff4d5e; } .account-view-pane[hidden] { display: none; } + +/* 옵션 버튼 + 작은 팝업 메뉴 — 상단 자동토글 왼쪽. 클릭하면 팝업 토글, 안에 계좌 나누기 버튼 등을 담는다. */ +.opts-wrap { position: relative; flex: none; display: inline-flex; } +.opts-btn { + flex: none; display: inline-flex; align-items: center; justify-content: center; + min-width: 36px; height: 36px; padding: 0 10px; + background: #1c2230; border: 1px solid #2a3142; color: #e6e6e6; + border-radius: 8px; font-size: 13px; line-height: 1; cursor: pointer; + font-family: inherit; user-select: none; + transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; +} +.opts-btn:hover { background: #232a3b; } +.opts-btn:active { transform: scale(0.95); } +.opts-btn[aria-expanded="true"] { background: #232a3b; border-color: #3a4256; } +.opts-popup { + position: absolute; top: calc(100% + 6px); right: 0; z-index: 60; + background: #161b27; border: 1px solid #2a3142; border-radius: 10px; + padding: 6px; box-shadow: 0 8px 24px rgba(0,0,0,0.45); + display: flex; flex-direction: column; gap: 4px; min-width: 168px; +} +.opts-popup[hidden] { display: none; } +/* 팝업 메뉴 항목으로 쓰일 때의 계좌 나누기 버튼 — 가로 꽉 채우고 좌측 정렬 + 아이콘. */ +.opts-item { + width: 100%; min-width: 0; height: auto; padding: 9px 11px; + justify-content: flex-start; gap: 9px; font-size: 13px; font-weight: 600; +} +.opts-item .opts-ico { font-size: 16px; line-height: 1; } .holdings-toggle-wrap { margin-top: 4px; } /* 차트 컨트롤 — 자산정보 탭 상단의 공통 기간·단위 select 묶음. */ @@ -7051,6 +7078,24 @@ def render_html() -> str: 'accountViewState=next;' 'applyAccountView(next);' '});' + # 옵션 버튼 → 작은 팝업 토글. 버튼 클릭은 열고/닫고, 바깥 클릭은 닫는다. + # (팝업 안 계좌 나누기 버튼은 위 핸들러가 처리 — 팝업은 그대로 열어둠) + 'document.addEventListener("click",function(e){' + 'var pop=document.getElementById("opts-popup");' + 'var btn=document.getElementById("opts-toggle");' + 'if(!pop||!btn)return;' + 'var ob=e.target.closest&&e.target.closest("#opts-toggle");' + 'if(ob){' + 'e.preventDefault();' + 'var willOpen=pop.hasAttribute("hidden");' + 'if(willOpen){pop.removeAttribute("hidden");btn.setAttribute("aria-expanded","true");}' + 'else{pop.setAttribute("hidden","");btn.setAttribute("aria-expanded","false");}' + 'return;' + '}' + 'if(!pop.hasAttribute("hidden")&&!(e.target.closest&&e.target.closest("#opts-popup"))){' + 'pop.setAttribute("hidden","");btn.setAttribute("aria-expanded","false");' + '}' + '});' # ADR 추세 카드의 기간 버튼 (1주/1달/3달/6달/1년/전체) — localStorage 저장 후 전체 재fetch. 'document.addEventListener("click",function(e){' 'var bt=e.target.closest&&e.target.closest(".adr-range-btn");' @@ -9695,9 +9740,14 @@ window.openPinModal = openPinModal;
- +
+ + +