feat: Phase 9 — Dashboard web embarqué
- Frontend vanilla JS (18.9KB) : dark theme, gallery grid, search, stats, WebSocket - rust-embed : frontend servi depuis le binaire (zéro dépendance externe) - API REST fonctionnelle : /api/health, /api/images, /api/search, /api/images/:id, /api/stats - WebSocket hub (dashmap + broadcast) : notifications temps réel - ImagoClient: méthode get_raw() pour proxy thumbnails, Serialize sur ImageInfo - MIME guess pour servir CSS/JS/images avec bons headers - Fallback SPA : routes inconnues → index.html - Dépendances : tokio-stream, futures-util, dashmap, chrono - Testé : health OK, stats JSON, dashboard 18.9KB HTML, WS upgrade 400 (HTTP) 0 errors, 0 warnings (cargo check + build --release)
This commit is contained in:
@@ -40,6 +40,12 @@ tower = "0.5"
|
||||
tower-http = { version = "0.6", features = ["cors", "fs", "trace"] }
|
||||
# Frontend embedding
|
||||
rust-embed = "8"
|
||||
# WebSocket broadcast
|
||||
tokio-stream = "0.1"
|
||||
futures-util = "0.3"
|
||||
dashmap = "6"
|
||||
# Time formatting
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
|
||||
# Platform-specific — Windows
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
|
||||
Reference in New Issue
Block a user