feat: watcher (phase 3+6) + navigation dashboard (version, changelog, aide)
Phase 3 — Clipboard Watcher (Windows): - clipboard.rs: détection d'images via arboard, conversion BGRA→PNG - Gère les doublons consécutifs (même image dans le presse-papier) Phase 6 — Watcher Loop: - Windows: polling clipboard → hash → dédoublonnage → upload - Linux/macOS: polling de dossier configurable (watch_dir) - Ajout champ watch_dir dans WatcherConfig - Client Imago cloné avant await (évite problème Send/Sync) Dashboard: - Badge version v0.1.0 dans le header - Barre de navigation: Galerie / Changelog / Aide - Pages changelog.html et help.html (chargement dynamique) - Endpoint GET /api/version avec infos build - Correction import delete inutilisé dans routes.rs
This commit is contained in:
@@ -37,6 +37,10 @@ pub struct WatcherConfig {
|
||||
pub capture_images: bool,
|
||||
#[serde(default = "default_poll_interval")]
|
||||
pub poll_interval_ms: u64,
|
||||
/// Dossier à surveiller pour les nouveaux screenshots (Linux/macOS)
|
||||
/// Si vide, utilise le clipboard (Windows uniquement)
|
||||
#[serde(default)]
|
||||
pub watch_dir: Option<String>,
|
||||
#[serde(default)]
|
||||
pub filters: WatcherFilters,
|
||||
}
|
||||
@@ -46,6 +50,7 @@ impl Default for WatcherConfig {
|
||||
Self {
|
||||
capture_images: true,
|
||||
poll_interval_ms: 500,
|
||||
watch_dir: None,
|
||||
filters: WatcherFilters::default(),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user