diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index e3dfc1fd..78d91c32 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1121,6 +1121,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "csscolorparser" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda6aace1fbef3aa217b27f4c8d7d071ef2a70a5ca51050b1f17d40299d3f16" +dependencies = [ + "phf 0.11.3", +] + [[package]] name = "cssparser" version = "0.29.6" @@ -1297,7 +1306,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -2254,15 +2263,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hex_color" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0" -dependencies = [ - "rand 0.8.5", -] - [[package]] name = "hkdf" version = "0.12.4" @@ -7989,7 +7989,7 @@ name = "yaak-mac-window" version = "0.1.0" dependencies = [ "cocoa", - "hex_color", + "csscolorparser", "log", "objc", "rand 0.9.1", diff --git a/src-tauri/yaak-mac-window/Cargo.toml b/src-tauri/yaak-mac-window/Cargo.toml index dfb04871..3d99a265 100644 --- a/src-tauri/yaak-mac-window/Cargo.toml +++ b/src-tauri/yaak-mac-window/Cargo.toml @@ -10,10 +10,10 @@ tauri-plugin = { workspace = true, features = ["build"] } [target.'cfg(target_os = "macos")'.dependencies] cocoa = "0.26.0" -hex_color = "3.0.0" log = "0.4.27" objc = "0.2.7" rand = "0.9.0" +csscolorparser = "0.7.2" [dependencies] tauri = { workspace = true } diff --git a/src-tauri/yaak-mac-window/src/commands.rs b/src-tauri/yaak-mac-window/src/commands.rs index ff4fb340..2e0eb277 100644 --- a/src-tauri/yaak-mac-window/src/commands.rs +++ b/src-tauri/yaak-mac-window/src/commands.rs @@ -18,7 +18,7 @@ pub(crate) fn set_title(window: Window, title: &str) { pub(crate) fn set_theme(window: Window, bg_color: &str) { #[cfg(target_os = "macos")] { - match hex_color::HexColor::parse_rgb(bg_color.trim()) { + match csscolorparser::parse(bg_color.trim()) { Ok(color) => { crate::mac::update_window_theme(window, color); } diff --git a/src-tauri/yaak-mac-window/src/mac.rs b/src-tauri/yaak-mac-window/src/mac.rs index b98f3bcc..eca63146 100644 --- a/src-tauri/yaak-mac-window/src/mac.rs +++ b/src-tauri/yaak-mac-window/src/mac.rs @@ -1,5 +1,5 @@ #![allow(deprecated)] -use hex_color::HexColor; +use csscolorparser::Color; use objc::{msg_send, sel, sel_impl}; use tauri::{Emitter, Runtime, Window}; @@ -35,7 +35,7 @@ pub(crate) fn update_window_title(window: Window, title: String) } } -pub(crate) fn update_window_theme(window: Window, color: HexColor) { +pub(crate) fn update_window_theme(window: Window, color: Color) { use cocoa::appkit::{ NSAppearance, NSAppearanceNameVibrantDark, NSAppearanceNameVibrantLight, NSWindow, }; diff --git a/src-web/theme.ts b/src-web/theme.ts index 77aa163e..be47862c 100644 --- a/src-web/theme.ts +++ b/src-web/theme.ts @@ -27,7 +27,8 @@ configureTheme().then( // Listen for settings changes, the re-compute theme listen('upserted_model', async (event) => { - if (event.payload.model.model !== 'settings') return; + const model = event.payload.model.model; + if (model !== 'settings' && model !== 'plugin') return; await configureTheme(); }).catch(console.error);