Improve global market dashboard UX and settings

- Add global market dashboard APIs/assets and improve data robustness (incl. crypto heatmap by market cap)

- Enhance global market UI (map+heatmap layout, loading behavior, formatting, theme tweaks)

- Fix Settings LLM Provider select to render label/value options correctly

- Rename Indicator Community to Official Community and move it to the bottom

- Add search fallback when Google quota is exhausted
This commit is contained in:
TIANHE
2026-01-24 23:26:26 +08:00
parent f4e5a9f8e0
commit 35d7ac5e1b
15 changed files with 4744 additions and 75 deletions
+62 -2
View File
@@ -26,9 +26,10 @@ const locale = {
'menu.dashboard': 'Dashboard',
'menu.dashboard.analysis': 'AI Analysis',
'menu.dashboard.indicator': 'Indicator Analysis',
'menu.dashboard.community': 'Indicator Community',
'menu.dashboard.community': 'Official Community',
'menu.dashboard.tradingAssistant': 'Trading Assistant',
'menu.dashboard.portfolio': 'Portfolio',
'menu.dashboard.globalMarket': 'Global Market',
'menu.settings': 'Settings',
'menu.dashboard.aiTradingAssistant': 'AI Trading Assistant',
'menu.dashboard.signalRobot': 'Signal Robot',
@@ -2353,6 +2354,8 @@ const locale = {
'portfolio.form.deselectAll': 'Deselect All',
'portfolio.form.selectedCount': '{count} of {total} selected',
'portfolio.form.pleaseSelectPositions': 'Please select at least one position to monitor',
'portfolio.form.notificationFromProfile': 'Notifications will be sent to addresses configured in your profile',
'portfolio.form.goToProfile': 'Go to settings',
'portfolio.message.loadFailed': 'Failed to load data',
'portfolio.message.saveSuccess': 'Saved successfully',
'portfolio.message.saveFailed': 'Failed to save',
@@ -2581,7 +2584,64 @@ const locale = {
'settings.desc.CREDITS_REFERRAL_BONUS': 'Credits awarded to referrer when someone signs up with their referral code',
'settings.desc.VERIFICATION_CODE_MAX_ATTEMPTS': 'Maximum attempts to verify a code before lockout',
'settings.desc.VERIFICATION_CODE_LOCK_MINUTES': 'Lockout duration after exceeding max attempts',
'settings.desc.RECHARGE_TELEGRAM_URL': 'Telegram customer service URL for recharge inquiries'
'settings.desc.RECHARGE_TELEGRAM_URL': 'Telegram customer service URL for recharge inquiries',
// Global Market
'globalMarket.title': 'Global Market Dashboard',
'globalMarket.lastUpdate': 'Last Update',
'globalMarket.refresh': 'Refresh',
'globalMarket.name': 'Name',
'globalMarket.price': 'Price',
'globalMarket.change': 'Change',
'globalMarket.trend': 'Trend',
'globalMarket.pair': 'Pair',
'globalMarket.unit': 'Unit',
'globalMarket.refreshSuccess': 'Data refreshed successfully',
'globalMarket.refreshError': 'Failed to refresh data',
'globalMarket.fetchError': 'Failed to fetch data',
'globalMarket.loading': 'Loading...',
'globalMarket.fearGreedIndex': 'Fear & Greed Index',
'globalMarket.fearGreedTip': 'Fear & Greed Index measures market sentiment, 0 = Extreme Fear, 100 = Extreme Greed',
'globalMarket.volatilityIndex': 'Volatility Index',
'globalMarket.vixTitle': 'VIX Volatility Index',
'globalMarket.vixTip': 'VIX measures expected market volatility, higher values indicate more market fear',
'globalMarket.extremeFear': 'Extreme Fear',
'globalMarket.fear': 'Fear',
'globalMarket.neutral': 'Neutral',
'globalMarket.greed': 'Greed',
'globalMarket.extremeGreed': 'Extreme Greed',
'globalMarket.marketOverview': 'Market Overview',
'globalMarket.indices': 'Indices',
'globalMarket.forex': 'Forex',
'globalMarket.crypto': 'Crypto',
'globalMarket.commodities': 'Commodities',
'globalMarket.heatmap': 'Market Heatmap',
'globalMarket.cryptoHeatmap': 'Crypto Heatmap',
'globalMarket.sectorHeatmap': 'Sector Heatmap',
'globalMarket.forexHeatmap': 'Forex Heatmap',
'globalMarket.opportunities': 'Trading Opportunities',
'globalMarket.noOpportunities': 'No significant opportunities detected',
'globalMarket.financialNews': 'Financial News',
'globalMarket.noNews': 'No news available',
'globalMarket.economicCalendar': 'Economic Calendar',
'globalMarket.noEvents': 'No events scheduled',
'globalMarket.actual': 'Actual',
'globalMarket.forecast': 'Forecast',
'globalMarket.previous': 'Previous',
'globalMarket.signal.bullish': 'Bullish Momentum',
'globalMarket.signal.bearish': 'Bearish Momentum',
'globalMarket.signal.overbought': 'Overbought Warning',
'globalMarket.signal.oversold': 'Oversold Opportunity',
'globalMarket.worldMap': 'Global Markets Map',
'globalMarket.rising': 'Rising',
'globalMarket.falling': 'Falling',
'globalMarket.bullish': 'Bullish',
'globalMarket.bearish': 'Bearish',
'globalMarket.expectedImpact': 'Expected Impact',
'globalMarket.aboveForecast': 'Above Forecast',
'globalMarket.belowForecast': 'Below Forecast',
'globalMarket.upcomingEvents': 'Upcoming Events',
'globalMarket.releasedEvents': 'Released Data'
}
export default {