diff --git a/src-tauri/src/ui/control_panel/mod.rs b/src-tauri/src/ui/control_panel/mod.rs new file mode 100644 index 0000000..6cac165 --- /dev/null +++ b/src-tauri/src/ui/control_panel/mod.rs @@ -0,0 +1,35 @@ +use tauri::{AppHandle, Manager, WebviewUrl}; + +const WINDOW_LABEL: &str = "control-panel"; + +pub fn init(handle: &AppHandle) { + if let Some(window) = handle.get_webview_window(WINDOW_LABEL) { + if !window.is_visible().unwrap() { + window.center().unwrap(); + window.show().unwrap(); + }; + window.set_focus().unwrap(); + return; + }; + + let builder = tauri::WebviewWindowBuilder::new( + handle, + WINDOW_LABEL, + WebviewUrl::App("/control-panel".into()), + ) + .title("Wyd Control Panel") + .inner_size(400.0, 600.0) + .min_inner_size(400.0, 600.0) + .resizable(false) + .maximizable(false) + .visible(true); + + let window = builder.build().unwrap(); + let window_c = window.clone(); + window.on_window_event(move |event: &tauri::WindowEvent| { + if let tauri::WindowEvent::CloseRequested { api, .. } = event { + api.prevent_close(); + window_c.hide().unwrap(); + } + }); +} diff --git a/src-tauri/src/ui/mod.rs b/src-tauri/src/ui/mod.rs index 8517446..7605e2c 100644 --- a/src-tauri/src/ui/mod.rs +++ b/src-tauri/src/ui/mod.rs @@ -1,5 +1,6 @@ use tauri::AppHandle; +mod control_panel; #[cfg(debug_assertions)] mod debug; pub mod scene; @@ -8,4 +9,5 @@ pub fn init(app_handle: &AppHandle) { #[cfg(debug_assertions)] debug::init(app_handle); scene::init(app_handle); + control_panel::init(app_handle); } diff --git a/src/app.css b/src/app.css index 8c28a06..6dd1581 100644 --- a/src/app.css +++ b/src/app.css @@ -27,9 +27,9 @@ --color-warning-content: oklch(100% 0 0); --color-error: oklch(70% 0.191 22.216); --color-error-content: oklch(100% 0 0); - --radius-selector: 0.25rem; - --radius-field: 0.25rem; - --radius-box: 0.25rem; + --radius-selector: 0rem; + --radius-field: 0rem; + --radius-box: 0rem; --size-selector: 0.1875rem; --size-field: 0.1875rem; --border: 1px; @@ -63,9 +63,9 @@ --color-warning-content: oklch(0% 0 0); --color-error: oklch(63% 0.237 25.331); --color-error-content: oklch(100% 0 0); - --radius-selector: 0.25rem; - --radius-field: 0.25rem; - --radius-box: 0.25rem; + --radius-selector: 0rem; + --radius-field: 0rem; + --radius-box: 0rem; --size-selector: 0.1875rem; --size-field: 0.1875rem; --border: 1px; diff --git a/src/lib/components/connection-status.svelte b/src/lib/components/debug/connection-status.svelte similarity index 100% rename from src/lib/components/connection-status.svelte rename to src/lib/components/debug/connection-status.svelte diff --git a/src/lib/components/friend-statuses.svelte b/src/lib/components/debug/friend-statuses.svelte similarity index 100% rename from src/lib/components/friend-statuses.svelte rename to src/lib/components/debug/friend-statuses.svelte diff --git a/src/lib/components/friends-list.svelte b/src/lib/components/debug/friends-list.svelte similarity index 100% rename from src/lib/components/friends-list.svelte rename to src/lib/components/debug/friends-list.svelte diff --git a/src/lib/components/live-metadata.svelte b/src/lib/components/debug/live-metadata.svelte similarity index 100% rename from src/lib/components/live-metadata.svelte rename to src/lib/components/debug/live-metadata.svelte diff --git a/src/lib/components/profile.svelte b/src/lib/components/debug/profile.svelte similarity index 100% rename from src/lib/components/profile.svelte rename to src/lib/components/debug/profile.svelte diff --git a/src/lib/components/remotes-list.svelte b/src/lib/components/debug/remotes-list.svelte similarity index 100% rename from src/lib/components/remotes-list.svelte rename to src/lib/components/debug/remotes-list.svelte diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 06ea9fb..f94b29e 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,10 +1,10 @@
diff --git a/src/routes/control-panel/+page.svelte b/src/routes/control-panel/+page.svelte new file mode 100644 index 0000000..6ffa2d9 --- /dev/null +++ b/src/routes/control-panel/+page.svelte @@ -0,0 +1,9 @@ + + +
+
+

Control panel

+
+