/* global React, AURA_DATA */ const { useState, useEffect } = React; const D = window.AURA_DATA; const Icon = { search: , bell: , dash: , trades: , history: , perf: , bot: , acct: , shield: , analytics: , user: , help: , play: , stop: , refresh: , settings: , download: , plus: , more: , x: , alert: , dollar: , target: , activity: , arrowUp: , arrowDown: , zap: , signal: , }; const SunIcon = ; const MoonIcon = ; function TopBar({ onNav, marketOpen, theme, onToggleTheme, user }) { const initials = user ? user.name.split(" ").map((w) => w[0]).join("").slice(0, 2).toUpperCase() : "?"; return (
AURA AURA
{Icon.search} ⌘K
XAUUSD {marketOpen ? "OPEN" : "CLOSED"} 24/5 · {marketOpen ? "Closes Fri 22:00 GMT" : "Opens Mon 00:00 GMT"}
onNav("profile")}> {initials} {user ? user.name.split(" ")[0] : "Account"}
); } function Sidebar({ active, onNav, balance, dayPnL, openCount }) { const Item = ({ id, icon, children, count }) => (
onNav(id)}> {icon} {children} {count != null && {count}}
); return (
Overview
Dashboard Analytics
Trading
0 ? openCount : null}>Active Trades Trade History Signal Log Performance
Configuration
Bot Settings MT5 Accounts Risk Management
Account
Profile Help & Docs
Balance {balance != null ? "$" + balance.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) : "—"}
Today P&L = 0 ? "pos" : ""}`}>{D.fmtSigned(dayPnL || 0)}
Plan FREE
); } function Tape() { const t = [ { s: "XAUUSD", p: "—", c: 0, sub: "Spot Gold" }, { s: "DXY", p: "—", c: 0, sub: "Dollar Index" }, { s: "US10Y", p: "—", c: 0, sub: "10Y Yield" }, { s: "VIX", p: "—", c: 0, sub: "Volatility" }, { s: "ATR(M15)", p: "—", c: 0, sub: "Avg True Range" }, { s: "SPREAD", p: "—", c: 0, sub: "Live" }, ]; const items = [...t, ...t]; return (
{items.map((it, i) => (
{it.s} {it.p} {it.sub}
))}
); } Object.assign(window, { TopBar, Sidebar, Tape, Icon });