Commit Graph

57 Commits

Author SHA1 Message Date
Adrian Flores Cortes
67e54d6519 [REMEDIATION] feat: Frontend remediation across auth, payments, portfolio, trading, marketplace modules
Enhance SecuritySettings page, PortfolioDetailPage, AgentsPage. Add marketplace
and payment services/types. Fix barrel exports across 8 modules.
Addresses frontend gaps from TASK-2026-02-05 analysis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:17:22 -06:00
Adrian Flores Cortes
9e8f69d7f2 [OQI-006] feat(ml): Complete ML Overlays for trading charts
- Enhanced MLPredictionOverlay with confidence bands (upper/lower bounds)
- Improved SignalMarkers with tooltips, signal types (BUY/SELL/HOLD), and click handlers
- Fixed ICTConceptsOverlay rectangle rendering with proper area series
- Added OverlayControlPanel for toggle/configuration of all overlays
- Created usePredictions hook for ML price predictions
- Created useSignals hook for trading signals
- Created useChartOverlays composite hook for unified overlay management
- Updated exports in index.ts files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 01:24:10 -06:00
Adrian Flores Cortes
6a8cb3b9cf [SPRINT-4-5] feat: Education, LLM, Portfolio, Marketplace modules
SPRINT 4 (128 SP):

SUBTASK-007 Education (21 SP):
- Add QuizHistoryCard with stats and trend indicators
- Add EarnedCertificates with search, sort, sharing
- Enhance CourseDetail with "Resume where you left off"

SUBTASK-008 LLM Agent (44 SP):
- Add MemoryManager with conversation history management
- Add LLMToolsPanel with tool enable/disable and execution history
- Add FineTuningPanel with model selection and training config

SUBTASK-009 Portfolio (63 SP):
- Add MonteCarloSimulator with VaR/CVaR calculations
- Add CorrelationMatrix with heatmap visualization
- Add RebalancingPanel with drift thresholds and history
- Add GoalsManager with savings rate calculator
- Add RiskAnalytics with comprehensive metrics

SPRINT 5 (55 SP):

SUBTASK-010 Marketplace (42 SP):
- Create full marketplace module structure
- Add MarketplaceCatalog with grid/list view, filters
- Add SignalPackCard, SignalPackDetail pages
- Add AdvisoryCard, AdvisoryDetail with booking
- Add CourseProductCard, ReviewCard components
- Add marketplace types, service, and store
- Add routes: /marketplace, /marketplace/signals/:slug, etc.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:29:03 -06:00
Adrian Flores Cortes
c9e2727d3b [SPRINT-3] feat(investment,payments): Dashboard, KYC, transactions and alt payments
SUBTASK-005 (Investment):
- Rewrite Investment.tsx with summary cards and performance chart
- Add pagination to Transactions.tsx (10 items per page)
- Add PDF/CSV export dropdown to Reports.tsx
- Fix quick amount buttons in DepositForm.tsx
- Fix Max button in WithdrawForm.tsx
- Add full KYC verification system (3 steps)
- Add KYCVerification page with route /investment/kyc

SUBTASK-006 (Payments):
- Add AlternativePaymentMethods component (OXXO, SPEI, Card)
- Extend payment types for regional methods
- Update PaymentMethodsList exports

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:17:46 -06:00
Adrian Flores Cortes
950d0a7804 [SPRINT-2] feat: Add AMD zones overlay and enhance screener
ST-003.2: ML Overlay (13 SP)
- Add AMDZonesOverlay component for accumulation/manipulation/distribution visualization
- AMD zones rendered as colored shaded areas on chart
- Prediction lines and signal markers already implemented

ST-003.6: Screener Advanced (8 SP)
- Add volumeRatio, trend, mlSignal, mlConfidence columns
- Add 4 new filter presets: Bullish/Bearish Trend, Change >2%, ML Buy Signal
- Vol Ratio column with color coding (>2x amber, >1x green)
- ML Signal badge with confidence percentage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:06:25 -06:00
Adrian Flores Cortes
a3bd7af7b7 [SPRINT-2] feat(trading): Add TP/SL validation, metrics and CSV export
SUBTASK-003: Trading Core Features
- OrderForm: Add TP/SL validation based on trade direction (LONG/SHORT)
- TradingStatsPanel: Add Sharpe Ratio and Max Drawdown metrics
- TradesHistory: Add Export CSV button with full trade details

