- Rewrite chart binding to use single unified sync handler per chart
instead of cumulative handlers that conflicted with each other
- Use v5 API unsubscribeVisibleTimeRangeChange for cleanup
- Add _isSyncing flag to prevent recursive sync loops
- Raise indicators popup z-index from 99 to 150 (above formation
overlay at 100) to prevent formations from triggering mouseleave
- Reduce volume indicator height from 30% to 15% of chart
- Remove obsolete v2 scaleMargins call on Volume series
- Add better candlestick init logging for debugging
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add .dialog-header CSS class with blue gradient (#3E3AF2 → #6366f1)
- Add .dialog-close-btn for consistent close buttons in headers
- Update all 12 dialog templates to use unified header styling
- Add close buttons to all dialogs (positioned in header)
- Fix trade_details and login popups (add proper header structure)
- Update public strategy browser modal to match dialog style
- Update indicator popup styling to match app theme
- Add null checks to initializeResizablePopup for robustness
- Update CLAUDE.md with wallet module documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add 15 candlestick pattern indicators (Doji, Hammer, Engulfing, etc.)
- Create dedicated Patterns chart pane for pattern visualization
- Add hover tooltips with descriptions and SVG diagrams in indicator selector
- Fix color picker compatibility by using hex format instead of RGBA
- Fix chart positioning and timestamp synchronization for pattern chart
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add KuCoin-specific balance fetching with type='trade' parameter
- Reinitialize ccxt client in refresh_balances() to fix pickle corruption
- Force reconnection when exchange is restored from database cache
- Add balance refresh button and socket handler in frontend
- Fix template null check for balances display
- Clean up DataCache and candles imports
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>