diff --git a/.gitignore b/.gitignore index 72ac06a..602df2d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,3 @@ gen/ # Generated by `cargo tauri icon` # will have various versions of the app icon icons/ - -# Generated by Trunk -# will have the files to be served over http -www/ - -# Secret -src/server/cloud_user.txt diff --git a/Cargo.lock b/Cargo.lock index 53e2280..de948fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -51,12 +51,6 @@ dependencies = [ "alloc-no-stdlib", ] -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - [[package]] name = "android-tzdata" version = "0.1.1" @@ -72,22 +66,11 @@ dependencies = [ "libc", ] -[[package]] -name = "any_spawner" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41058deaa38c9d9dd933d6d238d825227cffa668e2839b52879f6619c63eee3b" -dependencies = [ - "futures", - "thiserror 2.0.12", - "wasm-bindgen-futures", -] - [[package]] name = "anyhow" -version = "1.0.96" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "async-broadcast" @@ -255,51 +238,12 @@ 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 = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "attribute-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0053e96dd3bec5b4879c23a138d6ef26f2cb936c9cdc96274ac2b9ed44b5bb54" -dependencies = [ - "attribute-derive-macro", - "derive-where", - "manyhow", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "attribute-derive-macro" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463b53ad0fd5b460af4b1915fe045ff4d946d025fb6c4dc3337752eaa980f71b" -dependencies = [ - "collection_literals", - "interpolator", - "manyhow", - "proc-macro-utils", - "proc-macro2", - "quote", - "quote-use", - "syn 2.0.98", -] - [[package]] name = "autocfg" version = "1.4.0" @@ -365,22 +309,17 @@ name = "bkbh" version = "0.1.0" dependencies = [ "chrono", - "console_error_panic_hook", "curl", - "leptos", - "leptos_router", "openssl", "rand 0.8.5", "ring-compat", + "rusqlite", "serde", "serde_json", - "sqlx", "tauri", "tauri-build", "tauri-plugin-fs", "tauri-plugin-opener", - "tauri-plugin-sql", - "tauri-sys", "tokio", ] @@ -405,16 +344,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.2", -] - -[[package]] -name = "block2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d59b4c170e16f0405a2e95aff44432a0d41aa97675f3d52623effe95792a037" -dependencies = [ - "objc2 0.6.0", + "objc2", ] [[package]] @@ -532,7 +462,7 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.11", ] [[package]] @@ -547,9 +477,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.15" +version = "1.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" +checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda" dependencies = [ "shlex", ] @@ -638,23 +568,6 @@ dependencies = [ "objc", ] -[[package]] -name = "codee" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f18d705321923b1a9358e3fc3c57c3b50171196827fc7f5f10b053242aca627" -dependencies = [ - "serde", - "serde_json", - "thiserror 2.0.12", -] - -[[package]] -name = "collection_literals" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186dce98367766de751c42c4f03970fc60fc012296e706ccbb9d5df9b6c1e271" - [[package]] name = "combine" version = "4.6.7" @@ -674,76 +587,18 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "config" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68578f196d2a33ff61b27fae256c3164f65e36382648e30666dde05b8cc9dfdf" -dependencies = [ - "convert_case 0.6.0", - "nom", - "pathdiff", - "serde", - "toml 0.8.20", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - [[package]] name = "const-oid" version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const_format" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "const_str_slice_concat" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f67855af358fcb20fac58f9d714c94e2b228fe5694c1c9b4ead4a366343eda1b" - [[package]] name = "convert_case" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "cookie" version = "0.18.1" @@ -803,21 +658,6 @@ 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" @@ -836,15 +676,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -927,9 +758,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.80+curl-8.12.1" +version = "0.4.78+curl-8.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55f7df2eac63200c3ab25bde3b2268ef2ee56af3d238e76d61f01c3c49bff734" +checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf" dependencies = [ "cc", "libc", @@ -975,20 +806,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "der" version = "0.7.9" @@ -996,7 +813,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", - "pem-rfc7468", "zeroize", ] @@ -1010,24 +826,13 @@ dependencies = [ "serde", ] -[[package]] -name = "derive-where" -version = "1.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "derive_more" version = "0.99.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" dependencies = [ - "convert_case 0.4.0", + "convert_case", "proc-macro2", "quote", "rustc_version", @@ -1041,9 +846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "const-oid", "crypto-common", - "subtle", ] [[package]] @@ -1128,12 +931,6 @@ dependencies = [ "syn 2.0.98", ] -[[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" @@ -1143,12 +940,6 @@ dependencies = [ "serde", ] -[[package]] -name = "drain_filter_polyfill" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408" - [[package]] name = "dtoa" version = "1.0.9" @@ -1197,25 +988,6 @@ dependencies = [ "signature", ] -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -dependencies = [ - "serde", -] - -[[package]] -name = "either_of" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169ae1dd00fb612cf27fd069b3b10f325ea60ac551f08e5b931b4413972a847d" -dependencies = [ - "paste", - "pin-project-lite", -] - [[package]] name = "elliptic-curve" version = "0.13.8" @@ -1283,9 +1055,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" @@ -1307,17 +1079,6 @@ dependencies = [ "windows-sys 0.59.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.4.0" @@ -1339,6 +1100,18 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + [[package]] name = "fastrand" version = "2.3.0" @@ -1384,17 +1157,6 @@ dependencies = [ "miniz_oxide", ] -[[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" @@ -1468,21 +1230,6 @@ 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-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - [[package]] name = "futures-channel" version = "0.3.31" @@ -1490,7 +1237,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", - "futures-sink", ] [[package]] @@ -1508,18 +1254,6 @@ dependencies = [ "futures-core", "futures-task", "futures-util", - "num_cpus", -] - -[[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]] @@ -1570,7 +1304,6 @@ 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", @@ -1828,40 +1561,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" -[[package]] -name = "gloo-net" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils", - "http", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror 1.0.69", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "gloo-utils" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "gobject-sys" version = "0.18.0" @@ -1936,32 +1635,18 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "guardian" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17e2ac29387b1aa07a1e448f7bb4f35b500787971e965b02842b900afa5c8f6f" - [[package]] name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - [[package]] name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ - "allocator-api2", - "equivalent", "foldhash", ] @@ -1986,12 +1671,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - [[package]] name = "hermit-abi" version = "0.4.0" @@ -2004,42 +1683,6 @@ 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.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "html-escape" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" -dependencies = [ - "utf8-width", -] - [[package]] name = "html5ever" version = "0.26.0" @@ -2094,20 +1737,6 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" -[[package]] -name = "hydration_context" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d35485b3dcbf7e044b8f28c73f04f13e7b509c2466fd10cb2a8a447e38f8a93a" -dependencies = [ - "futures", - "once_cell", - "or_poisoned", - "pin-project-lite", - "serde", - "throw_error", -] - [[package]] name = "hyper" version = "1.6.0" @@ -2373,12 +2002,6 @@ dependencies = [ "cfb", ] -[[package]] -name = "interpolator" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8" - [[package]] name = "ipnet" version = "2.11.0" @@ -2404,15 +2027,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "0.4.8" @@ -2531,169 +2145,6 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] - -[[package]] -name = "leptos" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88613d81f70f4e267473b2ee107e1ee70cf765a3c3dfee945929c8e9c520b957" -dependencies = [ - "any_spawner", - "cfg-if", - "either_of", - "futures", - "getrandom 0.2.15", - "hydration_context", - "leptos_config", - "leptos_dom", - "leptos_hot_reload", - "leptos_macro", - "leptos_server", - "oco_ref", - "or_poisoned", - "paste", - "reactive_graph", - "rustc-hash", - "send_wrapper", - "serde", - "serde_qs", - "server_fn", - "slotmap", - "tachys", - "thiserror 2.0.12", - "throw_error", - "typed-builder", - "typed-builder-macro", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "leptos_config" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4172cfee12576224775ccfbb9d3e76625017a8b4207c4641a2f9b96a70e6d524" -dependencies = [ - "config", - "regex", - "serde", - "thiserror 2.0.12", - "typed-builder", -] - -[[package]] -name = "leptos_dom" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41f6dc3ddaa09d876d7015f08f4f3905787da4ea5460cef130c365419483a89" -dependencies = [ - "js-sys", - "or_poisoned", - "reactive_graph", - "send_wrapper", - "tachys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "leptos_hot_reload" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f5c961e5d9b2aa6deab39d5d842272e8b1b165744b5caf674770d5cf0daa04" -dependencies = [ - "anyhow", - "camino", - "indexmap 2.7.1", - "parking_lot", - "proc-macro2", - "quote", - "rstml", - "serde", - "syn 2.0.98", - "walkdir", -] - -[[package]] -name = "leptos_macro" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b9165909eabb02188a4b33b0ab6acff408bdf440018bf65b30bba0d38d61b19" -dependencies = [ - "attribute-derive", - "cfg-if", - "convert_case 0.6.0", - "html-escape", - "itertools", - "leptos_hot_reload", - "prettyplease", - "proc-macro-error2", - "proc-macro2", - "quote", - "rstml", - "server_fn_macro", - "syn 2.0.98", - "uuid", -] - -[[package]] -name = "leptos_router" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83cf6033f987f366be6ffa556ee22fa6f9f433cbffd173826fd67327c3ae7ed" -dependencies = [ - "any_spawner", - "either_of", - "futures", - "gloo-net", - "js-sys", - "leptos", - "leptos_router_macro", - "once_cell", - "or_poisoned", - "reactive_graph", - "send_wrapper", - "tachys", - "thiserror 2.0.12", - "url", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "leptos_router_macro" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f580227933b49028cd3b6d7cd29ab7c6d30f9777cf0ac774eda2aab000a912" -dependencies = [ - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "leptos_server" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee9ed4526484b17561bc8ce1532c613e37be2c01788fed3d1c4104db674dd9" -dependencies = [ - "any_spawner", - "base64 0.22.1", - "codee", - "futures", - "hydration_context", - "or_poisoned", - "reactive_graph", - "send_wrapper", - "serde", - "serde_json", - "server_fn", - "tachys", -] [[package]] name = "libappindicator" @@ -2735,12 +2186,6 @@ 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" @@ -2753,9 +2198,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.30.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +checksum = "ad8935b44e7c13394a179a438e0cebba0fe08fe01b54f152e29a93b5cf993fd4" dependencies = [ "cc", "pkg-config", @@ -2774,12 +2219,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linear-map" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -2804,9 +2243,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.26" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "mac" @@ -2823,29 +2262,6 @@ dependencies = [ "libc", ] -[[package]] -name = "manyhow" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b33efb3ca6d3b07393750d4030418d594ab1139cee518f0dc88db70fec873587" -dependencies = [ - "manyhow-macros", - "proc-macro2", - "quote", - "syn 2.0.98", -] - -[[package]] -name = "manyhow-macros" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fce34d199b78b6e6073abf984c9cf5fd3e9330145a93ee0738a7443e371495" -dependencies = [ - "proc-macro-utils", - "proc-macro2", - "quote", -] - [[package]] name = "markup5ever" version = "0.11.0" @@ -2866,16 +2282,6 @@ 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" @@ -2897,17 +2303,11 @@ 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.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", "simd-adler32", @@ -2934,9 +2334,9 @@ dependencies = [ "dpi", "gtk", "keyboard-types", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", "png", "serde", @@ -2980,12 +2380,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "next_tuple" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60993920e071b0c9b66f14e2b32740a4e27ffc82854dcd72035887f336a09a28" - [[package]] name = "nix" version = "0.29.0" @@ -3005,59 +2399,12 @@ 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-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" @@ -3065,17 +2412,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", ] [[package]] @@ -3127,15 +2463,6 @@ dependencies = [ "objc2-encode", ] -[[package]] -name = "objc2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3531f65190d9cff863b77a99857e74c314dd16bf56c538c4b57c7cbc3f3a6e59" -dependencies = [ - "objc2-encode", -] - [[package]] name = "objc2-app-kit" version = "0.2.2" @@ -3143,27 +2470,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", + "block2", "libc", - "objc2 0.5.2", + "objc2", "objc2-core-data", "objc2-core-image", - "objc2-foundation 0.2.2", + "objc2-foundation", "objc2-quartz-core", ] -[[package]] -name = "objc2-app-kit" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5906f93257178e2f7ae069efb89fbd6ee94f0592740b5f8a1512ca498814d0fb" -dependencies = [ - "bitflags 2.8.0", - "objc2 0.6.0", - "objc2-core-foundation", - "objc2-foundation 0.3.0", -] - [[package]] name = "objc2-cloud-kit" version = "0.2.2" @@ -3171,10 +2486,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-core-location", - "objc2-foundation 0.2.2", + "objc2-foundation", ] [[package]] @@ -3183,9 +2498,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", + "block2", + "objc2", + "objc2-foundation", ] [[package]] @@ -3195,29 +2510,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daeaf60f25471d26948a1c2f840e3f7d86f4109e3af4e8e4b5cd70c39690d925" -dependencies = [ - "bitflags 2.8.0", - "objc2 0.6.0", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dca602628b65356b6513290a21a6405b4d4027b8b250f0b98dddbb28b7de02" -dependencies = [ - "bitflags 2.8.0", - "objc2-core-foundation", + "block2", + "objc2", + "objc2-foundation", ] [[package]] @@ -3226,9 +2521,9 @@ 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", + "block2", + "objc2", + "objc2-foundation", "objc2-metal", ] @@ -3238,10 +2533,10 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-contacts", - "objc2-foundation 0.2.2", + "objc2-foundation", ] [[package]] @@ -3257,21 +2552,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", + "block2", "libc", - "objc2 0.5.2", -] - -[[package]] -name = "objc2-foundation" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a21c6c9014b82c39515db5b396f91645182611c97d24637cf56ac01e5f8d998" -dependencies = [ - "bitflags 2.8.0", - "block2 0.6.0", - "objc2 0.6.0", - "objc2-core-foundation", + "objc2", ] [[package]] @@ -3280,10 +2563,10 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] @@ -3293,9 +2576,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", + "block2", + "objc2", + "objc2-foundation", ] [[package]] @@ -3305,9 +2588,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", + "block2", + "objc2", + "objc2-foundation", "objc2-metal", ] @@ -3317,8 +2600,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "objc2 0.5.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-foundation", ] [[package]] @@ -3328,13 +2611,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-cloud-kit", "objc2-core-data", "objc2-core-image", "objc2-core-location", - "objc2-foundation 0.2.2", + "objc2-foundation", "objc2-link-presentation", "objc2-quartz-core", "objc2-symbols", @@ -3348,9 +2631,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", + "block2", + "objc2", + "objc2-foundation", ] [[package]] @@ -3360,10 +2643,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-core-location", - "objc2-foundation 0.2.2", + "objc2-foundation", ] [[package]] @@ -3373,10 +2656,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68bc69301064cebefc6c4c90ce9cba69225239e4b8ff99d445a2b5563797da65" dependencies = [ "bitflags 2.8.0", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] @@ -3388,16 +2671,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "oco_ref" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b94982fe39a861561cf67ff17a7849f2cedadbbad960a797634032b7abb998" -dependencies = [ - "serde", - "thiserror 1.0.69", -] - [[package]] name = "once_cell" version = "1.20.3" @@ -3418,9 +2691,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.71" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ "bitflags 2.8.0", "cfg-if", @@ -3450,18 +2723,18 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-src" -version = "300.4.2+3.4.1" +version = "300.4.1+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.106" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -3476,12 +2749,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" -[[package]] -name = "or_poisoned" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c04f5d74368e4d0dfe06c45c8627c81bd7c317d52762d118fb9b3076f6420fd" - [[package]] name = "ordered-stream" version = "0.2.0" @@ -3567,27 +2834,12 @@ 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.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" -[[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" @@ -3728,26 +2980,6 @@ dependencies = [ "siphasher 1.0.1", ] -[[package]] -name = "pin-project" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "pin-project-lite" version = "0.2.16" @@ -3771,17 +3003,6 @@ dependencies = [ "futures-io", ] -[[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" @@ -3832,7 +3053,7 @@ checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi", "pin-project-lite", "rustix", "tracing", @@ -3860,16 +3081,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "prettyplease" -version = "0.2.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" -dependencies = [ - "proc-macro2", - "syn 2.0.98", -] - [[package]] name = "primeorder" version = "0.13.6" @@ -3904,7 +3115,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.22.24", + "toml_edit 0.22.23", ] [[package]] @@ -3931,45 +3142,12 @@ 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.98", -] - [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" -[[package]] -name = "proc-macro-utils" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaf08a13de400bc215877b5bdc088f241b12eb42f0a548d3390dc1c56bb7071" -dependencies = [ - "proc-macro2", - "quote", - "smallvec", -] - [[package]] name = "proc-macro2" version = "1.0.93" @@ -3979,19 +3157,6 @@ 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.98", - "version_check", - "yansi", -] - [[package]] name = "quick-xml" version = "0.32.0" @@ -4014,7 +3179,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror 2.0.12", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -4033,7 +3198,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.11", "tinyvec", "tracing", "web-time", @@ -4041,9 +3206,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.10" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ "cfg_aliases", "libc", @@ -4062,28 +3227,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "quote-use" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9619db1197b497a36178cfc736dc96b271fe918875fbf1344c436a7e93d0321e" -dependencies = [ - "quote", - "quote-use-macros", -] - -[[package]] -name = "quote-use-macros" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82ebfb7faafadc06a7ab141a6f67bcfb24cb8beb158c6fe933f2f035afa99f35" -dependencies = [ - "proc-macro-utils", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "rand" version = "0.7.3" @@ -4171,60 +3314,11 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" -[[package]] -name = "reactive_graph" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9996b4c0f501d64a755ff3dfbe9276e9f834d105d7d45059ad4bd6d2a56477d0" -dependencies = [ - "any_spawner", - "async-lock", - "futures", - "guardian", - "hydration_context", - "or_poisoned", - "pin-project-lite", - "rustc-hash", - "send_wrapper", - "serde", - "slotmap", - "thiserror 2.0.12", - "web-sys", -] - -[[package]] -name = "reactive_stores" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c3d2a20d8edd8ac6628718209f743da86349d7f10a4458304666c2ddfc082e" -dependencies = [ - "guardian", - "itertools", - "or_poisoned", - "paste", - "reactive_graph", - "reactive_stores_macro", - "rustc-hash", -] - -[[package]] -name = "reactive_stores_macro" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d4d8e40112b8ee1424e5ec636fcbc9764c1a099e81f8fa818f6762b43cc10cd" -dependencies = [ - "convert_case 0.6.0", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "redox_syscall" -version = "0.5.9" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags 2.8.0", ] @@ -4248,7 +3342,7 @@ checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 2.0.12", + "thiserror 2.0.11", ] [[package]] @@ -4327,14 +3421,15 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.10" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34b5020fcdea098ef7d95e9f89ec15952123a4a039badd09fabebe9e963e839" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", "getrandom 0.2.15", "libc", + "spin", "untrusted", "windows-sys 0.52.0", ] @@ -4359,38 +3454,17 @@ dependencies = [ ] [[package]] -name = "rsa" -version = "0.9.7" +name = "rusqlite" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519" +checksum = "1c6d5e5acb6f6129fe3f7ba0a7fc77bca1942cb568535e18e7bc40262baf3110" dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle", - "zeroize", -] - -[[package]] -name = "rstml" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61cf4616de7499fc5164570d40ca4e1b24d231c6833a88bff0fe00725080fd56" -dependencies = [ - "derive-where", - "proc-macro2", - "proc-macro2-diagnostics", - "quote", - "syn 2.0.98", - "syn_derive", - "thiserror 2.0.12", + "bitflags 2.8.0", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", ] [[package]] @@ -4429,9 +3503,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "once_cell", "ring", @@ -4575,20 +3649,11 @@ dependencies = [ "serde", ] -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" -dependencies = [ - "futures-core", -] - [[package]] name = "serde" -version = "1.0.218" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] @@ -4604,22 +3669,11 @@ dependencies = [ "typeid", ] -[[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - [[package]] name = "serde_derive" -version = "1.0.218" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -4639,9 +3693,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.139" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa 1.0.14", "memchr", @@ -4649,17 +3703,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_qs" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd34f36fe4c5ba9654417139a9b3a20d2e1de6012ee678ad14d240c22c78d8d6" -dependencies = [ - "percent-encoding", - "serde", - "thiserror 1.0.69", -] - [[package]] name = "serde_repr" version = "0.1.19" @@ -4744,60 +3787,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "server_fn" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "055476c2a42c9a98a69e3f0ce29b86aa3acbdef19a84e0523330f095097defcf" -dependencies = [ - "bytes", - "const_format", - "dashmap", - "futures", - "gloo-net", - "http", - "js-sys", - "once_cell", - "pin-project-lite", - "send_wrapper", - "serde", - "serde_json", - "serde_qs", - "server_fn_macro_default", - "thiserror 2.0.12", - "throw_error", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e65737414a9583ce3b43dddd4e5dfb33fe385a6933ed79a9b539b8eb0767cd07" -dependencies = [ - "const_format", - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn 2.0.98", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro_default" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "563909a43390341403ab76fbc33fde306712613da02244e692eabeae8ffde949" -dependencies = [ - "server_fn_macro", - "syn 2.0.98", -] - [[package]] name = "servo_arc" version = "0.1.1" @@ -4808,17 +3797,6 @@ 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" @@ -4851,7 +3829,6 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest", "rand_core 0.6.4", ] @@ -4882,23 +3859,11 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "version_check", -] - [[package]] name = "smallvec" -version = "1.14.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" -dependencies = [ - "serde", -] +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -4922,8 +3887,8 @@ dependencies = [ "foreign-types 0.5.0", "js-sys", "log", - "objc2 0.5.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-foundation", "objc2-quartz-core", "raw-window-handle", "redox_syscall", @@ -4963,9 +3928,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "spki" @@ -4977,197 +3939,6 @@ dependencies = [ "der", ] -[[package]] -name = "sqlx" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" -dependencies = [ - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashbrown 0.15.2", - "hashlink", - "indexmap 2.7.1", - "log", - "memchr", - "once_cell", - "percent-encoding", - "serde", - "serde_json", - "sha2", - "smallvec", - "thiserror 2.0.12", - "time", - "tokio", - "tokio-stream", - "tracing", - "url", -] - -[[package]] -name = "sqlx-macros" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn 2.0.98", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" -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.98", - "tempfile", - "tokio", - "url", -] - -[[package]] -name = "sqlx-mysql" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" -dependencies = [ - "atoi", - "base64 0.22.1", - "bitflags 2.8.0", - "byteorder", - "bytes", - "crc", - "digest", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array", - "hex", - "hkdf", - "hmac", - "itoa 1.0.14", - "log", - "md-5", - "memchr", - "once_cell", - "percent-encoding", - "rand 0.8.5", - "rsa", - "serde", - "sha1", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "time", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-postgres" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" -dependencies = [ - "atoi", - "base64 0.22.1", - "bitflags 2.8.0", - "byteorder", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa 1.0.14", - "log", - "md-5", - "memchr", - "once_cell", - "rand 0.8.5", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "time", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" -dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "serde_urlencoded", - "sqlx-core", - "time", - "tracing", - "url", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -5195,9 +3966,9 @@ dependencies = [ [[package]] name = "string_cache_codegen" -version = "0.5.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" +checksum = "244292f3441c89febe5b5bdfbb6863aeaf4f64da810ea3050fd927b27b8d92ce" dependencies = [ "phf_generator 0.11.3", "phf_shared 0.11.3", @@ -5205,17 +3976,6 @@ 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" @@ -5261,18 +4021,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb066a04799e45f5d582e8fc6ec8e6d6896040d00898eb4e6a835196815b219" -dependencies = [ - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "sync_wrapper" version = "1.0.2" @@ -5306,40 +4054,6 @@ dependencies = [ "version-compare", ] -[[package]] -name = "tachys" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c05fed41ed4e334257090500510df21bb1611680c0cfd3be14acec7ffdf3d95" -dependencies = [ - "any_spawner", - "async-trait", - "const_str_slice_concat", - "drain_filter_polyfill", - "dyn-clone", - "either_of", - "futures", - "html-escape", - "indexmap 2.7.1", - "itertools", - "js-sys", - "linear-map", - "next_tuple", - "oco_ref", - "once_cell", - "or_poisoned", - "parking_lot", - "paste", - "reactive_graph", - "reactive_stores", - "rustc-hash", - "send_wrapper", - "slotmap", - "throw_error", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "tao" version = "0.31.1" @@ -5417,9 +4131,9 @@ dependencies = [ "log", "mime", "muda", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", "percent-encoding", "plist", "raw-window-handle", @@ -5434,7 +4148,7 @@ dependencies = [ "tauri-runtime", "tauri-runtime-wry", "tauri-utils", - "thiserror 2.0.12", + "thiserror 2.0.11", "tokio", "tray-icon", "url", @@ -5487,7 +4201,7 @@ dependencies = [ "sha2", "syn 2.0.98", "tauri-utils", - "thiserror 2.0.12", + "thiserror 2.0.11", "time", "url", "uuid", @@ -5542,7 +4256,7 @@ dependencies = [ "tauri", "tauri-plugin", "tauri-utils", - "thiserror 2.0.12", + "thiserror 2.0.11", "toml 0.8.20", "url", "uuid", @@ -5556,39 +4270,20 @@ checksum = "635ed7c580dc3cdc61c94097d38ef517d749ffc0141c806d904e68e4b0cf1c2a" dependencies = [ "dunce", "glob", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2-app-kit", + "objc2-foundation", "open", "schemars", "serde", "serde_json", "tauri", "tauri-plugin", - "thiserror 2.0.12", + "thiserror 2.0.11", "url", "windows", "zbus", ] -[[package]] -name = "tauri-plugin-sql" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6ccca89ded6bd2ff49fdad9a5b34bcd624aa223fdfddbab83c85706ee3a4948" -dependencies = [ - "futures-core", - "indexmap 2.7.1", - "log", - "serde", - "serde_json", - "sqlx", - "tauri", - "tauri-plugin", - "thiserror 2.0.12", - "time", - "tokio", -] - [[package]] name = "tauri-runtime" version = "2.3.0" @@ -5603,7 +4298,7 @@ dependencies = [ "serde", "serde_json", "tauri-utils", - "thiserror 2.0.12", + "thiserror 2.0.11", "url", "windows", ] @@ -5618,9 +4313,9 @@ dependencies = [ "http", "jni", "log", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", "percent-encoding", "raw-window-handle", "softbuffer", @@ -5634,23 +4329,6 @@ dependencies = [ "wry", ] -[[package]] -name = "tauri-sys" -version = "0.2.0" -source = "git+ssh://git@gitea.mathebau.de:3022/Peter/tauri-sys.git?branch=v2#1cf83b65dfbf51a7dfd63821867a9356b3f61416" -dependencies = [ - "derive_more", - "futures", - "js-sys", - "log", - "serde", - "serde-wasm-bindgen", - "serde_repr", - "thiserror 1.0.69", - "wasm-bindgen", - "wasm-bindgen-futures", -] - [[package]] name = "tauri-utils" version = "2.1.1" @@ -5680,7 +4358,7 @@ dependencies = [ "serde_json", "serde_with", "swift-rs", - "thiserror 2.0.12", + "thiserror 2.0.11", "toml 0.8.20", "url", "urlpattern", @@ -5700,9 +4378,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.17.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand", @@ -5740,11 +4418,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.11", ] [[package]] @@ -5760,24 +4438,15 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", "syn 2.0.98", ] -[[package]] -name = "throw_error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ef8bf264c6ae02a065a4a16553283f0656bd6266fc1fcb09fd2e6b5e91427b" -dependencies = [ - "pin-project-lite", -] - [[package]] name = "time" version = "0.3.37" @@ -5859,17 +4528,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.13" @@ -5904,7 +4562,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.24", + "toml_edit 0.22.23", ] [[package]] @@ -5942,15 +4600,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.24" +version = "0.22.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" dependencies = [ "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", - "winnow 0.7.3", + "winnow 0.7.1", ] [[package]] @@ -5986,7 +4644,6 @@ version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -6014,23 +4671,22 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.19.3" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadd75f5002e2513eaa19b2365f533090cc3e93abd38788452d9ea85cff7b48a" +checksum = "d48a05076dd272615d03033bf04f480199f7d1b66a8ac64d75c625fc4a70c06b" dependencies = [ + "core-graphics", "crossbeam-channel", - "dirs 6.0.0", + "dirs 5.0.1", "libappindicator", "muda", - "objc2 0.6.0", - "objc2-app-kit 0.3.0", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation 0.3.0", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", "png", "serde", - "thiserror 2.0.12", + "thiserror 1.0.69", "windows-sys 0.59.0", ] @@ -6040,26 +4696,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "typed-builder" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e14ed59dc8b7b26cacb2a92bad2e8b1f098806063898ab42a3bd121d7d45e75" -dependencies = [ - "typed-builder-macro", -] - -[[package]] -name = "typed-builder-macro" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560b82d656506509d43abe30e0ba64c56b1953ab3d4fe7ba5902747a7a3cedd5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "typeid" version = "1.0.2" @@ -6068,9 +4704,9 @@ checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" [[package]] name = "typenum" -version = "1.18.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "uds_windows" @@ -6124,32 +4760,11 @@ dependencies = [ "unic-common", ] -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - [[package]] name = "unicode-ident" -version = "1.0.17" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" @@ -6157,12 +4772,6 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "untrusted" version = "0.9.0" @@ -6205,12 +4814,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" -[[package]] -name = "utf8-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -6219,9 +4822,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.14.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d59ca99a559661b96bf898d8fce28ed87935fd2bea9f05983c1464dd6c71b1" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ "getrandom 0.3.1", "serde", @@ -6257,9 +4860,9 @@ dependencies = [ [[package]] name = "vswhom-sys" -version = "0.1.3" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" dependencies = [ "cc", "libc", @@ -6305,12 +4908,6 @@ dependencies = [ "wit-bindgen-rt", ] -[[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.100" @@ -6504,16 +5101,6 @@ 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" @@ -6547,13 +5134,13 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window-vibrancy" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831ad7678290beae36be6f9fad9234139c7f00f3b536347de7745621716be82d" +checksum = "3ea403deff7b51fff19e261330f71608ff2cdef5721d72b64180bb95be7c4150" dependencies = [ - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", "raw-window-handle", "windows-sys 0.59.0", "windows-version", @@ -6613,12 +5200,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "windows-link" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" - [[package]] name = "windows-registry" version = "0.2.0" @@ -6724,7 +5305,7 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", @@ -6732,12 +5313,28 @@ dependencies = [ ] [[package]] -name = "windows-version" -version = "0.1.3" +name = "windows-targets" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bfbcc4996dd183ff1376a20ade1242da0d2dcaff83cc76710a588d24fd4c5db" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" dependencies = [ - "windows-link", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows-version" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c12476c23a74725c539b24eae8bfc0dac4029c39cdb561d9f23616accd4ae26d" +dependencies = [ + "windows-targets 0.53.0", ] [[package]] @@ -6758,6 +5355,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -6776,6 +5379,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -6794,12 +5403,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -6818,6 +5439,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -6836,6 +5463,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -6854,6 +5487,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -6872,6 +5511,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" version = "0.5.40" @@ -6883,9 +5528,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.3" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1" +checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f" dependencies = [ "memchr", ] @@ -6928,7 +5573,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2e33c08b174442ff80d5c791020696f9f8b4e4a87b8cfc7494aad6167ec44e1" dependencies = [ "base64 0.22.1", - "block2 0.5.1", + "block2", "cookie", "crossbeam-channel", "dpi", @@ -6942,9 +5587,9 @@ dependencies = [ "kuchikiki", "libc", "ndk", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", "objc2-ui-kit", "objc2-web-kit", "once_cell", @@ -6953,7 +5598,7 @@ dependencies = [ "sha2", "soup3", "tao-macros", - "thiserror 2.0.12", + "thiserror 2.0.11", "url", "webkit2gtk", "webkit2gtk-sys", @@ -6995,18 +5640,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "xxhash-rust" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" - -[[package]] -name = "yansi" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" - [[package]] name = "yoke" version = "0.7.5" @@ -7060,7 +5693,7 @@ dependencies = [ "tracing", "uds_windows", "windows-sys 0.59.0", - "winnow 0.7.3", + "winnow 0.7.1", "xdg-home", "zbus_macros", "zbus_names", @@ -7090,7 +5723,7 @@ checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" dependencies = [ "serde", "static_assertions", - "winnow 0.7.3", + "winnow 0.7.1", "zvariant", ] @@ -7174,7 +5807,7 @@ dependencies = [ "enumflags2", "serde", "static_assertions", - "winnow 0.7.3", + "winnow 0.7.1", "zvariant_derive", "zvariant_utils", ] @@ -7203,5 +5836,5 @@ dependencies = [ "serde", "static_assertions", "syn 2.0.98", - "winnow 0.7.3", + "winnow 0.7.1", ] diff --git a/Cargo.toml b/Cargo.toml index 2260939..c51920e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,55 +1,32 @@ [package] -authors = ["Bianca Fürstenau"] -description = "Buchhaltung für „Darmstadt sagt Nein zur Bezahlkarte!“" -edition = "2024" name = "bkbh" version = "0.1.0" +description = "Buchhaltung für „Darmstadt sagt Nein zur Bezahlkarte!“" +authors = ["Bianca Fürstenau"] +edition = "2021" -[features] -leptos = [] -server = [ - "dep:tauri", - "dep:tauri-plugin-opener", - "dep:tauri-plugin-fs", - "dep:tauri-plugin-sql", - "dep:sqlx", - "dep:rand", - "dep:chrono", - "dep:tokio", - "dep:curl", - "dep:openssl", - "dep:ring-compat", -] -tauri = ["server"] +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] +# The `_lib` suffix may seem redundant but it is necessary +# to make the lib name unique and wouldn't conflict with the bin name. +# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519 +name = "bkbh_lib" crate-type = ["staticlib", "cdylib", "rlib"] -name = "bkbh" [build-dependencies] -tauri-build = { version = "2", features = ["config-toml"] } +tauri-build = { version = "2", features = [] } [dependencies] -console_error_panic_hook = { version = "0.1.7" } -leptos = { version = "^0.7", features = ["csr"] } -leptos_router = { version = "^0.7" } +tauri = { version = "2", features = [] } +tauri-plugin-opener = "2" serde = { version = "1", features = ["derive"] } -serde_json = { version = "1" } -tauri-sys = { git = "ssh://git@gitea.mathebau.de:3022/Peter/tauri-sys.git", branch = "v2", features = [ - "core", -] } - -chrono = { version = "^0.4", optional = true } -curl = { version = "^0.4", optional = true } -openssl = { version = "^0.10", features = ["vendored"], optional = true } -rand = { version = "^0.8", optional = true } -ring-compat = { version = "^0.8", features = [ - "signature", - "rand_core", -], optional = true } -sqlx = { version = "^0.8", features = ["sqlite", "runtime-tokio"], optional = true } -tauri = { version = "2", features = ["config-toml"], optional = true } -tauri-plugin-fs = { version = "2", optional = true } -tauri-plugin-opener = { version = "2", optional = true } -tauri-plugin-sql = { version = "2", features = ["sqlite"], optional = true } -tokio = { version = "^1.43", optional = true } +serde_json = "1" +rusqlite = {version = "^0.33", features = ["backup", "bundled"] } +rand = {version = "^0.8"} +chrono = {version = "^0.4"} +tokio = {version = "^1.43"} +tauri-plugin-fs = {version = "2"} +curl = {version = "^0.4"} +openssl = {version = "^0.10", features = ["vendored"] } +ring-compat = {version = "^0.8", features = ["signature", "rand_core"] } diff --git a/README.md b/README.md index a40414b..4a8937b 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,8 @@ # Setup - -Clone the repository -and in the root directory -of the repo, -execute - ```bash -cargo tauri icon assets/icon.svg -``` - -and write the Nextcloud token -into `src/server/cloud_user.txt`. - -## Android - -To enable android development, -additionally execute - -```bash -rm gen/android/app/build.gradle.kts -NDK_HOME= ANDROID_HOME= cargo tauri android init +git clone … +cargo tauri android init git restore gen/android/app/build.gradle.kts -``` - -and set up `gen/android/keystore.properties`, -e.g. following https://v2.tauri.app/distribute/sign/android/. - -# Run - -## Linux Development - -Tauri does not seem to support -specifying the binary -to be run in a config, -so we have to do it -on the command line. - -```bash -cargo tauri dev -- --bin tauri -``` - -## Android Development - -Tauri does not seem to support -specifying the Cargo features -of the library for mobile -in a config, -so we have to do it -on the command line. - -```bash -NDK_HOME= ANDROID_HOME= cargo tauri android dev --features tauri +cargo tauri img/icon.svg +# Set up gen/android/keystore.properties ``` diff --git a/Tauri.toml b/Tauri.toml deleted file mode 100644 index 2a12b6b..0000000 --- a/Tauri.toml +++ /dev/null @@ -1,26 +0,0 @@ -"$schema" = "https://schema.tauri.app/config/2" -identifier = "de.hessensagtnein.darmstadt.buchhaltung" -productName = "Nein!" -version = "0.1.0" - -[build] -before-build-command = "cd bkbh && trunk build" -before-dev-command = "cd bkbh && trunk serve" -dev-url = "http://localhost:1420" -features = ["tauri"] -frontend-dist = "www" - -[app] -windows = [{ title = "Nein zur Bezahlkarte!", width = 800, height = 600 }] -with-global-tauri = true - -[bundle] -active = true -icon = [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico", -] -targets = "all" diff --git a/Trunk.toml b/Trunk.toml deleted file mode 100644 index 4cab13b..0000000 --- a/Trunk.toml +++ /dev/null @@ -1,9 +0,0 @@ -[build] -dist = "www" -html_output = "index.html" -target = "trunk.html" - -[serve] -open = false -port = 1420 -ws_protocol = "ws" diff --git a/build.rs b/build.rs index 9e3463b..c1ea373 100644 --- a/build.rs +++ b/build.rs @@ -1,7 +1,3 @@ fn main() { - if cfg!(feature = "tauri") { - tauri_build::build(); - } else { - println!("cargo::rustc-check-cfg=cfg(mobile)"); - } + tauri_build::build() } diff --git a/capabilities/Default.toml b/capabilities/Default.toml deleted file mode 100644 index e17bc89..0000000 --- a/capabilities/Default.toml +++ /dev/null @@ -1,11 +0,0 @@ -"$schema" = "../gen/schemas/desktop-schema.json" -description = "Capability for the main window" -identifier = "default" -permissions = [ - "core:default", - "opener:default", - "fs:default", - "sql:default", - "sql:allow-execute", -] -windows = ["main"] diff --git a/capabilities/default.json b/capabilities/default.json new file mode 100644 index 0000000..d93117c --- /dev/null +++ b/capabilities/default.json @@ -0,0 +1,13 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "Capability for the main window", + "windows": [ + "main" + ], + "permissions": [ + "core:default", + "opener:default", + "fs:default" + ] +} diff --git a/gen/android/app/build.gradle.kts b/gen/android/app/build.gradle.kts index 86e6c7e..397ab02 100644 --- a/gen/android/app/build.gradle.kts +++ b/gen/android/app/build.gradle.kts @@ -16,10 +16,10 @@ val tauriProperties = Properties().apply { android { compileSdk = 34 - namespace = "de.hessensagtnein.darmstadt.buchhaltung" + namespace = "de.mathebau.bkbh" defaultConfig { manifestPlaceholders["usesCleartextTraffic"] = "false" - applicationId = "de.hessensagtnein.darmstadt.buchhaltung" + applicationId = "de.mathebau.bkbh" minSdk = 24 targetSdk = 34 versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt() diff --git a/assets/icon.svg b/icon.svg similarity index 100% rename from assets/icon.svg rename to icon.svg diff --git a/leptosfmt.toml b/leptosfmt.toml deleted file mode 100644 index adbe220..0000000 --- a/leptosfmt.toml +++ /dev/null @@ -1,4 +0,0 @@ -indentation_style = "Tabs" -max_width = 80 -newline_style = "Unix" -tab_spaces = 8 diff --git a/migrations/0000_init.sql b/migrations/0000_init.sql deleted file mode 100644 index 1aa1325..0000000 --- a/migrations/0000_init.sql +++ /dev/null @@ -1,29 +0,0 @@ -CREATE TABLE `swap` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `acc` INTEGER NOT NULL, - `voucher` INTEGER NOT NULL, - `storno` INTEGER NOT NULL, - `timestamp` INTEGER NOT NULL -); - -CREATE TABLE `voucher_type` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `store` INTEGER NOT NULL, - `value` INTEGER NOT NULL, - UNIQUE (`store`, `value`) -); - -CREATE TABLE `inventory` ( - `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - `acc` INTEGER NOT NULL, - `cash` INTEGER NOT NULL, - `timestamp` INTEGER NOT NULL, - UNIQUE (`acc`, `timestamp`) -); - -CREATE TABLE `voucher_inventory` ( - `inventory` INTEGER NOT NULL, - `voucher` INTEGER NOT NULL, - `count` INTEGER NOT NULL, - PRIMARY KEY (`inventory`, `voucher`) -); diff --git a/rust-analyzer.toml b/rust-analyzer.toml deleted file mode 100644 index 9eab123..0000000 --- a/rust-analyzer.toml +++ /dev/null @@ -1,2 +0,0 @@ -[rustfmt] -overrideCommand = ["leptosfmt", "--stdin", "--rustfmt"] diff --git a/rustfmt.toml b/rustfmt.toml index bfca9ce..f4b1b83 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,4 +1,3 @@ -edition = "2024" -hard_tabs = true -max_width = 80 +max_width = 80 +hard_tabs = true tab_spaces = 8 diff --git a/src/server/app_state.rs b/src/app_state.rs similarity index 56% rename from src/server/app_state.rs rename to src/app_state.rs index 0814efa..f2e7ce0 100644 --- a/src/server/app_state.rs +++ b/src/app_state.rs @@ -1,7 +1,7 @@ use rand::prelude::*; use ring_compat::signature::ed25519::SigningKey; +use rusqlite::Connection; use tokio::sync::Mutex; -use sqlx::sqlite::SqliteConnection as Connection; pub struct AppState { pub db: Connection, @@ -12,11 +12,23 @@ pub struct AppState { impl AppState { pub fn new() -> Self { - todo!(); - let db = unimplemented!(); + let db = Connection::open_in_memory() + .expect("Failed to create DB."); + db.execute( + "CREATE TABLE swap ( + rand INTEGER, + store INTEGER, + account INTEGER, + submitter INTEGER, + time INTEGER, + cancellation BOOL + )", + (), + ) + .unwrap(); let mut rng = rand::thread_rng(); let last_sync = i64::MIN; - let id = rng.r#gen(); + let id = rng.gen(); let key = SigningKey::generate(&mut rng); AppState { db, diff --git a/src/bin/leptos.rs b/src/bin/leptos.rs deleted file mode 100644 index 69fd0a8..0000000 --- a/src/bin/leptos.rs +++ /dev/null @@ -1,7 +0,0 @@ -use bkbh::leptos::cafe::Cafe; -use leptos::prelude::*; - -fn main() { - console_error_panic_hook::set_once(); - leptos::mount::mount_to_body(|| view! { }); -} diff --git a/src/commands.rs b/src/commands.rs deleted file mode 100644 index 10fcf06..0000000 --- a/src/commands.rs +++ /dev/null @@ -1,23 +0,0 @@ -use crate::types::*; -use std::collections::HashMap; -use tauri_sys::core::invoke; -use tauri_sys::Error; - -#[derive(serde::Serialize)] -pub struct Swap { - store: Store, - acc: i64, -} -pub async fn swap(store: Store, acc: i64) -> Result<(), Error> { - let args = Swap { store, acc }; - invoke("swap", &args).await -} - -#[derive(serde::Serialize)] -pub struct Inventory { - data: HashMap, -} -pub async fn inventory(data: HashMap) -> Result<(), Error> { - let args = Inventory { data }; - invoke("inventory", &args).await -} diff --git a/src/server/data_door.rs b/src/data_door.rs similarity index 76% rename from src/server/data_door.rs rename to src/data_door.rs index 9ebb419..a96441e 100644 --- a/src/server/data_door.rs +++ b/src/data_door.rs @@ -1,11 +1,12 @@ use chrono::offset::Utc; use curl::{easy, easy::Easy2}; use rand::prelude::*; +use rusqlite::{Connection, DatabaseName}; use ring_compat::signature::ed25519::SigningKey; use tauri::{Manager, State}; use tokio::sync::Mutex; -use crate::server::app_state::AppState; +use crate::app_state::AppState; #[derive(Debug)] struct Collector(Vec, Vec, usize); @@ -60,25 +61,23 @@ fn data_client(file: &str) -> Result, ()> { "https://cloud.seebruecke.org/public.php/webdav/data/{}", file ); - client.url(&url) - .map_err(|e| println!("{:?}", e))?; - client.username(include_str!("cloud_user.txt")) - .map_err(|e| println!("{:?}", e))?; + client.url(&url).map_err(|_| ())?; + client.username(include_str!("cloud_user.txt")).map_err(|_| ())?; client.http_auth(easy::Auth::new().auto(true)) - .map_err(|e| println!("{:?}", e))?; + .map_err(|_| ())?; client.ssl_cainfo_blob(include_bytes!("isrg-root-x1.pem")) - .map_err(|e| println!("{:?}", e))?; + .map_err(|_| ())?; Ok(client) } fn put_client(file: &str, payload: &[u8]) -> Result, ()> { let mut client = data_client(&file)?; - client.put(true) - .map_err(|e| println!("{:?}", e))?; + client.put(true).map_err(|_| ())?; client.get_mut().1.extend_from_slice(payload); client.in_filesize(payload.len() as u64) .map_err(|e| println!("{:?}", e))?; - client.upload(true).map_err(|e| println!("{:?}", e))?; + client.upload(true) + .map_err(|e| println!("{:?}", e))?; Ok(client) } @@ -87,10 +86,8 @@ pub async fn pull_data( _state: State<'_, Mutex>, ) -> Result { let mut client = data_client("")?; - client.custom_request("PROPFIND") - .map_err(|e| println!("{:?}", e))?; - client.perform() - .map_err(|e| println!("{:?}", e))?; + client.custom_request("PROPFIND").map_err(|_| ())?; + client.perform().map_err(|_| ())?; let content = &client.get_ref().0; Ok(String::from_utf8_lossy(content).to_string()) } @@ -99,7 +96,22 @@ async fn push_key(id: &u64, key: &SigningKey) -> Result<(), ()> { let file = format!("{:016X}.key", id); let v_key = key.verifying_key(); let client = put_client(&file, v_key.as_ref())?; - let _perf = client.perform().map_err(|e| println!("{:?}", e))?; + let _perf = client.perform() + .map_err(|e| println!("{:?}", e))?; + Ok(()) +} + +fn push_db(id: &u64, db: &Connection, app: tauri::AppHandle) -> Result<(), ()> { + let filename = format!("{:016X}.sqlite", id); + let path = app.path().resolve(&filename, tauri::path::BaseDirectory::Temp) + .map_err(|e| println!("{:?}", e))?; + db.backup(DatabaseName::Main, &path, None) + .map_err(|e| println!("{:?}", e))?; + let buf = std::fs::read(&path) + .map_err(|e| println!("{:?}", e))?; + let client = put_client(&filename, buf.as_ref())?; + let _perf = client.perform() + .map_err(|e| println!("{:?}", e))?; Ok(()) } @@ -110,5 +122,6 @@ pub async fn push_data( ) -> Result<(), ()> { let state = state.lock().await; push_key(&state.id, &state.key).await?; + push_db(&state.id, &state.db, app)?; Ok(()) } diff --git a/src/server/isrg-root-x1.pem b/src/isrg-root-x1.pem similarity index 100% rename from src/server/isrg-root-x1.pem rename to src/isrg-root-x1.pem diff --git a/src/leptos/angel.rs b/src/leptos/angel.rs deleted file mode 100644 index ae56667..0000000 --- a/src/leptos/angel.rs +++ /dev/null @@ -1,8 +0,0 @@ -use leptos::prelude::*; - -#[component] -pub fn Angel() -> impl IntoView { - view! { -