Metrics already implemented: Win Rate, Profit Factor, Total PnL
Alerts system: Already fully implemented (create, list, delete, toggle)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:55:45 -06:00
Adrian Flores Cortes
ad7171da2c [SUBTASK-004] feat(ml): Integrate EnsemblePanel UI and add more symbols
- Integrate EnsemblePanel component in MLDashboard ensemble tab
- Add configuration UI for ensemble model weights and voting method
- Implement weighted ensemble prediction calculation
- Expand symbol list: EURUSD, GBPUSD, USDJPY, XAUUSD, BTCUSD, ETHUSD, USDCHF, AUDUSD
- Add ability to save/reset ensemble configuration to localStorage
- Show agreement count and signal validity in prediction summary

ST-004.1: Ensemble Models UI [8 SP] - COMPLETED
ST-004.2: More symbols support [5 SP] - COMPLETED
ST-004.3: WebSocket real-time - ALREADY IMPLEMENTED (mlSignalsWS exists)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:54:38 -06:00
Adrian Flores Cortes
295bd5e31e [SPRINT-1] feat: Resolve routing and improve auth session management
SUBTASK-001: Routing fixes
- Add lazy-loaded route for /portfolio/:portfolioId
- Add navigation links from PortfolioDashboard to portfolio detail
- Verify /settings/billing is intentional dual-route (no changes needed)

SUBTASK-002: Auth improvements
- Extend ActiveSession type with device details (deviceType, browser, os, location)
- DeviceCard now uses backend data when available, falls back to userAgent parsing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:49:26 -06:00
Adrian Flores Cortes
e639f36a22 [SYNC] feat: Add portfolio module components and pages
- Add AllocationsCard component
- Add GoalProgressCard component
- Add PerformanceMetricsCard component
- Add RebalanceModal component
- Add PortfolioDetailPage
- Update portfolio service
- Add module exports

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 08:20:34 -06:00
Adrian Flores Cortes
954da4656c [Sprint-2] feat: Add hooks for Feature Flags, 2FA, and Audit
Created React Query hooks:
- useFeatureFlags.ts: Feature flag evaluation and management
- use2FA.ts: Two-factor authentication setup/verify/disable
- useAuditLogs.ts: Audit logs query with filters and stats

Hooks include:
- useFlagCheck() for simple feature checks
- useFeatures() for multiple flags
- use2FAStatus(), useSetup2FA(), useEnable2FA()
- useAuditLogs(), useAuditStats(), useSecurityEvents()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:38:25 -06:00
Adrian Flores Cortes
6d0673a799 feat: Add new services and stores for trading platform
Services:
- alerts.service.ts: Alert management
- currency.service.ts: Currency conversion
- risk.service.ts: Risk calculation

Stores:
- investmentStore.ts: Investment state management
- llmStore.ts: LLM integration state
- mlStore.ts: ML model state
- riskStore.ts: Risk metrics state

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:24:49 -06:00
Adrian Flores Cortes
5779c9a5cf feat: Add Trading Agents UI components (GAP-P0-003)
- Add tradingAgents.types.ts with complete type definitions
- Add agents.service.ts for Trading Agents API integration
- Add agentsStore.ts (Zustand) for state management
- Add BotCard.tsx, AgentCard.tsx, AgentsList.tsx components
- Add AgentsPage.tsx for /trading/agents route
- Fix TypeScript errors in AgentsList.tsx:
  - Add handlers for startBot with default config
  - Use correct AgentType for selectBot

