Add Watch Folders settings page with full CRUD

- New settings page: Watch Folders with add/remove/edit controls
- Each watch folder has: path, linked preset dropdown, recursive toggle,
  active/inactive switch, and remove button
- Watch folder config persisted in AppConfig
- Empty state message when no folders configured
This commit is contained in:
2026-03-06 16:13:14 +02:00
parent e976ca2c0a
commit a0bb00eddf
2 changed files with 219 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
use serde::{Deserialize, Serialize};
use crate::watcher::WatchFolder;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct AppConfig {
@@ -20,6 +22,7 @@ pub struct AppConfig {
pub reduced_motion: bool,
pub history_max_entries: usize,
pub history_max_days: u32,
pub watch_folders: Vec<WatchFolder>,
}
impl Default for AppConfig {
@@ -42,6 +45,7 @@ impl Default for AppConfig {
reduced_motion: false,
history_max_entries: 50,
history_max_days: 30,
watch_folders: Vec::new(),
}
}
}