diff --git a/src/__pycache__/web_dashboard.cpython-310.pyc b/src/__pycache__/web_dashboard.cpython-310.pyc index 4617c8b..cbb0a6f 100644 Binary files a/src/__pycache__/web_dashboard.cpython-310.pyc and b/src/__pycache__/web_dashboard.cpython-310.pyc differ diff --git a/src/web_dashboard.py b/src/web_dashboard.py index d1fe4cf..f23edf3 100644 --- a/src/web_dashboard.py +++ b/src/web_dashboard.py @@ -210,220 +210,151 @@ html_content = """ Trading Bot Dashboard + body { + background-color: #0d0d0d; + color: #d0d0d0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + line-height: 1.6; + } + + h1, h2, h3 { + color: #ffffff; + font-weight: 600; + } + + .container { + max-width: 1400px; + margin: 0 auto; + padding: 40px; + } + + .card { + background-color: #1a1a1a; + border: 1px solid #2a2a2a; + border-radius: 8px; + padding: 24px; + margin-bottom: 20px; + } + + .card-title { + color: #a0a0a0; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 1px; + margin-bottom: 12px; + font-weight: 600; + } + + .card-value { + color: #ffffff; + font-size: 28px; + font-weight: 700; + margin-bottom: 8px; + } + + .card-sub { + color: #666666; + font-size: 12px; + } + + .positive { + color: #2ecc71; + } + + .negative { + color: #e74c3c; + } + + table { + width: 100%; + border-collapse: collapse; + background-color: #1a1a1a; + border: 1px solid #2a2a2a; + border-radius: 8px; + overflow: hidden; + } + + th { + background-color: #252525; + color: #a0a0a0; + padding: 14px 16px; + text-align: left; + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + border-bottom: 1px solid #2a2a2a; + } + + td { + padding: 14px 16px; + border-bottom: 1px solid #252525; + color: #d0d0d0; + font-size: 13px; + } + + tr:last-child td { + border-bottom: none; + } + + tr:hover { + background-color: #222222; + } + + .metrics { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 16px; + margin-bottom: 40px; + } + + .status-badge { + display: inline-block; + padding: 6px 12px; + border-radius: 4px; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + } + + .badge-live { + background-color: #252525; + color: #a0a0a0; + } + + .badge-profit { + background-color: rgba(46, 204, 113, 0.15); + color: #2ecc71; + } + + .badge-loss { + background-color: rgba(231, 76, 60, 0.15); + color: #e74c3c; + } + + .last-update { + color: #666666; + font-size: 11px; + text-align: right; + margin-top: 40px; + padding-top: 20px; + border-top: 1px solid #2a2a2a; + } + + .empty { + text-align: center; + color: #666666; + padding: 40px; + font-style: italic; + font-size: 13px; + } +