FRE-606: Add Tauri desktop framework with cross-platform support

- Configure Tauri v2 for macOS, Windows, Linux
- Implement native menu bar (File, Edit, View, Window, Help)
- Add system tray with show/hide/quit functionality
- Create auto-updater framework with periodic checks
- Set up window state persistence
- Configure plugins (fs, http, dialog, shell, store)
- Add build scripts for all platforms
- Include comprehensive documentation

Files:
- src-tauri/Cargo.toml
- src-tauri/tauri.conf.json
- src-tauri/build.rs
- src-tauri/src/main.rs
- src-tauri/src/lib.rs
- src-tauri/src/menu.rs
- src-tauri/src/tray.rs
- src-tauri/src/updater.rs
- src-tauri/Cargo.lock
- src-tauri/icons/tray-icon.svg
- src-tauri/tauri.build.conf
- src-tauri/README.md
- .gitignore
- package.json (Tauri CLI scripts)
This commit is contained in:
2026-04-23 22:29:22 -04:00
parent adf453e245
commit 0fcd91cf87
12 changed files with 919 additions and 0 deletions

20
src-tauri/src/lib.rs Normal file
View File

@@ -0,0 +1,20 @@
pub mod menu;
pub mod tray;
pub mod updater;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AppState {
pub app_version: String,
pub is_dev_mode: bool,
}
impl Default for AppState {
fn default() -> Self {
Self {
app_version: env!("CARGO_PKG_VERSION").to_string(),
is_dev_mode: cfg!(debug_assertions),
}
}
}