feat: major dashboard overhaul and polish

- Switched from mock data to real backend APIs.
- Implemented unified ApiClient for consistent frontend data fetching.
- Refactored dashboard structure and styles for a modern SaaS aesthetic.
- Fixed Axum 0.8+ routing and parameter syntax issues.
- Implemented real client creation/deletion and provider health monitoring.
- Synchronized WebSocket event structures between backend and frontend.
This commit is contained in:
2026-02-26 15:40:12 -05:00
parent 888b0e71c4
commit 686163780c
11 changed files with 963 additions and 3563 deletions

View File

@@ -43,8 +43,9 @@ impl RequestLogger {
tokio::spawn(async move {
// Broadcast to dashboard
let _ = tx.send(serde_json::json!({
"event_type": "request",
"data": log
"type": "request",
"channel": "requests",
"payload": log
}));
if let Err(e) = Self::insert_log(&pool, log).await {