- Updated the app description in package.json and Cargo.toml to "Screenshots that organize themselves". - Refactored the Tauri backend to introduce a new command for handling folder selection and watching for PNG file changes. - Added utility functions for processing PNG files and managing the watcher state. - Improved the frontend by integrating an ImageViewer component and setting up event listeners for search input focus.
28 lines
579 B
Rust
28 lines
579 B
Rust
use notify::RecommendedWatcher;
|
|
use std::sync::Arc;
|
|
use std::sync::Mutex;
|
|
|
|
pub struct WatcherState {
|
|
watcher: Option<RecommendedWatcher>,
|
|
}
|
|
|
|
impl WatcherState {
|
|
pub fn new() -> Self {
|
|
Self { watcher: None }
|
|
}
|
|
|
|
pub fn set_watcher(&mut self, watcher: RecommendedWatcher) {
|
|
self.watcher = Some(watcher);
|
|
}
|
|
|
|
pub fn clear_watcher(&mut self) {
|
|
self.watcher = None;
|
|
}
|
|
}
|
|
|
|
pub type SharedWatcherState = Arc<Mutex<WatcherState>>;
|
|
|
|
pub fn new_shared_watcher_state() -> SharedWatcherState {
|
|
Arc::new(Mutex::new(WatcherState::new()))
|
|
}
|