fix: mini timer renders via window label instead of hash routing

The mini timer window was blank because hash-based routing
(createWebHashHistory) doesn't work with Tauri's WebviewUrl path.
Now App.vue detects the mini timer by checking getCurrentWindow().label
=== 'mini-timer' and renders the MiniTimer component directly,
bypassing the router entirely.
This commit is contained in:
Your Name
2026-02-18 15:26:44 +02:00
parent 4462d832d2
commit b8239c6e1b
2 changed files with 28 additions and 19 deletions

View File

@@ -1132,9 +1132,9 @@ pub fn open_mini_timer(app: tauri::AppHandle) -> Result<(), String> {
return Ok(());
}
// Load root URL — the app uses hash-based routing (createWebHashHistory),
// so we set the hash fragment via eval after the window is created.
let win = tauri::WebviewWindowBuilder::new(&app, "mini-timer", WebviewUrl::App(Default::default()))
// Load root URL — App.vue detects the "mini-timer" window label
// and renders MiniTimer directly, bypassing the router.
tauri::WebviewWindowBuilder::new(&app, "mini-timer", WebviewUrl::App(Default::default()))
.title("Timer")
.inner_size(300.0, 64.0)
.always_on_top(true)
@@ -1144,9 +1144,6 @@ pub fn open_mini_timer(app: tauri::AppHandle) -> Result<(), String> {
.build()
.map_err(|e| e.to_string())?;
// Navigate Vue Router to the mini-timer route via hash
win.eval("window.location.hash = '/mini-timer'").ok();
Ok(())
}