Total: 8 new files, ~3,000 LOC

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:47:41 -06:00
Adrian Flores Cortes
0f20468381 refactor(services): Migrate to Express proxy gateway (ARCH-002)
- Update mlService.ts to use apiClient with /proxy/ml/* endpoints
- Update llmAgentService.ts to use apiClient with /proxy/llm/* endpoints
- Update backtestService.ts to use apiClient with /proxy/data/* and /proxy/ml/*
- Update adminService.ts to use apiClient for ML model operations

ARCH-002: Frontend services now use authenticated Express proxy
- Token auto-refresh via apiClient interceptor
- Centralized error handling
- Unified session management

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:43:58 -06:00
Adrian Flores Cortes
d3f4aa3385 feat: Add ML prediction overlay components for trading charts
Add complete implementation of ML overlay components:
- MLPredictionOverlay: Renders ML price predictions as line overlay
- SignalMarkers: Displays BUY/SELL signal markers on chart
- ICTConceptsOverlay: Renders Order Blocks, FVG, and Liquidity zones
- useMlOverlayData: Custom hook with TanStack Query for data fetching
- mlOverlay.types.ts: Type definitions for all ML overlay data

Features:
- Uses lightweight-charts API for efficient rendering
- Automatic caching with 60s stale time
- Configurable colors and visibility
- Clean up on component unmount
- Full TypeScript support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:28:04 -06:00
Adrian Flores Cortes
261dc4c71c feat: Add 2FA frontend components (TwoFactorSetup, TwoFactorVerifyModal, TwoFactorSettings)
Created three complete 2FA components integrating with existing backend endpoints:

1. TwoFactorSetup.tsx (auth/components)
   - 3-step wizard for 2FA setup
   - QR code display with manual entry fallback
   - TOTP code verification
   - Backup codes display with copy functionality
   - Integrates with POST /auth/2fa/setup and /auth/2fa/enable

2. TwoFactorVerifyModal.tsx (auth/components)
   - Modal for 2FA verification during login
   - Support for both TOTP (6 digits) and backup codes (8 digits)
   - Auto-submit for TOTP codes
   - Switch between code types
   - Auto-focus input field

3. TwoFactorSettings.tsx (settings/components)
   - Management panel for 2FA in settings
   - Enable/disable 2FA with confirmation
   - Regenerate backup codes
   - Status display with activation date
   - Integrates with all 2FA endpoints

All components follow project patterns:
- Tailwind CSS styling matching existing components
- lucide-react icons
- Centralized apiClient with auto-refresh
- Complete TypeScript types
- No placeholders or TODOs

Related: GAP-P1-004 2FA Frontend Flow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:23:06 -06:00
Adrian Flores Cortes
190decd498 fix(frontend): correct WebSocket URLs and ports
- Backend WS: Changed from localhost:3000/ws/trading to localhost:3080/ws
- ML Engine WS: Changed from localhost:8001 to localhost:3083
- Portfolio WS: Changed from localhost:3000/ws/portfolio to localhost:3080/ws
- Backend uses single /ws path with message types for channel differentiation
- ML Engine has dedicated /ws/signals endpoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 05:50:35 -06:00
Adrian Flores Cortes
d07b888dc9 fix(frontend): resolve all 218 pre-existing TypeScript errors
- Exclude test files from production build (tsconfig.json)
- Fix payment types alignment (BillingInfo, Invoice, CouponInfo, etc.)
- Add backward-compatible aliases to TradingSignal type
- Fix ToolCallCard unknown to ReactNode conversions
- Fix assistant components (MessageList, useChatAssistant timestamp handling)
- Fix SignalExecutionPanel null checks for optional properties
- Fix trading components (QuickOrderPanel, AdvancedOrderEntry, OrderBookPanel)
- Fix NodeJS.Timeout to ReturnType<typeof setTimeout>
- Fix types/index.ts duplicate ApiResponse exports
- Update payment components to use centralized types

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 05:45:12 -06:00
Adrian Flores Cortes
1d76747e9b fix: Centralize API clients and add global ErrorBoundary (Phase 3)
Migrate 6 services from duplicate Axios instances to centralized
apiClient (auto-refresh, multi-tab sync, proper 401 handling):
- trading.service.ts, notification.service.ts, payment.service.ts
- education.service.ts, chat.service.ts, investment.service.ts

Add global ErrorBoundary wrapping all App routes. Move assistant
module ErrorBoundary to shared components/ErrorBoundary.tsx.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 04:56:44 -06:00
Adrian Flores Cortes
42d18759b5 feat: Implement BLOCKER-001 proactive refresh + E2E video tests (frontend)
BLOCKER-001: Token Refresh Improvements (FASE 4 frontend)
- Proactive refresh scheduler: refresh 5min before token expiry
- Multi-tab synchronization with BroadcastChannel API
- Automatic scheduling on X-Token-Expires-At header reception
- Background token refresh to prevent user interruption

E2E Tests: Video Upload Module (frontend - 62 tests)
- Suite 1: Form tests (27 tests) - 3-step wizard validation
- Suite 2: Service tests (20 tests) - Multipart upload logic
- Suite 3: Integration tests (15 tests) - Complete flow validation

Test infrastructure:
- vitest.config.ts (NEW) - Vitest configuration with jsdom
- src/__tests__/setup.ts (NEW) - Global test setup and mocks
- Updated payments-stripe-elements.test.tsx to use Vitest (vi.mock)

Changes:
- apiClient.ts: Proactive refresh scheduler + BroadcastChannel sync
- payments-stripe-elements.test.tsx: Migrated from Jest to Vitest

Tests created:
- video-upload-form.test.tsx (27 tests) - Component validation
- video-upload-service.test.ts (20 tests) - Service logic validation
- video-upload-integration.test.tsx (15 tests) - Integration flow

Additional documentation:
- Module README.md files for assistant, auth, education, investment, payments, portfolio, trading
- Investment module: Analysis, contracts, gaps, delivery documentation
- Payments module: Stripe integration, wallet specification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 01:44:40 -06:00
Adrian Flores Cortes
3fb1ff4f5c test(payments): Add E2E tests for Stripe Elements integration (ST4.2.3)
Comprehensive frontend E2E tests validating PCI-DSS compliance with Stripe Elements.

New Files:
- src/__tests__/e2e/payments-stripe-elements.test.tsx (550+ lines)
  - 7 test suites, 20+ test cases
  - Stripe CardElement rendering (iframe, not native input)
  - Payment Intent confirmation flow
  - Checkout Session redirect (Stripe hosted)
  - Payment Method tokenization
  - Component state validation (no card data)
  - Error handling (Stripe validation errors)
  - Security best practices (HTTPS, no logging)

Test Coverage:
 Stripe CardElement renders as iframe (NOT native input)
 NO card data in React component state
 confirmCardPayment called with clientSecret
 NO card data sent to backend
 Checkout redirects to Stripe hosted page (stripe.com)
 Payment method tokenized before backend call
 NO sensitive data logged to console

PCI-DSS Frontend Validation:
- CardElement is iframe from stripe.com (not our domain)
- Card data sent directly to Stripe (bypasses our servers)
- Only tokens/IDs sent to backend
- No cardNumber, cvv, expiryDate in React state
- All API calls use HTTPS
- Stripe validation errors displayed (proves validation in Stripe iframe)

Mock Infrastructure:
- @stripe/stripe-js mocked
- @stripe/react-stripe-js mocked
- apiClient mocked
- window.location mocked (redirect tests)

Test Scenarios:
1. Wallet deposit (Payment Intent + confirmCardPayment)
2. Checkout session (redirect to Stripe hosted page)
3. Payment method attachment (createPaymentMethod + tokenization)
4. Error handling (card validation, network errors)
5. Security (HTTPS, console logging, state validation)

Key Validations:
- CardElement is iframe (NOT <input type="text" />)
- confirmCardPayment receives CardElement (Stripe iframe reference)
- Backend receives paymentMethodId (NOT raw card data)
- Checkout URL is checkout.stripe.com (NOT our domain)
- React state has NO cardNumber, cvv, expiryDate properties

Status: BLOCKER-002 (ST4.2) - Frontend tests complete
Task: #3 ST4.2.3 - Tests E2E flujos de pago PCI-DSS

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 21:57:57 -06:00
Adrian Flores Cortes
ff404a84aa feat(education): Integrate real video upload API (ST4.3.5)
Replace simulated video upload with real multipart upload to backend.

New Files:
- src/services/video-upload.service.ts (NEW): Complete multipart upload service
  - Initialize upload with backend
  - Split file into 5MB parts
  - Upload parts to S3/R2 using presigned URLs
  - Upload max 3 parts in parallel
  - Complete upload and return video object
  - Full upload flow with progress callbacks

Updated Files:
- src/modules/education/components/VideoUploadForm.tsx (UPDATED):
  - Import videoUploadService
  - Replace simulated upload (lines 214-248) with real API calls
  - Use progress callbacks to update UI
  - Handle real video ID on completion
  - Maintain all existing UI/UX behavior

Upload Flow:
1. User selects video + fills metadata
2. Call videoUploadService.uploadVideo()
3. Backend initializes multipart upload
4. Split file into 5MB chunks
5. Upload chunks to S3/R2 (presigned URLs)
6. Backend completes upload
7. Video processing starts automatically
8. UI shows real-time progress

Technical Details:
- Part size: 5MB (optimal for network)
- Max concurrent uploads: 3 parts
- Uses fetch API for S3 direct upload
- ETags returned for multipart completion
- Full error handling and retry capability

Status: BLOCKER-003 (ST4.3) - 89% complete (5/6 tasks done)
Task: #10 ST4.3.5 - Frontend integrar VideoUploadForm con backend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 20:41:18 -06:00
Adrian Flores Cortes
3f98938972 feat(payments): Remove insecure PaymentMethodForm component (ST4.2.1)
- Delete PaymentMethodForm.tsx (PCI-DSS violation)
- Remove export from components/payments/index.ts
- Component was NOT in use (legacy/demo code)

Violation: Component handled card data directly (PAN, CVV, expiry)
in state and sent raw data to backend.

Compliant alternatives:
- Stripe Customer Portal (add payment methods)
- CardElement + Payment Intents (one-time payments)

Blocker: BLOCKER-002 (ST4.2 PCI-DSS Compliance)
Epic: OQI-005

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 19:50:19 -06:00
Adrian Flores Cortes
b6654f27ae feat(auth): Implement auto-refresh token interceptor (ST4.1)
BLOCKER-001: Auto-Refresh Tokens - Core functionality

Implemented:
- Centralized API client with auto-refresh interceptor
- Request queueing (prevents multiple simultaneous refreshes)
- Retry logic (max 1 retry per request)
- Token management (getAccessToken, getRefreshToken, setTokens, clearTokens)
- Auth service migrated to use apiClient

Files:
- src/lib/apiClient.ts (new, 237 lines)
- src/services/auth.service.ts (updated to use apiClient)

Part of ST4.1: Auto-Refresh Tokens.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 19:16:58 -06:00
Adrian Flores Cortes
e204853398 fix(coherence): Add all trading enums aligned with DDL (E-COH-002, ST1.4)
- Extended src/types/trading.types.ts with all DDL trading enums
- Added OrderType, OrderSide, OrderStatus enums
- Added PositionStatus enum (open, closed, liquidated)
- Added SignalType enum (entry_long, entry_short, exit_long, exit_short, hold)
- Added ConfidenceLevel enum (low, medium, high, very_high)
- Added Timeframe enum (1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w, 1M)
- Added BotType enum (paper, live, backtest)
- Added BotStatus enum (active, paused, stopped, error)
- Deprecated old Interval type in favor of Timeframe

All types now aligned with trading.* enums from DDL schema and backend types.
Replaces hardcoded string literals with proper enum definitions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 17:07:28 -06:00
Adrian Flores Cortes
c18459558f fix(coherence): Create centralized portfolio types (E-COH-004, ST1.3)
- Created src/types/portfolio.types.ts
- Added all portfolio type definitions aligned with DDL
- Includes WebSocket event types for real-time updates
- Types match backend portfolio.types.ts structure

Part of coherence gap fix E-COH-004 - Frontend portfolio types.
Types align with DDL schema (portfolio.* enums and tables).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 17:02:41 -06:00
Adrian Flores Cortes
f7a5ddcca8 [OQI-006] feat: Add 3 ML utility panel components
- ModelSelector: Model selection with dropdown/tabs/cards variants
- EnsemblePanel: Ensemble voting configuration with weight sliders
- ICTAnalysisPanel: ICT analysis parameters with collapsible sections

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 11:03:20 -06:00
Adrian Flores Cortes
8347c6ad48 [OQI-005] feat: Add 4 advanced payment components
- StripeElementsWrapper: PCI-DSS compliance foundation with HOC and hook
- InvoicePreview: Pre-checkout invoice display with itemized breakdown
- RefundRequestModal: Modal for refund requests with validation
- RefundList: Paginated refund history with status filters

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 09:52:05 -06:00
Adrian Flores Cortes
339c645036 [OQI-004] feat: Add 4 advanced investment components
- CreateAccountWizard: Multi-step wizard for account creation (620 LOC)
- RiskAnalysisPanel: Risk metrics with VaR, Sharpe, Sortino (480 LOC)
- PortfolioOptimizerWidget: Portfolio allocation optimizer (520 LOC)
- AccountTransferModal: Modal for inter-account transfers (450 LOC)

Updates OQI-004 progress from 35% to 55%

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 23:20:40 -06:00
Adrian Flores Cortes
fc99c34749 [OQI-002] feat: Add 4 advanced education components
- VideoUploadForm: Multi-step video upload with drag-drop (450 LOC)
- CreatorDashboard: Creator stats, courses, activity feed (450 LOC)
- CertificateGenerator: Templates, PDF/PNG download, sharing (453 LOC)
- LiveStreamPlayer: Live streaming with chat, reactions (480 LOC)

Updates OQI-002 progress from 30% to 40%

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:44:05 -06:00
Adrian Flores Cortes
c145878c24 [OQI-003] feat: Add advanced market depth and screener components
- OrderBookDepthVisualization: Canvas-based depth chart with bid/ask areas
- MarketDepthPanel: Complete market depth with filters and grouping
- SymbolComparisonChart: Multi-symbol comparison with normalization modes
- TradingScreener: Advanced screener with filters and saved presets

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:24:52 -06:00
Adrian Flores Cortes
5ee7f14f25 [OQI-007] feat: Add LLM strategy agent advanced components
- AnalysisRequestForm: Structured request builder for complex analysis tasks
- StrategyTemplateSelector: Pre-built strategy templates with AI recommendations
- LLMConfigPanel: Model selection and inference parameters (Claude models)
- ContextMemoryDisplay: Conversation context and memory visualization

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:31:08 -06:00
Adrian Flores Cortes
7d9e8d2da9 [OQI-004] feat: Add investment account management components
- AccountSummaryCard: Reusable account stats with balance, gains, and status
- ProductComparisonTable: Side-by-side product comparison (Atlas/Orion/Nova)
- PerformanceWidgetChart: Compact sparkline chart for embedding in cards
- AccountSettingsPanel: Account configuration (distribution, reinvest, alerts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:24:01 -06:00
Adrian Flores Cortes
e9aa29fccd [OQI-006] feat: Add ML confidence and performance tracking components
- ConfidenceMeter: Advanced confidence visualization with model agreement
- SignalPerformanceTracker: Signal history with filters and statistics
- ModelAccuracyDashboard: Individual model metrics and comparison
- BacktestResultsVisualization: Backtest results with trades and monthly returns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:17:16 -06:00
Adrian Flores Cortes
cbb6637966 [OQI-002] feat: Add education progress and assessment components
- CourseProgressTracker: Comprehensive progress visualization
- LearningPathVisualizer: Visual roadmap for learning paths
- VideoProgressPlayer: Enhanced video player with bookmarks and controls
- AssessmentSummaryCard: Quiz results analysis and review

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:07:12 -06:00
Adrian Flores Cortes
7ac32466be [OQI-003] feat: Add chart analysis and trading journal components
- IndicatorConfigPanel: Advanced technical indicator configuration
- ChartDrawingToolsPanel: Drawing tools for technical analysis
- SymbolInfoPanel: Comprehensive symbol information sidebar
- TradeJournalPanel: Trade review and journaling for paper trading

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:59:12 -06:00
Adrian Flores Cortes
51c0a846c0 [OQI-009] feat: Add MT4 trading dashboard and risk management components
- MT4LiveTradesPanel: Real-time positions dashboard with aggregate metrics
- PositionModifierDialog: Modal for modifying SL/TP with price/pips modes
- RiskBasedPositionSizer: Position size calculator based on risk percentage
- TradeAlertsNotificationCenter: Unified notification hub for MT4 events

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:50:11 -06:00
Adrian Flores Cortes
c7626f841c [OQI-005] feat: Add invoice and subscription management components
- InvoiceList: Paginated invoice table with filters
- InvoiceDetail: Full invoice modal with line items
- PaymentMethodsList: Manage saved payment methods
- SubscriptionUpgradeFlow: Plan upgrade/downgrade with preview

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:39:33 -06:00
Adrian Flores Cortes
c956ac0c0f [OQI-007] feat: Add assistant UI components for chat enhancement
- MessageList: Virtualized message list with auto-scroll
- ChatHeader: Header with title editing, actions menu, status
- MessageSearch: Search within conversation with filters
- MarkdownRenderer: Custom markdown rendering with code copy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:32:32 -06:00
Adrian Flores Cortes
4d2c00ac30 [OQI-009] feat: Add MT4 trading components and WebSocket hook
- QuickOrderPanel: One-click trading with lot presets
- TradeExecutionHistory: Session trade history with P&L stats
- TradingMetricsCard: Daily trading metrics and performance
- useMT4WebSocket: Real-time account/position updates hook

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:23:33 -06:00
Adrian Flores Cortes
d2c0a09b1b [OQI-005] feat: Add payment form components
- CouponForm: Apply and validate discount codes
- PaymentMethodForm: Add payment methods with card validation
- TransactionHistory: Wallet transactions with filtering/pagination
- BillingInfoForm: Edit billing address and tax information

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:15:12 -06:00
Adrian Flores Cortes
ed2e1472f4 [OQI-007] feat: Add hooks, utils, and SignalExecutionPanel
- useChatAssistant: Centralized chat logic with retry and streaming support
- useStreamingChat: SSE streaming with token animation
- messageFormatters: Signal parsing, price formatting, markdown processing
- SignalExecutionPanel: Execute trading signals with risk validation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:05:55 -06:00
Adrian Flores Cortes
bf726a595c [OQI-009] feat: Add advanced MT4 trading components
- MT4PositionsManager: Container for all live positions with filtering/sorting
- AdvancedOrderEntry: Professional order form with risk calculator, SL/TP modes
- AccountHealthDashboard: Unified account metrics with health status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:56:41 -06:00
Adrian Flores Cortes
bfaf76ccf8 [OQI-007] feat: Add LLM assistant UX components
- ToolCallCard: Display tool execution results with expandable details
- MessageFeedback: Thumbs up/down with detailed feedback form
- StreamingIndicator: Multiple variants for thinking/analyzing/generating states
- AssistantSettingsPanel: Settings modal with risk profile, preferences

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:48:47 -06:00
Adrian Flores Cortes
423be4062c [OQI-009] feat: Add MT4 live trading components
- MT4ConnectionStatus: Connection indicator with account info display
- LivePositionCard: Real-time position card with P&L, modify/close actions
- RiskMonitor: Risk management dashboard with metrics and warnings
- index.ts: Centralized exports for all trading components

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:41:01 -06:00
Adrian Flores Cortes
fc0ab528c3 [OQI-002] feat: Add education UX components
- CertificatePreview: Display earned certificates with download/share
- CourseReviews: Reviews section with rating summary and filtering
- LessonNotes: Note-taking with timestamps and auto-save
- RecommendedCourses: Course recommendations with multiple layouts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:27:25 -06:00
Adrian Flores Cortes
442051f93b [OQI-007] feat: Add ConversationHistory and ContextPanel components
- ConversationHistory: Session list with search, delete, and selection
- ContextPanel: Display trading context (watchlist, risk profile, favorites)
- Update Assistant page to use chatStore for session management
- Wire sidebar to load/create/delete sessions
- Add error banner and responsive design

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:17:52 -06:00
Adrian Flores Cortes
ee307ee91a [OQI-005] feat: Add wallet modals and checkout pages
- Add WalletDepositModal for depositing funds to wallet
- Add WalletWithdrawModal for withdrawing funds from wallet
- Add CheckoutSuccess page for successful Stripe checkout
- Add CheckoutCancel page for canceled checkout
- Update Billing page to use new wallet modals
- Add routes for /payments/success and /payments/cancel
- Export new modals from payments index

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:07:14 -06:00
Adrian Flores Cortes
d87c2b8e54 [OQI-003] feat: Add Settings tab to PaperTradingPanel
- Add Settings tab with account info and reset functionality
- Show initial balance, total trades, open positions
- Reset account confirmation dialog
- Danger zone styling for reset action

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:53:41 -06:00
Adrian Flores Cortes
b798e2678c [OQI-003] feat: Add TradingStatsPanel and OrderBookPanel components
- Create TradingStatsPanel with trading metrics (win rate, P&L, profit factor)
- Create OrderBookPanel with bids/asks visualization and spread
- Update Trading.tsx with toggle buttons for all panels
- Implement indicator toggle logic with Set state
- Add stats panel: current streak, avg hold time, portfolio summary
- Add order book: depth bars, click-to-fill, configurable rows

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:51:07 -06:00
Adrian Flores Cortes
49d6492c91 [OQI-003] feat: Add AlertsPanel component for price alerts management
- Create AlertsPanel component with full CRUD functionality
- Add alerts API functions to trading.service.ts
- Integrate AlertsPanel into Trading.tsx with toggle button
- Support for above/below/crosses conditions
- Push and email notification options
- Recurring alerts support
- Filter by active/inactive status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:41:05 -06:00