From a880490dc4fa3081fca897f615596d61a77bd725 Mon Sep 17 00:00:00 2001 From: Michael Zhang Date: Mon, 4 Nov 2024 01:15:58 -0600 Subject: [PATCH] wip --- .gitignore | 15 +- .vscode/settings.json | 2 + biome.json | 31 + bun.lockb | Bin 0 -> 84364 bytes ui/package.json => package.json | 18 +- {ui/src-tauri => src-tauri}/.gitignore | 0 {ui/src-tauri => src-tauri}/Cargo.lock | 1289 ++++++++++++++++- {ui/src-tauri => src-tauri}/Cargo.toml | 1 + {ui/src-tauri => src-tauri}/build.rs | 0 .../capabilities/default.json | 0 {ui/src-tauri => src-tauri}/icons/128x128.png | Bin .../icons/128x128@2x.png | Bin {ui/src-tauri => src-tauri}/icons/32x32.png | Bin .../icons/Square107x107Logo.png | Bin .../icons/Square142x142Logo.png | Bin .../icons/Square150x150Logo.png | Bin .../icons/Square284x284Logo.png | Bin .../icons/Square30x30Logo.png | Bin .../icons/Square310x310Logo.png | Bin .../icons/Square44x44Logo.png | Bin .../icons/Square71x71Logo.png | Bin .../icons/Square89x89Logo.png | Bin .../icons/StoreLogo.png | Bin {ui/src-tauri => src-tauri}/icons/icon.icns | Bin {ui/src-tauri => src-tauri}/icons/icon.ico | Bin {ui/src-tauri => src-tauri}/icons/icon.png | Bin {ui/src-tauri => src-tauri}/src/lib.rs | 0 {ui/src-tauri => src-tauri}/src/main.rs | 0 {ui/src-tauri => src-tauri}/tauri.conf.json | 0 {ui/src => src}/app.html | 0 .../composite/sidebar/Sidebar.svelte | 23 + src/global.scss | 10 + {ui/src => src}/routes/+layout.ts | 0 src/routes/+page.svelte | 20 + src/utils/css.ts | 4 + {ui/static => static}/favicon.png | Bin {ui/static => static}/svelte.svg | 0 {ui/static => static}/tauri.svg | 0 {ui/static => static}/vite.svg | 0 ui/svelte.config.js => svelte.config.js | 0 ui/tsconfig.json => tsconfig.json | 0 ui/.gitignore | 10 - ui/.vscode/extensions.json | 7 - ui/.vscode/settings.json | 3 - ui/README.md | 7 - ui/bun.lockb | Bin 43381 -> 0 bytes ui/src/routes/+page.svelte | 156 -- ui/vite.config.js => vite.config.js | 4 +- 48 files changed, 1403 insertions(+), 197 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 biome.json create mode 100644 bun.lockb rename ui/package.json => package.json (65%) rename {ui/src-tauri => src-tauri}/.gitignore (100%) rename {ui/src-tauri => src-tauri}/Cargo.lock (78%) rename {ui/src-tauri => src-tauri}/Cargo.toml (88%) rename {ui/src-tauri => src-tauri}/build.rs (100%) rename {ui/src-tauri => src-tauri}/capabilities/default.json (100%) rename {ui/src-tauri => src-tauri}/icons/128x128.png (100%) rename {ui/src-tauri => src-tauri}/icons/128x128@2x.png (100%) rename {ui/src-tauri => src-tauri}/icons/32x32.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square107x107Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square142x142Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square150x150Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square284x284Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square30x30Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square310x310Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square44x44Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square71x71Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/Square89x89Logo.png (100%) rename {ui/src-tauri => src-tauri}/icons/StoreLogo.png (100%) rename {ui/src-tauri => src-tauri}/icons/icon.icns (100%) rename {ui/src-tauri => src-tauri}/icons/icon.ico (100%) rename {ui/src-tauri => src-tauri}/icons/icon.png (100%) rename {ui/src-tauri => src-tauri}/src/lib.rs (100%) rename {ui/src-tauri => src-tauri}/src/main.rs (100%) rename {ui/src-tauri => src-tauri}/tauri.conf.json (100%) rename {ui/src => src}/app.html (100%) create mode 100644 src/components/composite/sidebar/Sidebar.svelte create mode 100644 src/global.scss rename {ui/src => src}/routes/+layout.ts (100%) create mode 100644 src/routes/+page.svelte create mode 100644 src/utils/css.ts rename {ui/static => static}/favicon.png (100%) rename {ui/static => static}/svelte.svg (100%) rename {ui/static => static}/tauri.svg (100%) rename {ui/static => static}/vite.svg (100%) rename ui/svelte.config.js => svelte.config.js (100%) rename ui/tsconfig.json => tsconfig.json (100%) delete mode 100644 ui/.gitignore delete mode 100644 ui/.vscode/extensions.json delete mode 100644 ui/.vscode/settings.json delete mode 100644 ui/README.md delete mode 100644 ui/bun.lockb delete mode 100644 ui/src/routes/+page.svelte rename ui/vite.config.js => vite.config.js (86%) diff --git a/.gitignore b/.gitignore index 2f57864..6635cf5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,10 @@ -node_modules -dist -target .DS_Store -**/export/export.json -test.db* +node_modules +/build +/.svelte-kit +/package .env -.direnv -/proto/generated \ No newline at end of file +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..34e96c4 --- /dev/null +++ b/biome.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "ignore": [] + }, + "formatter": { + "enabled": true, + "indentStyle": "tab" + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "style": { "useConst": "warn" } + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + } +} diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..75743d447611cd1253c7f3c37dbf324c495e2a04 GIT binary patch literal 84364 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 o|Jz`5bQLAxJ|?Ql#iclPQzca~P_ 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 literal 0 HcmV?d00001 diff --git a/ui/package.json b/package.json similarity index 65% rename from ui/package.json rename to package.json index 4f7381f..5a9369e 100644 --- a/ui/package.json +++ b/package.json @@ -14,17 +14,27 @@ "license": "MIT", "dependencies": { "@tauri-apps/api": "^2", - "@tauri-apps/plugin-shell": "^2" + "@tauri-apps/plugin-shell": "^2", + "@vanilla-extract/css": "^1.16.0", + "classnames": "^2.5.1" }, "devDependencies": { + "@biomejs/biome": "^1.9.4", "@sveltejs/adapter-static": "^3.0.5", "@sveltejs/kit": "^2.7.0", "@sveltejs/vite-plugin-svelte": "^4.0.0", + "@tauri-apps/cli": "^2", + "@vanilla-extract/vite-plugin": "^4.0.17", + "sass-embedded": "^1.80.6", "svelte": "^5.0.0", "svelte-check": "^4.0.0", "tslib": "^2.8.0", "typescript": "^5.5.0", - "vite": "^5.4.10", - "@tauri-apps/cli": "^2" - } + "vite": "^5.4.10" + }, + "trustedDependencies": [ + "@biomejs/biome", + "@sveltejs/kit", + "esbuild" + ] } diff --git a/ui/src-tauri/.gitignore b/src-tauri/.gitignore similarity index 100% rename from ui/src-tauri/.gitignore rename to src-tauri/.gitignore diff --git a/ui/src-tauri/Cargo.lock b/src-tauri/Cargo.lock similarity index 78% rename from ui/src-tauri/Cargo.lock rename to src-tauri/Cargo.lock index fe1432f..3dea30e 100644 --- a/ui/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -17,6 +17,29 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.3" @@ -26,6 +49,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -41,6 +70,12 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -62,6 +97,45 @@ version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13" +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "async-trait" +version = "0.1.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "atk" version = "0.18.0" @@ -85,6 +159,15 @@ dependencies = [ "system-deps", ] +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + [[package]] name = "autocfg" version = "1.4.0" @@ -118,6 +201,26 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bigdecimal" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f850665a0385e070b64c38d2354e6c104c8479c59868d1e48a0c13ee2c7a1c1" +dependencies = [ + "autocfg", + "libm", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -133,6 +236,18 @@ dependencies = [ "serde", ] +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "block" version = "0.1.6" @@ -157,6 +272,30 @@ dependencies = [ "objc2", ] +[[package]] +name = "borsh" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d4d6dafc1a3bb54687538972158f07b2c948bc57d5890df22c0739098b3028" +dependencies = [ + "borsh-derive", + "cfg_aliases 0.1.1", +] + +[[package]] +name = "borsh-derive" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0" +dependencies = [ + "once_cell", + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 2.0.87", + "syn_derive", +] + [[package]] name = "brotli" version = "7.0.0" @@ -184,6 +323,28 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "bytemuck" version = "1.19.0" @@ -314,6 +475,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "cfg_aliases" version = "0.2.1" @@ -373,6 +540,21 @@ dependencies = [ "memchr", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "convert_case" version = "0.4.0" @@ -428,6 +610,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.4.2" @@ -446,6 +643,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -534,6 +740,17 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + [[package]] name = "deranged" version = "0.3.11" @@ -564,7 +781,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -617,6 +836,12 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + [[package]] name = "dpi" version = "0.1.1" @@ -653,6 +878,15 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +dependencies = [ + "serde", +] + [[package]] name = "embed-resource" version = "2.5.0" @@ -698,6 +932,44 @@ dependencies = [ "typeid", ] +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + [[package]] name = "fdeflate" version = "0.3.6" @@ -736,6 +1008,17 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + [[package]] name = "fnv" version = "1.0.7" @@ -778,6 +1061,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futf" version = "0.1.5" @@ -788,6 +1077,20 @@ dependencies = [ "new_debug_unreachable", ] +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + [[package]] name = "futures-channel" version = "0.3.31" @@ -795,6 +1098,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", + "futures-sink", ] [[package]] @@ -814,6 +1118,17 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + [[package]] name = "futures-io" version = "0.3.31" @@ -849,6 +1164,7 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ + "futures-channel", "futures-core", "futures-io", "futures-macro", @@ -1159,6 +1475,19 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", +] [[package]] name = "hashbrown" @@ -1166,6 +1495,15 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "heck" version = "0.4.1" @@ -1190,6 +1528,33 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "html5ever" version = "0.26.0" @@ -1362,6 +1727,17 @@ dependencies = [ "cfb", ] +[[package]] +name = "inherent" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0122b7114117e64a63ac49f752a5ca4624d534c7b1c7de796ac196381cd2d947" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "instant" version = "0.1.13" @@ -1396,6 +1772,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.8" @@ -1536,6 +1921,9 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] [[package]] name = "libappindicator" @@ -1577,6 +1965,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + [[package]] name = "libredox" version = "0.1.3" @@ -1587,6 +1981,23 @@ dependencies = [ "libc", ] +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + [[package]] name = "lock_api" version = "0.4.12" @@ -1638,6 +2049,16 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + [[package]] name = "memchr" version = "2.7.4" @@ -1659,6 +2080,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.8.0" @@ -1743,12 +2170,69 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + [[package]] name = "num-conv" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -1756,6 +2240,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -2038,6 +2523,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "ordered-float" +version = "3.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" +dependencies = [ + "num-traits", +] + [[package]] name = "os_pipe" version = "1.2.1" @@ -2048,6 +2542,31 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "ouroboros" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "944fa20996a25aded6b4795c6d63f10014a7a83f8be9828a11860b08c5fc4a67" +dependencies = [ + "aliasable", + "ouroboros_macro", + "static_assertions", +] + +[[package]] +name = "ouroboros_macro" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39b0deead1528fd0e5947a8546a9642a9777c25f6e1e26f34c97b204bbb465bd" +dependencies = [ + "heck 0.4.1", + "itertools", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.87", +] + [[package]] name = "pango" version = "0.18.3" @@ -2077,6 +2596,7 @@ dependencies = [ name = "panorama" version = "0.1.0" dependencies = [ + "sea-orm", "serde", "serde_json", "tauri", @@ -2084,6 +2604,12 @@ dependencies = [ "tauri-plugin-shell", ] +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + [[package]] name = "parking_lot" version = "0.12.3" @@ -2107,12 +2633,27 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + [[package]] name = "pathdiff" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -2265,6 +2806,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.31" @@ -2362,6 +2924,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -2377,6 +2961,39 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "version_check", + "yansi", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "quick-xml" version = "0.32.0" @@ -2395,6 +3012,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.7.3" @@ -2531,6 +3154,15 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] + [[package]] name = "reqwest" version = "0.12.9" @@ -2568,6 +3200,86 @@ dependencies = [ "windows-registry", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rkyv" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +dependencies = [ + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rsa" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rust_decimal" +version = "1.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +dependencies = [ + "arrayvec", + "borsh", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -2583,6 +3295,59 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.38.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.23.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "ryu" version = "1.0.18" @@ -2631,6 +3396,99 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sea-bae" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f694a6ab48f14bc063cfadff30ab551d3c7e46d8f81836c51989d548f44a2a25" +dependencies = [ + "heck 0.4.1", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "sea-orm" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5680a8b686985116607ef5f5af2b1f9e1cc2c228330e93101816a0baa279afa" +dependencies = [ + "async-stream", + "async-trait", + "bigdecimal", + "chrono", + "futures", + "log", + "ouroboros", + "rust_decimal", + "sea-orm-macros", + "sea-query", + "sea-query-binder", + "serde", + "serde_json", + "sqlx", + "strum", + "thiserror", + "time", + "tracing", + "url", + "uuid", +] + +[[package]] +name = "sea-orm-macros" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a239e3bb1b566ad4ec2654d0d193d6ceddfd733487edc9c21a64d214c773910" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "sea-bae", + "syn 2.0.87", + "unicode-ident", +] + +[[package]] +name = "sea-query" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff504d13b5e4b52fffcf2fb203d0352a5722fa5151696db768933e41e1e591bb" +dependencies = [ + "bigdecimal", + "chrono", + "inherent", + "ordered-float", + "rust_decimal", + "serde_json", + "time", + "uuid", +] + +[[package]] +name = "sea-query-binder" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0019f47430f7995af63deda77e238c17323359af241233ec768aba1faea7608" +dependencies = [ + "bigdecimal", + "chrono", + "rust_decimal", + "sea-query", + "serde_json", + "sqlx", + "time", + "uuid", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + [[package]] name = "selectors" version = "0.22.0" @@ -2808,6 +3666,17 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sha2" version = "0.10.8" @@ -2835,12 +3704,28 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "simd-adler32" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "siphasher" version = "0.3.11" @@ -2861,6 +3746,9 @@ name = "smallvec" version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +dependencies = [ + "serde", +] [[package]] name = "socket2" @@ -2879,7 +3767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08" dependencies = [ "bytemuck", - "cfg_aliases", + "cfg_aliases 0.2.1", "core-graphics", "foreign-types", "js-sys", @@ -2920,12 +3808,263 @@ dependencies = [ "system-deps", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlformat" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" +dependencies = [ + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93334716a037193fac19df402f8571269c84a00852f6a7066b5d2616dcd64d3e" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d8060b456358185f7d50c55d9b5066ad956956fddec42ee2e8567134a8936e" +dependencies = [ + "atoi", + "bigdecimal", + "byteorder", + "bytes", + "chrono", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-channel", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.14.5", + "hashlink", + "hex", + "indexmap 2.6.0", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "rust_decimal", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlformat", + "thiserror", + "time", + "tokio", + "tokio-stream", + "tracing", + "url", + "uuid", + "webpki-roots", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cac0692bcc9de3b073e8d747391827297e075c7710ff6276d9f7a1f3d58c6657" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 2.0.87", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1804e8a7c7865599c9c79be146dc8a9fd8cc86935fa641d3ea58e5f0688abaa5" +dependencies = [ + "dotenvy", + "either", + "heck 0.5.0", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 2.0.87", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64bb4714269afa44aef2755150a0fc19d756fb580a67db8885608cf02f47d06a" +dependencies = [ + "atoi", + "base64 0.22.1", + "bigdecimal", + "bitflags 2.6.0", + "byteorder", + "bytes", + "chrono", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa 1.0.11", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "rust_decimal", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "time", + "tracing", + "uuid", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fa91a732d854c5d7726349bb4bb879bb9478993ceb764247660aee25f67c2f8" +dependencies = [ + "atoi", + "base64 0.22.1", + "bigdecimal", + "bitflags 2.6.0", + "byteorder", + "chrono", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa 1.0.11", + "log", + "md-5", + "memchr", + "num-bigint", + "once_cell", + "rand 0.8.5", + "rust_decimal", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "time", + "tracing", + "uuid", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680" +dependencies = [ + "atoi", + "chrono", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "time", + "tracing", + "url", + "uuid", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "string_cache" version = "0.8.7" @@ -2952,12 +4091,35 @@ dependencies = [ "quote", ] +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "swift-rs" version = "1.0.7" @@ -2991,6 +4153,18 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "sync_wrapper" version = "1.0.1" @@ -3063,6 +4237,12 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "target-lexicon" version = "0.12.16" @@ -3311,6 +4491,19 @@ dependencies = [ "toml 0.7.8", ] +[[package]] +name = "tempfile" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + [[package]] name = "tendril" version = "0.4.3" @@ -3409,6 +4602,17 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "tokio-stream" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + [[package]] name = "tokio-util" version = "0.7.12" @@ -3493,10 +4697,23 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ + "log", "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "tracing-core" version = "0.1.32" @@ -3607,12 +4824,30 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + [[package]] name = "unicode-segmentation" version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.2" @@ -3653,6 +4888,12 @@ dependencies = [ "serde", ] +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version-compare" version = "0.2.0" @@ -3716,6 +4957,12 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + [[package]] name = "wasm-bindgen" version = "0.2.95" @@ -3850,6 +5097,15 @@ dependencies = [ "system-deps", ] +[[package]] +name = "webpki-roots" +version = "0.26.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webview2-com" version = "0.33.0" @@ -3886,6 +5142,16 @@ dependencies = [ "windows-core 0.58.0", ] +[[package]] +name = "whoami" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +dependencies = [ + "redox_syscall", + "wasite", +] + [[package]] name = "winapi" version = "0.3.9" @@ -4298,6 +5564,15 @@ dependencies = [ "x11-dl", ] +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "x11" version = "2.21.0" @@ -4319,6 +5594,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + [[package]] name = "zerocopy" version = "0.7.35" @@ -4339,3 +5620,9 @@ dependencies = [ "quote", "syn 2.0.87", ] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/ui/src-tauri/Cargo.toml b/src-tauri/Cargo.toml similarity index 88% rename from ui/src-tauri/Cargo.toml rename to src-tauri/Cargo.toml index fd47ef8..bb05d8a 100644 --- a/ui/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -22,4 +22,5 @@ tauri = { version = "2", features = [] } tauri-plugin-shell = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" +sea-orm = { version = "1.1.1", features = ["sqlx-sqlite", "runtime-tokio-rustls", "macros"] } diff --git a/ui/src-tauri/build.rs b/src-tauri/build.rs similarity index 100% rename from ui/src-tauri/build.rs rename to src-tauri/build.rs diff --git a/ui/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json similarity index 100% rename from ui/src-tauri/capabilities/default.json rename to src-tauri/capabilities/default.json diff --git a/ui/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png similarity index 100% rename from ui/src-tauri/icons/128x128.png rename to src-tauri/icons/128x128.png diff --git a/ui/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png similarity index 100% rename from ui/src-tauri/icons/128x128@2x.png rename to src-tauri/icons/128x128@2x.png diff --git a/ui/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png similarity index 100% rename from ui/src-tauri/icons/32x32.png rename to src-tauri/icons/32x32.png diff --git a/ui/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png similarity index 100% rename from ui/src-tauri/icons/Square107x107Logo.png rename to src-tauri/icons/Square107x107Logo.png diff --git a/ui/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png similarity index 100% rename from ui/src-tauri/icons/Square142x142Logo.png rename to src-tauri/icons/Square142x142Logo.png diff --git a/ui/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png similarity index 100% rename from ui/src-tauri/icons/Square150x150Logo.png rename to src-tauri/icons/Square150x150Logo.png diff --git a/ui/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png similarity index 100% rename from ui/src-tauri/icons/Square284x284Logo.png rename to src-tauri/icons/Square284x284Logo.png diff --git a/ui/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png similarity index 100% rename from ui/src-tauri/icons/Square30x30Logo.png rename to src-tauri/icons/Square30x30Logo.png diff --git a/ui/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png similarity index 100% rename from ui/src-tauri/icons/Square310x310Logo.png rename to src-tauri/icons/Square310x310Logo.png diff --git a/ui/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png similarity index 100% rename from ui/src-tauri/icons/Square44x44Logo.png rename to src-tauri/icons/Square44x44Logo.png diff --git a/ui/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png similarity index 100% rename from ui/src-tauri/icons/Square71x71Logo.png rename to src-tauri/icons/Square71x71Logo.png diff --git a/ui/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png similarity index 100% rename from ui/src-tauri/icons/Square89x89Logo.png rename to src-tauri/icons/Square89x89Logo.png diff --git a/ui/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png similarity index 100% rename from ui/src-tauri/icons/StoreLogo.png rename to src-tauri/icons/StoreLogo.png diff --git a/ui/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns similarity index 100% rename from ui/src-tauri/icons/icon.icns rename to src-tauri/icons/icon.icns diff --git a/ui/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico similarity index 100% rename from ui/src-tauri/icons/icon.ico rename to src-tauri/icons/icon.ico diff --git a/ui/src-tauri/icons/icon.png b/src-tauri/icons/icon.png similarity index 100% rename from ui/src-tauri/icons/icon.png rename to src-tauri/icons/icon.png diff --git a/ui/src-tauri/src/lib.rs b/src-tauri/src/lib.rs similarity index 100% rename from ui/src-tauri/src/lib.rs rename to src-tauri/src/lib.rs diff --git a/ui/src-tauri/src/main.rs b/src-tauri/src/main.rs similarity index 100% rename from ui/src-tauri/src/main.rs rename to src-tauri/src/main.rs diff --git a/ui/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json similarity index 100% rename from ui/src-tauri/tauri.conf.json rename to src-tauri/tauri.conf.json diff --git a/ui/src/app.html b/src/app.html similarity index 100% rename from ui/src/app.html rename to src/app.html diff --git a/src/components/composite/sidebar/Sidebar.svelte b/src/components/composite/sidebar/Sidebar.svelte new file mode 100644 index 0000000..de7149e --- /dev/null +++ b/src/components/composite/sidebar/Sidebar.svelte @@ -0,0 +1,23 @@ + + + + + diff --git a/src/global.scss b/src/global.scss new file mode 100644 index 0000000..c8ce687 --- /dev/null +++ b/src/global.scss @@ -0,0 +1,10 @@ +html,body { + margin: 0; + padding: 0; + width: 100%; + height:100%; +} + +body { + font-family: sans-serif; +} \ No newline at end of file diff --git a/ui/src/routes/+layout.ts b/src/routes/+layout.ts similarity index 100% rename from ui/src/routes/+layout.ts rename to src/routes/+layout.ts diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..855b0b6 --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,20 @@ + + +
+ +
main shit
+
+ + diff --git a/src/utils/css.ts b/src/utils/css.ts new file mode 100644 index 0000000..9251d57 --- /dev/null +++ b/src/utils/css.ts @@ -0,0 +1,4 @@ +// Cribbed from https://github.com/cinnyapp/folds/blob/d5e4f8a3d48ae70d54e77a05808f5200e74072fb/src/theme/util.ts#L1 +// Just going to use this for now until I figure out my own system +export const pxToRem = (px: number) => Number.parseFloat((px / 16).toFixed(4)); +export const toRem = (px: number) => `${pxToRem(px)}rem`; diff --git a/ui/static/favicon.png b/static/favicon.png similarity index 100% rename from ui/static/favicon.png rename to static/favicon.png diff --git a/ui/static/svelte.svg b/static/svelte.svg similarity index 100% rename from ui/static/svelte.svg rename to static/svelte.svg diff --git a/ui/static/tauri.svg b/static/tauri.svg similarity index 100% rename from ui/static/tauri.svg rename to static/tauri.svg diff --git a/ui/static/vite.svg b/static/vite.svg similarity index 100% rename from ui/static/vite.svg rename to static/vite.svg diff --git a/ui/svelte.config.js b/svelte.config.js similarity index 100% rename from ui/svelte.config.js rename to svelte.config.js diff --git a/ui/tsconfig.json b/tsconfig.json similarity index 100% rename from ui/tsconfig.json rename to tsconfig.json diff --git a/ui/.gitignore b/ui/.gitignore deleted file mode 100644 index 6635cf5..0000000 --- a/ui/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example -vite.config.js.timestamp-* -vite.config.ts.timestamp-* diff --git a/ui/.vscode/extensions.json b/ui/.vscode/extensions.json deleted file mode 100644 index 61343e9..0000000 --- a/ui/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "svelte.svelte-vscode", - "tauri-apps.tauri-vscode", - "rust-lang.rust-analyzer" - ] -} diff --git a/ui/.vscode/settings.json b/ui/.vscode/settings.json deleted file mode 100644 index 2f86c50..0000000 --- a/ui/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "svelte.enable-ts-plugin": true -} diff --git a/ui/README.md b/ui/README.md deleted file mode 100644 index 858d179..0000000 --- a/ui/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Tauri + SvelteKit + TypeScript - -This template should help get you started developing with Tauri, SvelteKit and TypeScript in Vite. - -## Recommended IDE Setup - -[VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). diff --git a/ui/bun.lockb b/ui/bun.lockb deleted file mode 100644 index ee5f0c9d34a4a49b05b2ed69a58e6d3acbff3dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43381 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 A82|tP diff --git a/ui/src/routes/+page.svelte b/ui/src/routes/+page.svelte deleted file mode 100644 index eb3daec..0000000 --- a/ui/src/routes/+page.svelte +++ /dev/null @@ -1,156 +0,0 @@ - - -
-

Welcome to Tauri + Svelte

- - -

Click on the Tauri, Vite, and SvelteKit logos to learn more.

- -
- - -
-

{greetMsg}

-
- - diff --git a/ui/vite.config.js b/vite.config.js similarity index 86% rename from ui/vite.config.js rename to vite.config.js index 6dee1ec..ef734db 100644 --- a/ui/vite.config.js +++ b/vite.config.js @@ -1,12 +1,12 @@ import { defineConfig } from "vite"; import { sveltekit } from "@sveltejs/kit/vite"; +import { vanillaExtractPlugin } from '@vanilla-extract/vite-plugin'; -// @ts-expect-error process is a nodejs global const host = process.env.TAURI_DEV_HOST; // https://vitejs.dev/config/ export default defineConfig(async () => ({ - plugins: [sveltekit()], + plugins: [vanillaExtractPlugin(), sveltekit()], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` //