Architecture: - load_dashboard.py: async data functions registered via load_dashboard() - init.py: calls load_dashboard() to expose on ServerEnv - Individual .ui files (Jinja2 templates): - today_usage.ui: calls get_today_usage(request) - today_amount.ui: calls get_today_amount(request) - total_users.ui: calls get_total_users(request) - concurrent_users.ui: calls get_concurrent_users(request) - top_models_chart.ui: calls get_top_models(request) for ChartBar - index.ui: each stat card wrapped in own RefreshWidget (10s period) - Removed deprecated .dspy files (dashboard_cards, get_today_usage, get_user_stats, get_top_models)
2 lines
43 B
Python
2 lines
43 B
Python
from .load_dashboard import load_dashboard
|