Hi

- } -} diff --git a/src/leptos/cafe.rs b/src/leptos/cafe.rs deleted file mode 100644 index ab02620..0000000 --- a/src/leptos/cafe.rs +++ /dev/null @@ -1,182 +0,0 @@ -use crate::commands::*; -use crate::types::*; -use leptos::form::FromFormData; -use leptos::prelude::*; -use leptos::task::spawn_local; -use leptos::web_sys::FormData; -use std::collections::HashMap; - -#[component] -pub fn Cafe() -> impl IntoView { - let acc = signal(Account::Sumpf); - view! { - - - } -} - -#[component] -fn Reception(acc: ReadSignal) -> impl IntoView { - view! { -
-

- {move || format!("{}", acc.get())} -

-
- - - - - - -
-
- } -} - -#[component] -fn SwapButton(store: Store) -> impl IntoView { - view! { - - } -} - -#[component] -fn StoreInput(store: Store) -> impl IntoView { - let txt = format!("{}", Into::::into(&store)); - view! { -
- - -
- } -} - -#[component] -fn CashInput(value: RwSignal) -> impl IntoView { - let txt = "cash"; - view! { -
- - -
- } -} - -#[component] -fn AccRadio(acc: Account) -> impl IntoView { - let txt = format!("{}", Into::::into(&acc)); - let id = format!("acc-{}", txt); - view! { -
- - -
- } -} - -#[component] -fn SubmitButton() -> impl IntoView { - view! { - - } -} - -#[component] -fn InvForm() -> impl IntoView { - let cash = RwSignal::new(String::from("0.00")); - view! { -
- - - - - - - - - - - } -} diff --git a/src/leptos/mod.rs b/src/leptos/mod.rs deleted file mode 100644 index 016f94c..0000000 --- a/src/leptos/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod angel; -pub mod cafe; -pub mod store; diff --git a/src/leptos/store.rs b/src/leptos/store.rs deleted file mode 100644 index d33f7ca..0000000 --- a/src/leptos/store.rs +++ /dev/null @@ -1,14 +0,0 @@ -use crate::types::*; -use leptos::prelude::*; - -#[component] -pub fn Logo(store: Store) -> impl IntoView { - view! { - ::into(&store)) - class="logo" - // FIXME: Implement fmt::Display for Store - alt=format!("{:?}", store) - /> - } -} diff --git a/src/lib.rs b/src/lib.rs index 32bb1c4..b21e1f0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,18 +1,184 @@ -pub mod commands; -#[cfg(feature = "leptos")] -pub mod leptos; -#[cfg(feature = "server")] -pub mod server; -pub mod types; +use chrono::offset::Utc; +use rusqlite::{types::ToSqlOutput, ToSql}; +use tauri::{Manager, State}; +use tauri_plugin_fs::FsExt; +use tokio::sync::Mutex; +use std::collections::HashMap; + +mod app_state; +mod data_door; + +use app_state::AppState; + +#[derive(Clone, Copy, Debug)] +enum Store { + Aldi, + Edeka, + Dm, + Lidl, + Rewe, + Tegut, +} + +#[derive(Clone, Copy, Debug)] +enum Account { + Sumpf, + Heinersyndikat, +} + +struct Inventory { + acc: Account, + cash: i64, + vouchers: Vec, +} + +#[derive(Debug)] +struct VoucherInventory { + store: Store, + count: i64, +} + +impl TryFrom<&str> for Store { + type Error = (); + + fn try_from(s: &str) -> Result { + match s { + "aldi" => Ok(Store::Aldi), + "edeka" => Ok(Store::Edeka), + "dm" => Ok(Store::Dm), + "lidl" => Ok(Store::Lidl), + "rewe" => Ok(Store::Rewe), + "tegut" => Ok(Store::Tegut), + _ => Err(()), + } + } +} + +impl TryFrom<&str> for Account { + type Error = (); + + fn try_from(s: &str) -> Result { + match s { + "sumpf" => Ok(Account::Sumpf), + "hs" => Ok(Account::Heinersyndikat), + _ => Err(()), + } + } +} + +impl ToSql for Store { + fn to_sql(&self) -> rusqlite::Result> { + match self { + Store::Aldi => 0.to_sql(), + Store::Edeka => 1.to_sql(), + Store::Dm => 2.to_sql(), + Store::Lidl => 3.to_sql(), + Store::Rewe => 4.to_sql(), + Store::Tegut => 5.to_sql(), + } + } +} + +impl ToSql for Account { + fn to_sql(&self) -> rusqlite::Result> { + match self { + Account::Sumpf => 0.to_sql(), + Account::Heinersyndikat => 1.to_sql(), + } + } +} + +fn parse_inventory(data: HashMap) -> Result { + let a = data.get("cafe-inventory-acc").ok_or(())?; + let acc: Account = Account::try_from(a.as_ref())?; + let mut vouchers = Vec::new(); + for s in ["aldi", "dm", "lidl", "rewe", "tegut"] { + let Ok(store) = s.try_into() else { + println!("Did not find '{}' in inventory data.", s); + continue; + }; + match data.get(&format!("cafe-inventory-{}", s)) { + None => (), + Some(c) => { + let c = if c == "" {"0"} else {c}; + let Ok(count) = c.parse() else { + println!("Invalid count '{}' for '{}' in inventory data.", c, s); + continue; + }; + let v = VoucherInventory { store, count }; + vouchers.push(v); + }, + } + } + unimplemented!() +} + +#[tauri::command] +async fn inventory( + data: HashMap, + state: State<'_, Mutex>, +) -> Result<(), ()> { + let now = Utc::now().timestamp(); + let state = state.lock().await; + let inv = parse_inventory(data)?; + for v in inv.vouchers { + state.db.execute( + "INSERT INTO voucher_inventory VALUES ()", + ( + inv.acc, + v.store, + v.count, + now, + ), + ) + .map_err(|e| println!("{:?}", e))?; + }; + Ok(()) +} + +#[tauri::command] +async fn swap( + store: &str, + acc: i64, + state: State<'_, Mutex>, +) -> Result<(), ()> { + let state = state.lock().await; + let store: Store = store.try_into()?; + state.db.execute( + "INSERT INTO swap VALUES (?1, ?2, ?3, ?4, ?5)", + ( + store, + acc, + i64::from_ne_bytes(state.id.to_ne_bytes()), + Utc::now().timestamp(), + false, + ), + ) + .map_err(|e| println!("{:?}", e))?; + Ok(()) +} + +#[tauri::command] +async fn count(state: State<'_, Mutex>) -> Result { + let state = state.lock().await; + let mut stmt = + state.db.prepare("SELECT COUNT(*) FROM swap") + .map_err(|e| println!("{:?}", e))?; + let mut rows = stmt.query([]).map_err(|e| println!("{:?}", e))?; + let row = rows.next().map_err(|e| println!("{:?}", e))?; + let row = match row { + Some(r) => Ok(r), + None => { + println!("No rows"); + Err(()) + } + }?; + let cnt: u64 = row.get(0).map_err(|e| println!("{:?}", e))?; + Ok(cnt.to_string()) +} -#[cfg(all(feature = "tauri", feature = "server"))] #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { - use server::app_state::AppState; - use tauri::{Manager, State}; - use tauri_plugin_fs::FsExt; - use tokio::sync::Mutex; - let state = AppState::new(); tauri::Builder::default() .plugin(tauri_plugin_fs::init()) @@ -24,10 +190,11 @@ pub fn run() { Ok(()) }) .invoke_handler(tauri::generate_handler![ - server::swap, - server::inventory, - server::data_door::pull_data, - server::data_door::push_data, + swap, + count, + inventory, + data_door::pull_data, + data_door::push_data, ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/src/bin/tauri.rs b/src/main.rs similarity index 90% rename from src/bin/tauri.rs rename to src/main.rs index 3d19dcc..4d73f4d 100644 --- a/src/bin/tauri.rs +++ b/src/main.rs @@ -2,5 +2,5 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] fn main() { - bkbh::run() + bkbh_lib::run() } diff --git a/src/server/mod.rs b/src/server/mod.rs deleted file mode 100644 index f852268..0000000 --- a/src/server/mod.rs +++ /dev/null @@ -1,133 +0,0 @@ -use chrono::offset::Utc; -use std::collections::HashMap; -use tauri::State; -use tokio::sync::Mutex; -use sqlx::sqlite::SqliteConnection as Connection; - -use crate::types::*; - -pub mod app_state; -pub mod data_door; - -use app_state::AppState; - -struct Id { - id: i64, -} - -fn parse_inventory(data: HashMap) -> Result { - let a = data.get("cafe-inventory-acc").ok_or(())?; - let acc: Account = Account::try_from(a.as_ref())?; - let mut vouchers = Vec::new(); - for s in ["aldi", "dm", "lidl", "rewe", "tegut"] { - let Ok(store) = s.try_into() else { - println!("Did not find '{}' in inventory data.", s); - continue; - }; - match data.get(&format!("cafe-inventory-{}", s)) { - None => (), - Some(c) => { - let c = if c == "" { "0" } else { c }; - let Ok(count): Result = c.parse() else { - println!("Invalid count '{}' for '{}' in inventory data.", c, s); - continue; - }; - let value = 50_00; - let voucher = VoucherType { store, value }; - let v = (voucher, count); - vouchers.push(v); - } - } - } - unimplemented!() -} - -pub async fn voucher_id(v: VoucherType, db: &mut Connection) -> Result { - sqlx::query!( - "INSERT OR IGNORE INTO voucher_type(store, value) VALUES (?1, ?2)", - v.store, - v.value, - ) - .execute(&mut *db) - .await - .map_err(|e| println!("{:?}", e))?; - let id = sqlx::query_as!( - Id, - "SELECT id FROM voucher_type WHERE store = ?1 AND value = ?2", - v.store, - v.value, - ) - .fetch_one(db) - .await - .map_err(|e| println!("{:?}", e))? - .id; - Ok(id) -} - -#[tauri::command] -pub async fn inventory( - data: HashMap, - state: State<'_, Mutex>, -) -> Result<(), ()> { - println!("{:?}", data); - let now = Utc::now().timestamp(); - let mut state = state.lock().await; - let inv = parse_inventory(data)?; - sqlx::query!( - "INSERT INTO inventory(acc, cash, timestamp) VALUES (?1, ?2, ?3)", - inv.acc, - inv.cash, - now, - ) - .execute(&mut state.db) - .await - .map_err(|e| println!("{:?}", e))?; - let inventory = sqlx::query_as!( - Id, - "SELECT id FROM inventory WHERE acc = ?1 AND timestamp = ?2", - inv.acc, - now, - ) - .fetch_one(&mut state.db) - .await - .map_err(|e| println!("{:?}", e))? - .id; - for (v, count) in inv.vouchers { - let voucher = voucher_id(v, &mut state.db).await?; - sqlx::query!( - "INSERT INTO voucher_inventory VALUES (?1, ?2, ?3)", - inventory, - voucher, - count, - ) - .execute(&mut state.db) - .await - .map_err(|e| println!("{:?}", e))?; - } - Ok(()) -} - -#[tauri::command] -pub async fn swap( - store: Store, - acc: i64, - state: State<'_, Mutex>, -) -> Result<(), ()> { - let timestamp = Utc::now().timestamp(); - let mut state = state.lock().await; - let id = i64::from_ne_bytes(state.id.to_ne_bytes()); - let value = 50_00; - let voucher = VoucherType{ store, value }; - let voucher_type = voucher_id(voucher, &mut state.db).await?; - sqlx::query!( - "INSERT INTO swap(acc, voucher, storno, timestamp) VALUES (?1, ?2, ?3, ?4)", - acc, - voucher_type, - false, - timestamp, - ) - .execute(&mut state.db) - .await - .map_err(|e| println!("{:?}", e))?; - Ok(()) -} diff --git a/src/types/account.rs b/src/types/account.rs deleted file mode 100644 index e5f3cf7..0000000 --- a/src/types/account.rs +++ /dev/null @@ -1,40 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Copy, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "server", derive(sqlx::Type))] -#[cfg_attr(feature = "server", repr(i64))] -pub enum Account { - Sumpf = 1, - Heinersyndikat = 2, -} - -impl TryFrom<&str> for Account { - type Error = (); - - fn try_from(s: &str) -> Result { - match s { - "sumpf" => Ok(Account::Sumpf), - "hs" => Ok(Account::Heinersyndikat), - _ => Err(()), - } - } -} - -impl Into for &Account { - fn into(self) -> String { - String::from(match *self { - Account::Sumpf => "sumpf", - Account::Heinersyndikat => "hs", - }) - } -} - -impl std::fmt::Display for Account { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match *self { - Account::Sumpf => "Sumpf", - Account::Heinersyndikat => "Heinersyndikat", - } - .fmt(f) - } -} diff --git a/src/types/cash.rs b/src/types/cash.rs deleted file mode 100644 index 870b953..0000000 --- a/src/types/cash.rs +++ /dev/null @@ -1,25 +0,0 @@ -use serde::{Deserialize, Serialize}; - -/// An amount of cash, -/// measured as an integer multiple -/// of 0.01 €. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] -#[cfg_attr(feature = "server", derive(sqlx::Type))] -#[cfg_attr(feature = "server", sqlx(transparent))] -pub struct Cash(i64); - -impl std::str::FromStr for Cash { - type Err = (); - - fn from_str(s: &str) -> Result { - let split: Vec<&str> = s.split(".").collect(); - let i = i64::from_str(split.get(0).ok_or(())?) - .map_err(|e| println!("{:?}", e))?; - let f = match split.get(1) { - None => 0, - Some(fs) => i64::from_str(&format!("00{}", fs)[0..2]) - .map_err(|e| println!("{:?}", e))?, - }; - Ok(Cash(i * 100 + f)) - } -} diff --git a/src/types/mod.rs b/src/types/mod.rs deleted file mode 100644 index eaf0734..0000000 --- a/src/types/mod.rs +++ /dev/null @@ -1,22 +0,0 @@ -use serde::{Deserialize, Serialize}; - -mod store; -mod account; -mod cash; - -pub use store::Store; -pub use account::Account; -pub use cash::Cash; - -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct VoucherType { - pub store: Store, - pub value: i64, -} - -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct Inventory { - pub acc: Account, - pub cash: Cash, - pub vouchers: Vec<(VoucherType, i64)>, -} diff --git a/src/types/store.rs b/src/types/store.rs deleted file mode 100644 index 841ff94..0000000 --- a/src/types/store.rs +++ /dev/null @@ -1,42 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Copy, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "server", derive(sqlx::Type))] -#[cfg_attr(feature = "server", repr(i64))] -pub enum Store { - Aldi = 1, - Edeka = 2, - Dm = 3, - Lidl = 4, - Rewe = 5, - Tegut = 6, -} - -impl Into for &Store { - fn into(self) -> String { - String::from(match *self { - Store::Aldi => "aldi", - Store::Edeka => "edeka", - Store::Dm => "dm", - Store::Lidl => "lidl", - Store::Rewe => "rewe", - Store::Tegut => "tegut", - }) - } -} - -impl TryFrom<&str> for Store { - type Error = (); - - fn try_from(s: &str) -> Result { - match s { - "aldi" => Ok(Store::Aldi), - "edeka" => Ok(Store::Edeka), - "dm" => Ok(Store::Dm), - "lidl" => Ok(Store::Lidl), - "rewe" => Ok(Store::Rewe), - "tegut" => Ok(Store::Tegut), - _ => Err(()), - } - } -} diff --git a/taplo.toml b/taplo.toml deleted file mode 100644 index 204dffa..0000000 --- a/taplo.toml +++ /dev/null @@ -1,3 +0,0 @@ -[formatting] -indent_string = " " -reorder_keys = true diff --git a/tauri.conf.json b/tauri.conf.json new file mode 100644 index 0000000..2e1ed07 --- /dev/null +++ b/tauri.conf.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Nein!", + "version": "0.1.0", + "identifier": "de.mathebau.bkbh", + "build": { + "frontendDist": "www" + }, + "app": { + "withGlobalTauri": true, + "windows": [ + { + "title": "Nein zur Bezahlkarte!", + "width": 800, + "height": 600 + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} diff --git a/trunk.html b/trunk.html deleted file mode 100644 index 26d67d9..0000000 --- a/trunk.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - Darmstadt sagt Nein zur Bezahlkartei! - - - - - diff --git a/assets/aldi.svg b/www/assets/aldi.svg similarity index 100% rename from assets/aldi.svg rename to www/assets/aldi.svg diff --git a/assets/angel.svg b/www/assets/angel.svg similarity index 100% rename from assets/angel.svg rename to www/assets/angel.svg diff --git a/assets/cafe.svg b/www/assets/cafe.svg similarity index 100% rename from assets/cafe.svg rename to www/assets/cafe.svg diff --git a/assets/cash.svg b/www/assets/cash.svg similarity index 100% rename from assets/cash.svg rename to www/assets/cash.svg diff --git a/assets/dm.svg b/www/assets/dm.svg similarity index 100% rename from assets/dm.svg rename to www/assets/dm.svg diff --git a/assets/edeka.svg b/www/assets/edeka.svg similarity index 100% rename from assets/edeka.svg rename to www/assets/edeka.svg diff --git a/assets/hessen_sagt_nein.otf b/www/assets/hessen_sagt_nein.otf similarity index 100% rename from assets/hessen_sagt_nein.otf rename to www/assets/hessen_sagt_nein.otf diff --git a/assets/lidl.svg b/www/assets/lidl.svg similarity index 100% rename from assets/lidl.svg rename to www/assets/lidl.svg diff --git a/assets/rewe.svg b/www/assets/rewe.svg similarity index 100% rename from assets/rewe.svg rename to www/assets/rewe.svg diff --git a/assets/tegut.svg b/www/assets/tegut.svg similarity index 100% rename from assets/tegut.svg rename to www/assets/tegut.svg diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..d078ceb --- /dev/null +++ b/www/index.html @@ -0,0 +1,188 @@ + + + + + + + Darmstadt sagt Nein zur Bezahlkartei! + + + + + +
+
+
+
+
+
+ + + diff --git a/www/main.js b/www/main.js new file mode 100644 index 0000000..f3ada68 --- /dev/null +++ b/www/main.js @@ -0,0 +1,67 @@ +const { invoke } = window.__TAURI__.core; + +let callbacks = { + '#nav-cafe': () => activate("", "cafe", ["angel"]), + '#nav-angel': () => activate("", "angel", ["cafe"]), + '#cafe-nav-inventory': () => activate("cafe-", "inventory", ["voucher"]), + '#cafe-nav-voucher': () => activate("cafe-", "voucher", ["inventory"]), + '#cafe-inventory form': () => inventory(), + '#cafe-voucher-aldi': () => swap("aldi"), + '#cafe-voucher-dm': () => swap("dm"), + '#cafe-voucher-lidl': () => swap("lidl"), + '#cafe-voucher-rewe': () => swap("rewe"), + '#cafe-voucher-tegut': () => swap("tegut"), +} +let stores = [ + "aldi", + "dm", + "lidl", + "rewe", + "tegut", +] + +async function increment(el) { + var el = document.querySelector(el+" input"); + let v = parseInt(el.value, 10); + v = isNaN(v) ? 0 : v; + v++; + el.value = v; +} + +async function inventory() { + const form = document.querySelector("#cafe-inventory form"); + const fd = new FormData(form); + const obj = Object.fromEntries(fd); + await invoke("inventory", { data: obj }); +} + +async function swap(s) { + await invoke("swap", { store: s, acc: 1 }); + document.querySelector("h1").textContent = await invoke("count", {}); +} + +async function activate(ctx, el, nels) { + document.querySelector("#"+ctx+el).style.display = ""; + for (const nel of nels) { + document.querySelector("#"+ctx+nel).style.display = "none"; + } + document.querySelector("#"+ctx+"nav").classList.remove("v-container"); + document.querySelector("#"+ctx+"nav").classList.add("h-container"); +} + +window.addEventListener("DOMContentLoaded", () => { + for (let key in callbacks) { + if (callbacks.hasOwnProperty(key)) { + document.querySelector(key).addEventListener("submit", (e) => { + e.preventDefault(); + callbacks[key](); + }); + } + } + for (const store of stores) { + document.querySelector("#cafe-inventory-"+store+" label").addEventListener("click", (e) => { + e.preventDefault(); + increment("#cafe-inventory-"+store); + }); + } +}); diff --git a/styles.scss b/www/styles.css similarity index 98% rename from styles.scss rename to www/styles.css index 645a0ee..d239b06 100644 --- a/styles.scss +++ b/www/styles.css @@ -106,8 +106,7 @@ input[type=number] { } input[type=radio] { - width: 100%; - height: 7mm; + height: 60%; } button:hover {