From b5e383b99a358c5ab0341ed190f8a1d6658fe97c Mon Sep 17 00:00:00 2001 From: Lightling Date: Sun, 2 Mar 2025 14:17:55 -0500 Subject: [PATCH] home page --- package-lock.json | 10 ++ package.json | 1 + src-tauri/Cargo.lock | 247 ++++++++++++++++++++++++++-- src-tauri/Cargo.toml | 1 + src-tauri/capabilities/default.json | 9 +- src-tauri/src/lib.rs | 1 + src/router.ts | 9 +- src/views/Home.vue | 101 ++++++++++++ 8 files changed, 362 insertions(+), 17 deletions(-) create mode 100644 src/views/Home.vue diff --git a/package-lock.json b/package-lock.json index 764cd40..c8a1385 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@primeuix/themes": "1.0.0", "@tauri-apps/api": "2.3.0", + "@tauri-apps/plugin-dialog": "^2.2.0", "@tauri-apps/plugin-opener": "2.2.6", "pinia": "3.0.1", "primeicons": "7.0.0", @@ -1358,6 +1359,15 @@ "node": ">= 10" } }, + "node_modules/@tauri-apps/plugin-dialog": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.2.0.tgz", + "integrity": "sha512-6bLkYK68zyK31418AK5fNccCdVuRnNpbxquCl8IqgFByOgWFivbiIlvb79wpSXi0O+8k8RCSsIpOquebusRVSg==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, "node_modules/@tauri-apps/plugin-opener": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-opener/-/plugin-opener-2.2.6.tgz", diff --git a/package.json b/package.json index 39f1449..3e0deb6 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "dependencies": { "@primeuix/themes": "1.0.0", "@tauri-apps/api": "2.3.0", + "@tauri-apps/plugin-dialog": "^2.2.0", "@tauri-apps/plugin-opener": "2.2.6", "pinia": "3.0.1", "primeicons": "7.0.0", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 9997dbb..03e0e59 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -62,6 +62,27 @@ version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4" +[[package]] +name = "ashpd" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c39d707614dbcc6bed00015539f488d8e3fe3e66ed60961efc0c90f4b380b3" +dependencies = [ + "enumflags2", + "futures-channel", + "futures-util", + "rand 0.8.5", + "raw-window-handle", + "serde", + "serde_repr", + "tokio", + "url", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "zbus", +] + [[package]] name = "async-broadcast" version = "0.7.2" @@ -759,6 +780,15 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading", +] + [[package]] name = "dlopen2" version = "0.7.0" @@ -782,6 +812,12 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + [[package]] name = "dpi" version = "0.1.1" @@ -2048,7 +2084,7 @@ dependencies = [ "gtk", "keyboard-types", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-core-foundation", "objc2-foundation 0.3.0", "once_cell", @@ -2175,6 +2211,22 @@ dependencies = [ "objc2-exception-helper", ] +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.9.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", + "objc2-core-data 0.2.2", + "objc2-core-image 0.2.2", + "objc2-foundation 0.2.2", + "objc2-quartz-core 0.2.2", +] + [[package]] name = "objc2-app-kit" version = "0.3.0" @@ -2186,10 +2238,10 @@ dependencies = [ "libc", "objc2 0.6.0", "objc2-cloud-kit", - "objc2-core-data", + "objc2-core-data 0.3.0", "objc2-core-foundation", "objc2-core-graphics", - "objc2-core-image", + "objc2-core-image 0.3.0", "objc2-foundation 0.3.0", "objc2-quartz-core 0.3.0", ] @@ -2205,6 +2257,18 @@ dependencies = [ "objc2-foundation 0.3.0", ] +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.9.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + [[package]] name = "objc2-core-data" version = "0.3.0" @@ -2238,6 +2302,18 @@ dependencies = [ "objc2-io-surface", ] +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", +] + [[package]] name = "objc2-core-image" version = "0.3.0" @@ -2271,6 +2347,7 @@ checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.9.0", "block2 0.5.1", + "dispatch", "libc", "objc2 0.5.2", ] @@ -2356,7 +2433,7 @@ dependencies = [ "bitflags 2.9.0", "block2 0.6.0", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-core-foundation", "objc2-foundation 0.3.0", ] @@ -2641,7 +2718,7 @@ checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ "base64 0.22.1", "indexmap 2.7.1", - "quick-xml", + "quick-xml 0.32.0", "serde", "time", ] @@ -2771,6 +2848,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "quick-xml" +version = "0.37.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003" +dependencies = [ + "memchr", +] + [[package]] name = "quinn" version = "0.11.6" @@ -3013,6 +3099,31 @@ dependencies = [ "windows-registry", ] +[[package]] +name = "rfd" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a24763657bff09769a8ccf12c8b8a50416fb035fe199263b4c5071e4e3f006f" +dependencies = [ + "ashpd", + "block2 0.5.1", + "core-foundation", + "core-foundation-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.59.0", +] + [[package]] name = "ring" version = "0.17.11" @@ -3152,6 +3263,12 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -3375,6 +3492,7 @@ dependencies = [ "serde_json", "tauri", "tauri-build", + "tauri-plugin-dialog", "tauri-plugin-opener", ] @@ -3602,7 +3720,7 @@ dependencies = [ "ndk-context", "ndk-sys", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-foundation 0.3.0", "once_cell", "parking_lot", @@ -3657,7 +3775,7 @@ dependencies = [ "mime", "muda", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-foundation 0.3.0", "percent-encoding", "plist", @@ -3764,6 +3882,47 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tauri-plugin-dialog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b59fd750551b1066744ab956a1cd6b1ea3e1b3763b0b9153ac27a044d596426" +dependencies = [ + "log", + "raw-window-handle", + "rfd", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.11", + "url", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1edf18000f02903a7c2e5997fb89aca455ecbc0acc15c6535afbb883be223" +dependencies = [ + "anyhow", + "dunce", + "glob", + "percent-encoding", + "schemars", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.11", + "toml", + "url", + "uuid", +] + [[package]] name = "tauri-plugin-opener" version = "2.2.6" @@ -3772,7 +3931,7 @@ checksum = "2fdc6cb608e04b7d2b6d1f21e9444ad49245f6d03465ba53323d692d1ceb1a30" dependencies = [ "dunce", "glob", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-foundation 0.3.0", "open", "schemars", @@ -3816,7 +3975,7 @@ dependencies = [ "jni", "log", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-foundation 0.3.0", "once_cell", "percent-encoding", @@ -4017,7 +4176,9 @@ dependencies = [ "libc", "mio", "pin-project-lite", + "signal-hook-registry", "socket2", + "tracing", "windows-sys 0.52.0", ] @@ -4169,7 +4330,7 @@ dependencies = [ "libappindicator", "muda", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-core-foundation", "objc2-core-graphics", "objc2-foundation 0.3.0", @@ -4476,6 +4637,66 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wayland-backend" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7208998eaa3870dad37ec8836979581506e0c5c64c20c9e79e9d2a10d6f47bf" +dependencies = [ + "cc", + "downcast-rs", + "rustix", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f" +dependencies = [ + "bitflags 2.9.0", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0781cf46869b37e36928f7b432273c0995aa8aed9552c556fb18754420541efc" +dependencies = [ + "bitflags 2.9.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" +dependencies = [ + "proc-macro2", + "quick-xml 0.37.2", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615" +dependencies = [ + "dlib", + "log", + "pkg-config", +] + [[package]] name = "web-sys" version = "0.3.77" @@ -4623,7 +4844,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" dependencies = [ "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-core-foundation", "objc2-foundation 0.3.0", "raw-window-handle", @@ -5065,7 +5286,7 @@ dependencies = [ "libc", "ndk", "objc2 0.6.0", - "objc2-app-kit", + "objc2-app-kit 0.3.0", "objc2-core-foundation", "objc2-foundation 0.3.0", "objc2-ui-kit", @@ -5168,6 +5389,7 @@ dependencies = [ "serde", "serde_repr", "static_assertions", + "tokio", "tracing", "uds_windows", "windows-sys 0.59.0", @@ -5285,6 +5507,7 @@ dependencies = [ "enumflags2", "serde", "static_assertions", + "url", "winnow 0.7.3", "zvariant_derive", "zvariant_utils", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 919333a..8d4d46e 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -22,4 +22,5 @@ tauri = { version = "2", features = [] } tauri-plugin-opener = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" +tauri-plugin-dialog = "2" diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index 4cdbf49..3c1ad59 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -2,9 +2,12 @@ "$schema": "../gen/schemas/desktop-schema.json", "identifier": "default", "description": "Capability for the main window", - "windows": ["main"], + "windows": [ + "main" + ], "permissions": [ "core:default", - "opener:default" + "opener:default", + "dialog:default" ] -} +} \ No newline at end of file diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 4a277ef..b878ebb 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -7,6 +7,7 @@ fn greet(name: &str) -> String { #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() + .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_opener::init()) .invoke_handler(tauri::generate_handler![greet]) .run(tauri::generate_context!()) diff --git a/src/router.ts b/src/router.ts index cf6017f..a2359a5 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,9 +1,14 @@ -import { createMemoryHistory, createRouter } from 'vue-router' +import { + createMemoryHistory, + createRouter, +} from 'vue-router' import Editor from './views/Editor.vue' +import Home from './views/Home.vue' export const routes = [ - { path: '/', component: Editor }, + { path: '/', component: Home }, + { path: '/editor', component: Editor }, ] export const router = createRouter({ diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..d983b63 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,101 @@ + + + + +