diff --git a/src-tauri/src/discord_rpc.rs b/src-tauri/src/discord_rpc.rs index 8807836..b3e2de7 100644 --- a/src-tauri/src/discord_rpc.rs +++ b/src-tauri/src/discord_rpc.rs @@ -299,8 +299,7 @@ pub async fn set_discord_rpc_enabled( let mut rpc_service = discord_rpc_state.lock().await; if enabled { - - let default_client_id = "1234567890123456789"; + let default_client_id = "1423077619183779872"; rpc_service.connect(default_client_id) } else { rpc_service.disconnect() diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 9e2e6a4..80882c2 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -140,6 +140,10 @@ pub fn run() { preferences::get_preferences, preferences::set_autostart_enabled, preferences::get_autostart_enabled, + preferences::set_notifications_enabled, + preferences::get_notifications_enabled, + preferences::set_discord_rpc_enabled, + preferences::get_discord_rpc_enabled, setup::setup_hackatime_macos_linux, setup::setup_hackatime_windows, diff --git a/src-tauri/src/preferences.rs b/src-tauri/src/preferences.rs index ce22c4c..f41cee2 100644 --- a/src-tauri/src/preferences.rs +++ b/src-tauri/src/preferences.rs @@ -9,12 +9,16 @@ use crate::push_log; #[derive(Debug, Serialize, Deserialize, Clone)] pub struct Preferences { pub autostart_enabled: bool, + pub notifications_enabled: bool, + pub discord_rpc_enabled: bool, } impl Default for Preferences { fn default() -> Self { Self { - autostart_enabled: false, + autostart_enabled: true, + notifications_enabled: true, + discord_rpc_enabled: true, } } } @@ -86,3 +90,45 @@ pub fn get_autostart_enabled() -> Result { Ok(preferences.autostart_enabled) } +#[tauri::command] +pub fn set_notifications_enabled(enabled: bool) -> Result<(), String> { + let mut preferences = load_preferences().unwrap_or_default(); + preferences.notifications_enabled = enabled; + save_preferences(&preferences)?; + + if enabled { + push_log("info", "backend", "Notifications enabled".to_string()); + } else { + push_log("info", "backend", "Notifications disabled".to_string()); + } + + Ok(()) +} + +#[tauri::command] +pub fn get_notifications_enabled() -> Result { + let preferences = load_preferences().unwrap_or_default(); + Ok(preferences.notifications_enabled) +} + +#[tauri::command] +pub fn set_discord_rpc_enabled(enabled: bool) -> Result<(), String> { + let mut preferences = load_preferences().unwrap_or_default(); + preferences.discord_rpc_enabled = enabled; + save_preferences(&preferences)?; + + if enabled { + push_log("info", "backend", "Discord RPC enabled".to_string()); + } else { + push_log("info", "backend", "Discord RPC disabled".to_string()); + } + + Ok(()) +} + +#[tauri::command] +pub fn get_discord_rpc_enabled() -> Result { + let preferences = load_preferences().unwrap_or_default(); + Ok(preferences.discord_rpc_enabled) +} + diff --git a/src/views/Settings.vue b/src/views/Settings.vue index 5b6d7c8..ac38d3c 100644 --- a/src/views/Settings.vue +++ b/src/views/Settings.vue @@ -45,9 +45,9 @@

Notifications

Show desktop notifications

-