From 018f97d79e0a718194badc5f52e4af0427cbf2de Mon Sep 17 00:00:00 2001 From: aOK Date: Mon, 14 Aug 2023 20:19:35 +0300 Subject: [PATCH] first commit --- Cargo.lock | 3055 ++++++++++++++++++++++++++++++++++++ Cargo.toml | 118 ++ Makefile.toml | 4 + README.md | 0 Trunk.toml | 16 + index.html | 31 + public/favicon.ico | Bin 0 -> 15406 bytes scss/import.txt | 1 + scss/style.scss | 3395 ++++++++++++++++++++++++++++++++++++++++ src/build.rs.txt | 28 + src/lib.rs | 47 + src/main.rs | 10 + src/routes.rs | 7 + src/routes/footer.rs | 50 + src/routes/home.css | 63 + src/routes/home.rs | 63 + src/routes/main.rs | 400 +++++ src/routes/nav copy.rs | 64 + src/routes/nav.css | 83 + src/routes/nav.rs | 44 + style.css | 86 + 21 files changed, 7565 insertions(+) create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 Makefile.toml create mode 100644 README.md create mode 100644 Trunk.toml create mode 100644 index.html create mode 100644 public/favicon.ico create mode 100644 scss/import.txt create mode 100644 scss/style.scss create mode 100644 src/build.rs.txt create mode 100644 src/lib.rs create mode 100644 src/main.rs create mode 100644 src/routes.rs create mode 100644 src/routes/footer.rs create mode 100644 src/routes/home.css create mode 100644 src/routes/home.rs create mode 100644 src/routes/main.rs create mode 100644 src/routes/nav copy.rs create mode 100644 src/routes/nav.css create mode 100644 src/routes/nav.rs create mode 100644 style.css diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..a482aac --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3055 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" +dependencies = [ + "memchr", +] + +[[package]] +name = "anyhow" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" + +[[package]] +name = "async-recursion" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "async-trait" +version = "0.1.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "attribute-derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c124f12ade4e670107b132722d0ad1a5c9790bcbc1b265336369ea05626b4498" +dependencies = [ + "attribute-derive-macro", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "attribute-derive-macro" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b217a07446e0fb086f83401a98297e2d81492122f5874db5391bd270a185f88" +dependencies = [ + "collection_literals", + "interpolator", + "proc-macro-error", + "proc-macro-utils", + "proc-macro2", + "quote", + "quote-use", + "syn 2.0.28", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "axum-macros", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-macros" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdca6a10ecad987bda04e95606ef85a5417dcaac1a78455242d72e031e2b6b62" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "backtrace" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cached" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b195e4fbc4b6862bbd065b991a34750399c119797efff72492f28a5864de8700" +dependencies = [ + "async-trait", + "cached_proc_macro", + "cached_proc_macro_types", + "futures", + "hashbrown 0.13.2", + "instant", + "once_cell", + "thiserror", + "tokio", +] + +[[package]] +name = "cached_proc_macro" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b48814962d2fd604c50d2b9433c2a41a0ab567779ee2c02f7fba6eca1221f082" +dependencies = [ + "cached_proc_macro_types", + "darling", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "cached_proc_macro_types" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a4f925191b4367301851c6d99b09890311d74b0d43f274c0b34c86d308a3663" + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" + +[[package]] +name = "cc" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "ciborium" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" + +[[package]] +name = "ciborium-ll" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "collection_literals" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186dce98367766de751c42c4f03970fc60fc012296e706ccbb9d5df9b6c1e271" + +[[package]] +name = "colored" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" +dependencies = [ + "is-terminal", + "lazy_static", + "windows-sys 0.48.0", +] + +[[package]] +name = "common_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3f6d59c71e7dc3af60f0af9db32364d96a16e9310f3f5db2b55ed642162dd35" + +[[package]] +name = "config" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d379af7f68bfc21714c6c7dea883544201741d2ce8274bb12fa54f89507f52a7" +dependencies = [ + "async-trait", + "json5", + "lazy_static", + "nom", + "pathdiff", + "ron", + "rust-ini", + "serde", + "serde_json", + "toml", + "yaml-rust", +] + +[[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 = "console_log" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" +dependencies = [ + "log", + "web-sys", +] + +[[package]] +name = "const_format" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[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 = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + +[[package]] +name = "derive-where" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bc1955a640c4464859ae700fbe48e666da6fdce99ce5fe1acd08dd295889d10" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dlv-list" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" + +[[package]] +name = "drain_filter_polyfill" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408" + +[[package]] +name = "educe" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "079044df30bb07de7d846d41a184c4b00e66ebdac93ee459253474f3a47e50ae" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-ordinalize" +version = "3.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4f76552f53cefc9a7f64987c3701b99d982f7690606fd67de1d09712fbf52f1" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "geohot_csr" +version = "0.1.0" +dependencies = [ + "cfg-if", + "console_error_panic_hook", + "console_log", + "gloo-net", + "http", + "leptonic-theme", + "leptos", + "leptos-tiptap-build", + "leptos_axum", + "leptos_icons", + "leptos_meta", + "leptos_router", + "log", + "reqwest", + "serde", + "simple_logger", + "tokio", + "tower", + "tower-http", + "tracing", + "wasm-bindgen", + "wasm-bindgen-test", + "web-sys", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" + +[[package]] +name = "gloo-net" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-utils" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "h2" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", +] + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" + +[[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 = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "http-range-header" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "icondata" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffb16cf8cbf74c05967c0c12b492a10ad23d3511abdc77bc43c142004e3d435" +dependencies = [ + "icondata_ai", + "icondata_bi", + "icondata_bs", + "icondata_core", + "icondata_fa", + "icondata_im", + "icondata_io", + "icondata_macros", + "icondata_oc", + "icondata_si", + "icondata_tb", +] + +[[package]] +name = "icondata_ai" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f591cfcd5dfe3f073977334c12f8b169556d5144647b1829d5f66426cfe80670" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_bi" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c37ffd3ba6047f45af80f4ffaedb8f952c4032c006132b069942e63d8e53558e" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_bs" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99de24e59d37da59898469680a925770bc811c8152201ca4e91e6930e2e656b5" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_core" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1640a4c1d5ddd08ab1d9854ffa7a2fa3dc52339492676b6d3031e77ca579f434" + +[[package]] +name = "icondata_fa" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029f6e7f84560b8b4543c06ddd68a79839397672203efebd50d4364898de3c13" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_im" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "023298d281a1313f57f3c5fa867ae6ffcc951f0300673f58766bcf06245149bb" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_io" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f82ea2cc4dc981729000c35e6ee141de3caef699b56e892a500f0c2689d76c7" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_macros" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "764e3608a0f21fa9f43f9d9237c524a9e10316d97d89b413a9c45e5dddb9b162" + +[[package]] +name = "icondata_oc" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b406fa5eefaa6ec3fc0c97c6a59d0b019116d5f036215ed1a43d39ddce92854" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_si" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a91dec7e8a104479b905ba5ab6381604022f85dba0c22e07c2ac933c9540192" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "icondata_tb" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5583900c2d5f1878a001fab74ee87a473fb03ffa8b62e27d9331470699c01aac" +dependencies = [ + "icondata_core", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "include_dir" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "indoc" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4" + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "interpolator" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8" + +[[package]] +name = "inventory" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53088c87cf71c9d4f3372a2cb9eea1e7b8a0b1bf8b7f7d23fe5b76dbb07e63b" + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json5" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +dependencies = [ + "pest", + "pest_derive", + "serde", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "leptonic-theme" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dbb905173a6f51802768811e212a6b21dd94ba9e142602d8e1add796a01e4" +dependencies = [ + "include_dir", + "indoc", +] + +[[package]] +name = "leptos" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d08fd7674758f996050217a8aff9e584d033c2e5c882cd3f52fb5090dc361dd" +dependencies = [ + "cfg-if", + "leptos_config", + "leptos_dom", + "leptos_macro", + "leptos_reactive", + "leptos_server", + "server_fn", + "tracing", + "typed-builder", +] + +[[package]] +name = "leptos-tiptap-build" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "137b6bb75e5cee6b8885e8ce3a36182aee83ad3e7399c3974f18214c35345e1f" +dependencies = [ + "phf", +] + +[[package]] +name = "leptos_axum" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ead2dbca87773b3412abd7d310a7976eee3b726ff14b79196d4ddd9d54f2a2fc" +dependencies = [ + "axum", + "futures", + "http", + "hyper", + "leptos", + "leptos_integration_utils", + "leptos_meta", + "leptos_router", + "once_cell", + "parking_lot", + "serde_json", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "leptos_config" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e5c13a1ae92b5a545cc013205288751fb2fef521de5a092067fd8429ad343e8" +dependencies = [ + "config", + "regex", + "serde", + "thiserror", + "typed-builder", +] + +[[package]] +name = "leptos_dom" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35994afab1dca68a46c7b40a29d40d84a2e06e1b1fa0d5c5915ade4f4f2611ee" +dependencies = [ + "async-recursion", + "cfg-if", + "drain_filter_polyfill", + "educe", + "futures", + "getrandom", + "html-escape", + "indexmap 2.0.0", + "itertools", + "js-sys", + "leptos_reactive", + "once_cell", + "pad-adapter", + "paste", + "rustc-hash", + "serde_json", + "server_fn", + "smallvec", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "leptos_hot_reload" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a088a4dd5489941a9cc73719148f217c78f0d761a50e025739653c3b7f9d484" +dependencies = [ + "anyhow", + "camino", + "indexmap 2.0.0", + "parking_lot", + "proc-macro2", + "quote", + "rstml", + "serde", + "syn 2.0.28", + "walkdir", +] + +[[package]] +name = "leptos_icons" +version = "0.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c4cbfd152ac2449509618939d69b4ee5ea4e1b8697ca57c447021a9d84632e2" +dependencies = [ + "icondata", + "leptos", + "tracing", +] + +[[package]] +name = "leptos_integration_utils" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd4a097f1870172f5079e44af99fb5d5f02cd856db6b32a6ac98cc58f1a1f47" +dependencies = [ + "futures", + "leptos", + "leptos_config", + "leptos_hot_reload", + "leptos_meta", + "tracing", +] + +[[package]] +name = "leptos_macro" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bdd7a21d20ca21bb12d67d050d4b0ad9973b156bce98f499f8b1789f11959dd" +dependencies = [ + "attribute-derive", + "cfg-if", + "convert_case", + "html-escape", + "itertools", + "leptos_hot_reload", + "prettyplease", + "proc-macro-error", + "proc-macro2", + "quote", + "rstml", + "server_fn_macro", + "syn 2.0.28", + "tracing", + "uuid", +] + +[[package]] +name = "leptos_meta" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4e4855b6d0047f1cdbf0e9d41b76a1b596ec374f844d2bae1e48f2d2df70d8" +dependencies = [ + "cfg-if", + "indexmap 2.0.0", + "leptos", + "tracing", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "leptos_reactive" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5500318e457b4ab841722a5988e8db0def1ee7ac66b816ba9073c100c4984a" +dependencies = [ + "base64 0.21.2", + "cfg-if", + "futures", + "indexmap 2.0.0", + "js-sys", + "rustc-hash", + "self_cell", + "serde", + "serde-wasm-bindgen", + "serde_json", + "slotmap", + "thiserror", + "tokio", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "leptos_router" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a6cd29a56992923c9bad3c814ab9d7a78bf0bfec80c8f4dfbf049144fa5828" +dependencies = [ + "cached", + "cfg-if", + "common_macros", + "gloo-net", + "js-sys", + "lazy_static", + "leptos", + "linear-map", + "log", + "lru", + "once_cell", + "percent-encoding", + "regex", + "serde", + "serde_json", + "serde_qs", + "thiserror", + "tracing", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "leptos_server" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28d958deee3c7ffda892a67ac4a47500aebbaf00b11d217cfe6fd494c297818" +dependencies = [ + "inventory", + "lazy_static", + "leptos_macro", + "leptos_reactive", + "serde", + "server_fn", + "thiserror", + "tracing", +] + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "linear-map" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" +dependencies = [ + "serde", + "serde_test", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "lru" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" +dependencies = [ + "hashbrown 0.13.2", +] + +[[package]] +name = "matchit" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime", + "unicase", +] + +[[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.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_threads" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "openssl" +version = "0.10.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-multimap" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +dependencies = [ + "dlv-list", + "hashbrown 0.12.3", +] + +[[package]] +name = "pad-adapter" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56d80efc4b6721e8be2a10a5df21a30fa0b470f1539e53d8b4e6e75faf938b63" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pest" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" +dependencies = [ + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "pest_meta" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "prettyplease" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" +dependencies = [ + "proc-macro2", + "syn 2.0.28", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-utils" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f59e109e2f795a5070e69578c4dc101068139f74616778025ae1011d4cd41a8" +dependencies = [ + "proc-macro2", + "quote", + "smallvec", +] + +[[package]] +name = "proc-macro2" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +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.28", + "version_check", + "yansi", +] + +[[package]] +name = "quote" +version = "1.0.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "quote-use" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e9a38ef862d7fec635661503289062bc5b3035e61859a8de3d3f81823accd2" +dependencies = [ + "derive-where", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "ron" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" +dependencies = [ + "base64 0.13.1", + "bitflags 1.3.2", + "serde", +] + +[[package]] +name = "rstml" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6522514806fbc2fc4c3d54ee9cc01e928fa00e1c988af4c730a64f57637ad7cf" +dependencies = [ + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn 2.0.28", + "syn_derive", + "thiserror", +] + +[[package]] +name = "rust-ini" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +dependencies = [ + "cfg-if", + "ordered-multimap", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustix" +version = "0.38.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" +dependencies = [ + "bitflags 2.4.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "self_cell" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6" + +[[package]] +name = "serde" +version = "1.0.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde_derive" +version = "1.0.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "serde_json" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_qs" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c" +dependencies = [ + "percent-encoding", + "serde", + "thiserror", +] + +[[package]] +name = "serde_test" +version = "1.0.176" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "server_fn" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "644216cf54c944da2d7fc7a75337a35dc39de19130be3fd88fd58674719a1b5b" +dependencies = [ + "ciborium", + "const_format", + "gloo-net", + "inventory", + "js-sys", + "lazy_static", + "once_cell", + "proc-macro2", + "quote", + "reqwest", + "serde", + "serde_json", + "serde_qs", + "server_fn_macro_default", + "syn 2.0.28", + "thiserror", + "xxhash-rust", +] + +[[package]] +name = "server_fn_macro" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1db2cd1a054f5c6ec168982241f6cdad083591d6c68449e666c839ec421bfc54" +dependencies = [ + "const_format", + "proc-macro-error", + "proc-macro2", + "quote", + "serde", + "syn 2.0.28", + "xxhash-rust", +] + +[[package]] +name = "server_fn_macro_default" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ee7b18c66e7a30b1855096cee24d540925825ce91193f42fae322033b109c1" +dependencies = [ + "server_fn_macro", + "syn 2.0.28", +] + +[[package]] +name = "sha2" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "simple_logger" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2230cd5c29b815c9b699fb610b49a5ed65588f3509d9f0108be3a885da629333" +dependencies = [ + "colored", + "log", + "time", + "windows-sys 0.42.0", +] + +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "serde", + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn_derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8128874d02f9a114ade6d9ad252078cb32d3cb240e26477ac73d7e9c495c605e" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "tempfile" +version = "3.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "thiserror" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "time" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" +dependencies = [ + "deranged", + "itoa", + "libc", + "num_threads", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +dependencies = [ + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40de3a2ba249dcb097e01be5e67a5ff53cf250397715a071a81543e8a832a920" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2 0.5.3", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "futures-util", + "hashbrown 0.12.3", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" +dependencies = [ + "bitflags 2.4.0", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "httpdate", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "typed-builder" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64cba322cb9b7bc6ca048de49e83918223f35e7a86311267013afff257004870" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8-width" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" + +[[package]] +name = "uuid" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +dependencies = [ + "getrandom", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.28", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wasm-bindgen-test" +version = "0.3.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e6e302a7ea94f83a6d09e78e7dc7d9ca7b186bc2829c24a22d0753efd680671" +dependencies = [ + "console_error_panic_hook", + "js-sys", + "scoped-tls", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test-macro", +] + +[[package]] +name = "wasm-bindgen-test-macro" +version = "0.3.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecb993dd8c836930ed130e020e77d9b2e65dd0fbab1b67c790b0f5d80b11a575" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "yansi" +version = "1.0.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..5c95c20 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,118 @@ +[package] +name = "geohot_csr" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[lib] +crate-type = ["cdylib", "rlib"] + +[profile.release] +codegen-units = 1 +lto = true + +# Defines a size-optimized profile for the WASM bundle in release mode +# Copied to main Cargo.toml +#[profile.wasm-release] +#inherits = "release" +#opt-level = 'z' +#lto = true +#codegen-units = 1 +#panic = "abort" + +[dependencies] +# leptos = { version = "~0", features = ["csr"] } +leptos = { version = "0.4.8", features = ["csr"] } +leptos_axum = { version = "0.4.8", optional = true } +leptos_meta = { version = "0.4.8", features = ["csr"] } +leptos_router = { version = "0.4.8", features = ["csr"] } +# leptos_query = "0.2.3" +# leptos-use = "0.6.3" +leptos_icons = { version = "0.0.15", default_features = false, features = [ + "macros", + "AiCarryOutTwotone", + "BiGraphql", + "BiFilePlusSolid", + "Bs1Circle", + "BsFolder", + "FaBarsSolid", + "SiYourtraveldottv", + "TbGridDots", + "AiCloseCircleFilled", + "ImPagebreak", + "ImPageBreak", + "IoColorWand", + "OcAlertSm", + "OcAlertLg" +] } +# leptos_image = "0.1.5" +# leptonic = "0.1.0" +# leptonic = { git = "https://github.com/lpotthast/leptonic" } +# leptos_animation = "0.2.0" +# leptos_heroicons = { version = "0.1.0", features = [ +# "24-solid-power", +# "24-outline-wrench", +# "20-solid-credit-card" +# ]} +reqwest = { version = "0.11.13", features = ["json"] } +console_log = "1.0.0" +console_error_panic_hook = "0.1.7" +cfg-if = "1.0.0" +log = "0.4.17" +simple_logger = "4.0.0" +serde = { version = "1.0.148", features = ["derive"] } +tracing = "0.1" +gloo-net = { version = "0.2.5", features = ["http"] } +tower = { version = "0.4.13", optional = true } +tower-http = { version = "0.4", features = ["fs"], optional = true } +tokio = { version = "1.22.0", features = ["full"], optional = true } +http = { version = "0.2.8", optional = true } +web-sys = { version = "0.3", features = ["AbortController", "AbortSignal"] } +wasm-bindgen = "0.2" + + +[dev-dependencies] +wasm-bindgen = "0.2" +wasm-bindgen-test = "0.3.0" +web-sys = "0.3" + +[build-dependencies] +leptonic-theme = "0.1.0" +leptos-tiptap-build = "0.2.1" + +[features] +csr = ["leptos/csr", "leptos_meta/csr", "leptos_router/csr"] +hydrate = ["leptos/hydrate", "leptos_meta/hydrate", "leptos_router/hydrate"] + +[package.metadata.leptos] +# The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name +output-name = "geohot_csr" +# The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup. +site-root = "target/site" +# The site-root relative folder where all compiled output (JS, WASM and CSS) is written +# Defaults to pkg +site-pkg-dir = "pkg" +# [Optional] The source CSS file. If it ends with .sass or .scss then it will be compiled by dart-sass into CSS. The CSS is optimized by Lightning CSS before being written to //app.css +style-file = "./style.css" +# [Optional] Files in the asset-dir will be copied to the site-root directory +assets-dir = "public" + +# If the --no-default-features flag should be used when compiling the bin target +# +# Optional. Defaults to false. +bin-default-features = true + +# The features to use when compiling the lib target +# +# Optional. Can be over-ridden with the command line parameter --lib-features +lib-features = ["hydrate"] + +# If the --no-default-features flag should be used when compiling the lib target +# +# Optional. Defaults to false. +lib-default-features = true + +# The profile to use for the lib target when compiling for release +# +# Optional. Defaults to "release". +lib-profile-release = "wasm-release" diff --git a/Makefile.toml b/Makefile.toml new file mode 100644 index 0000000..19a5d2f --- /dev/null +++ b/Makefile.toml @@ -0,0 +1,4 @@ +# extend = { path = "../../cargo-make/main.toml" } + +[tasks.check-format] +# env = { LEPTOS_PROJECT_DIRECTORY = "../../../" } diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/Trunk.toml b/Trunk.toml new file mode 100644 index 0000000..8bf0a90 --- /dev/null +++ b/Trunk.toml @@ -0,0 +1,16 @@ +[watch] +# Paths to watch. The `build.target`'s parent folder is watched by default. +ignore = [ + # These files are generated from our build.rs script, not excluding them would result in an endless restart-cycle! + # Keep this list in sync with what the build script generates. + # "./generated", +] + +[serve] +address = "127.0.0.1" +port = 4001 +open = false + +[[proxy]] +rewrite = "/api/" +backend = "http://127.0.0.1:3000/" diff --git a/index.html b/index.html new file mode 100644 index 0000000..8739f5f --- /dev/null +++ b/index.html @@ -0,0 +1,31 @@ + + + + + + + + + + + Leptonic + + + + + + + + + + + + + + + + + + + + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2ba8527cb12f5f28f331b8d361eef560492d4c77 GIT binary patch literal 15406 zcmeHOd3aPs5`TblWD*3D%tXPJ#q(n!z$P=3gCjvf#a)E}a;Uf>h{pmVih!a-5LVO` zB?JrzEFicD0wRLo0iPfO372xnkvkzFlRHB)lcTnNZ}KK@US{UKN#b8?e_zkLy1RZ= zT~*y(-6IICgf>E_P6A)M3(wvl2qr-gx_5Ux-_uzT*6_Q&ee1v9B?vzS3&K5IhO2N5 z$9ukLN<`G>$$|GLnga~y%>f}*j%+w@(ixVUb^1_Gjoc;(?TrD3m2)RduFblVN)uy; zQAEd^T{5>-YYH%|Kv{V^cxHMBr1Ik7Frht$imC`rqx@5*| z+OqN!xAjqmaU=qR$uGDMa7p!W9oZ+64($4xDk^FyFQ<_9Z`(;DLnB<;LLJD1<&vnZ zo0(>zIkQTse}qNMb6+i`th54(3pKm8;UAJ<_BULR*Z=m5FU7jiW(&#l+}WkHZ|e@1 z`pm;Q^pCuLUQUrnQ(hPM10pSSHQS=Bf8DqG1&!-B!oQQ|FuzLruL1w(+g<8&znyI? zzX-}?SwUvNjEuT?7uUOy{Fb@xKklpj+jdYM^IK9}NxvLRZd{l9FHEQJ4IO~q%4I0O zAN|*8x^nIU4Giw?f*tmNx=7H)2-Zn?J^B6SgpcW3ZXV_57Sn%Mtfr_=w|sYpAhdJT zcKo6Z*oIOU(az~3$LOEWm9Q)dYWMA}T7L23MVGqrcA%4H)+^`+=j+Hh8CTCnnG2Rh zgcXVW%F8$R9)6}f=NQiLPt8qt3xNUQI>Q*)H1lzk<&n?XR-f}tc&9V0H0lhGqHJ^N zN%h(9-Of2_)!Xk{qdIkU>1%mk%I_Id1!MU*yq&&>)Q+!L^t&-2mW9Xq7g9C@* zl&PKJ&su2L+iku?Te?Pf?k3tUK){Bj_gb&aPo8Ago^XI~mRTd(5{&^tf1)!-lSMha z@$~ae!r(~`=p&|mMxy2EiZQ6FvXb(1avS*`Pj%$)*?vwceGKHmHnl`v&fEQ_Wh+G) zEPQ^3&oV%}%;zF`AM|S%d>pM@1}33PN5*4SewROk_K$n^i8QjaYiRzwG8#OvVIF|{x85wH+?*P*%)woI zR538k@=(E`V;p1UwA|fqSh`$n_t;Sz4T)`_s~pRR4lbmWWSdxa-FqLZ%fLT)Bh?iye?COx~mO1wkn5)HNMg7`8~ z25VJhz&3Z7`M>6luJrEw$Jikft+6SxyIh?)PU1?DfrKMGC z=3T;;omE4H`PWqF8?0*dOA3o9y@~WK`S}{?tIHquEw?v`M^D%Lobpdrp%3}1=-&qk zqAtb1px-1Fy6}E8IUg4s%8B0~P<P5C;de%@n~XnDKF@fr$a+^@$^P|>vlw($aSK2lRtLt~8tRb`I0 znfI!G?K|<5ry*gk>y56rZy0NkK6)))6Mg1=K?7yS9p+#1Ij=W*%5Rt-mlc;#MOnE9 zoi`-+6oj@)`gq2Af!B+9%J#K9V=ji2dj2<_qaLSXOCeqQ&<0zMSb$5mAi;HU=v`v<>NYk}MbD!ewYVB+N-ctzn=l&bTwv)*7 zmY<+Y@SBbtl9PPk$HTR?ln@(T92XjTRj0Mx|Mzl;lW>Su_y^~fh?8(L?oz8h!cCpb zZG-OY=NJ3{>r*`U<(J%#zjFT-a9>u6+23H{=d(utkgqt7@^)C;pkb)fQ|Q=*8*SyT z;otKe+f8fEp)ZacKZDn3TNzs>_Kx+g*c_mr8LBhr8GnoEmAQk#%sR52`bdbW8Ms$!0u2bdt=T-lK3JbDW`F(Urt%Ob2seiN>7U`YN}aOdIiCC;eeufJC#m3S z9#|l2c?G@t*hH5y^76jkv)rs4H+;oiTuY5FQwRMN_7NUqeiD|b&RyxPXQz|3qC(_> zZJMwjC4F!1m2INXqzisQ4X^w=>&(+Ecdu&~IWEMn7f*YcYI&eWI(6hI#f114%aymM zyhlG6{q>XN7(LyGiMAS&qijR%d2rV|>AUT_sE&EKUSTCM26>aKzNxk0?K|utOcxl# zxIOwM#O!!H+QzbX*&p=QuKe4y;bS>&StQOE5AEGg_ubk8{;1yOVAJfE_Js-lL7rr9 z)CEuFIlkApj~uV^zJK7KocjT=4B zJP(}0x}|A7C$$5gIp>KBPZ|A#2Ew;$#g9Fk)r;Q~?G$>x<+JM)J3u>j zi68K=I;ld`JJ?Nq+^_B?C+Q%+x#m{9JF$tbaDeNIep%=^#>KHGtg=L)>m z_J&vaZTs2{qP!4Gdw5u5Kcf}5R4(q}Lebx%(J$7l*Q`Il#pCTM%!`y5y*-~zIVs}D z9;t+(xmV~R65^ZQXe+<5{$QW0O8MT~a{kdFLR)nfRMA9L(YU>x*DTltN#m-2km zC;T`cfb{c`mcx(z7o_a8bYJn8_^dz4Cq!DZ37{P6uF{@#519UWK1{>(9sZB1I^6MmNc39MJ-_|)!S8vO+O3&$MulU3Gc z_W{N*B(yneyl-oN_MKaJ{CZ6dv-~^8uPbLSh&0jfV@EfA{2Dc!_rOyfx`R0T@LonA z<*%O?-aa_Wm-z$s@K(ex7UhM0-?9C=PkYdk&d2n((E4>&(f4D`fOQY%CURMMyJyU` zVeJBAId&StHjw76tnwSqZs3e0683`L{a3k9JYdg#(ZVw4J`&CkV-2LFaDE1Z?CehVy%vZx$tM3tTax8E@2;N^QTrPcI?Ob8uK!DM0_sfE6ks2M?iw zPS4{(k-PF*-oY>S!d9;L+|xdTtLen9B2LvpL4k;#ScB< z$NP_7j~7)5eXuoYEk*dK_rSz9yT_C4B{r~^#^o}-VQI=Y?01|$aa!a7=UEm$|DsQQ zfLK1qmho2@)nwA?$1%T6jwO2HZ({6&;`s|OQOxI4S8*Hw=Qp!b(gNJR%SAj&wGa>^&2@x)Vj zhd^WfzJ^b0O{E^q82Pw({uT`E`MT2WnZ02{E%t*yRPN>?W>0vU^4@Vyh4;mLj918c z*s*papo?<}cQM{5lcgZScx}?usg{mS!KkH9U%@|^_33?{FI{1ss+8kXyFY&5M-e~f zM$){FF;_+z3sNJ)Er~{Beux$fEl{R4|7WKcpEsGtK57f+H0DJ$hI;U;JtF>+lG@sV zQI_;bQ^7XIJ>Bs?C32b1v;am;P4GUqAJ#zOHv}4SmV|xXX6~O9&e_~YCCpbT>s$`! k<4FtN!5 svg { + pointer-events: none; +} + +.text-fonts-buttn > svg { + pointer-events: none; +} + +.heading-fonts-label { + pointer-events: none; +} + +.text-fonts-label { + pointer-events: none; +} + + +.text-fonts-box { + position: absolute; + bottom: 70px; + width: 250px; + padding: 15px; + background-color: white; + border-radius: 10px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + box-shadow: 0 0px 20px 1px rgba(0,0,0,0.1), 0 0px 0px 1px rgba(0,0,0,0.1); + cursor: auto; +} + +input[type="file"] { + display: none; +} + +.utility-button { + color: var(--static2); + background-color: rgba(0,0,0,0.05); + padding: 1.1em 1.5em; + gap: 1em; + border-radius: 4px; + display: flex; + justify-content: space-evenly; + align-items: center; + height: 60px; + transition: background-color 0.2s ease; + cursor: pointer; +} + +.utility-button:hover { + background-color: rgba(0,0,0,0.1); + transition: background-color 0.2s ease; +} + +.utility-button > svg { + max-height: 100%; +} + +.fonts-row { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 10px; +} + +.fonts-row > a { + width: fit-content; +} + + + +.hex-input { + font-size: 12px; + text-align: center; + border: 1px solid transparent; + background-color: transparent; + color: var(--static2); + outline: none; + width: 80px; + box-sizing: border-box; + position: relative; + /* top: 1.5em; */ + text-transform: uppercase; +} + +.hex-input::selection { + background-color: rgba(0,0,0,0.2); +} + +.color-label { + font-size: var(--sub); +} + + +.colors-option:hover > .hex-input { + opacity: 1; + border: solid 1px rgba(225, 225, 225, 0.2); + background-color: rgba(225, 225, 225, 0.1); + border-radius: 3px; +} + +.colors-option:hover > .lock-button { + opacity: 1; +} + + +/* toolbar animation after clicking Get Started */ + +.toolbar.highlighted { + animation-name: highlight; + animation-duration: 0.4s; +} + +@keyframes highlight { + 0%, 100% {transform: translate(0, 0px) scale(1); transition: all 0.4s cubic-bezier(.47,1.64,.41,.8);} + + 25% {transform: translate(0, -15px) scale(1); transition: all 0.4s cubic-bezier(.47,1.64,.41,.8);} + + 50% {transform: translate(0, 0px) scale(1); transition: all 0.4s cubic-bezier(.47,1.64,.41,.8);} + + 75% {transform: translate(0, -7px) scale(1); transition: all 0.4s cubic-bezier(.47,1.64,.41,.8);} +} + + +/* nav */ + +nav { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 100%; + padding: 20px 0; +} + +.logo { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 1em; +} + +.logoface { + width: 50px; + transform: rotate(0); +} + +.logo:hover > +.logoface { + transform: rotate(360deg); + transition: all ease-in-out 0.4s; +} + +.sitename { + font-size: var(--subtitle); + letter-spacing: -0.5px; +} + +.menu { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 2%; + justify-content: flex-end; +} + +.menu.hide { + display: flex; +} + +.ham-menu { + display: none; +} + +.menu-item { + font-size: var(--sub); + width: 100%; + white-space: nowrap; + background-color: transparent; + padding: 1em; + border-radius: 6px; + transition: opacity 0.3s ease; +} + + +.menu-item:hover { + opacity: 0.6; + transition: opacity 0.3s ease; +} + + +.menu-item-font { + font-size: var(--sub) !important; +} + +.menu-item-header { + opacity: 50%; +} +.current { + font-weight: bold; +} + +.menu > .primary-button { + margin-left: 2em; +} + + +/* buttons */ + +.primary-button { + padding: 1em 2em; + background-color: var(--primary); + color: var(--bg); + border-radius: 6px; + transition: transform ease 0.2s, box-shadow ease 0.2s; + display: inline-block; + font-size: 18px; + z-index: 2; + white-space: nowrap; +} + +.primary-button:hover { + transform: translate(0, -3px); + box-shadow: 0 20px 80px -10px var(--primary); +} + + +.secondary-button { + padding: 1em 2em; + background-color: var(--secondary); + color: var(--text); + border-radius: 6px; + display: inline-block; + font-size: 18px; + z-index: 1; + cursor: pointer; + transition: transform ease 0.2s; + white-space: nowrap; +} + +.secondary-button:hover { + transform: translate(0, -3px); + transition: transform ease 0.2s; +} + + + + +/* hero */ + +.hero { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 100%; + margin-bottom: 6em; + gap: 3em; +} + +.color-effect { + background: linear-gradient(120deg, var(--primary), var(--accent)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.hero-text { + display: flex; + flex-direction: column; + justify-content: center; + gap: 3em; + width: 50%; +} + +.hero-cta { + display: flex; + flex-direction: row; + gap: 1em; + flex-wrap: wrap; +} + +.hero-scroll { + display: flex; + flex-direction: row; + gap: 1em; + align-items: center; + font-size: 16px; +} + +.mondrian { + max-width: 100%; +} + +.hero-img { + width: 45%; + display: flex; + flex-direction: column; + align-items: flex-end; +} + +#mondrian-info-icon { + transition: all ease 0.3s; + position: absolute; +} + + +#mondrian-info-icon:hover { + opacity: 50%; + transition: all ease 0.3s; +} + + +/* part 1 */ + +.part1 { + width: 100%; + display: flex; + flex-direction: column; + gap: 2em; + justify-content: center; + align-items: center; +} + +.part1-rows { + width: 100%; + display: flex; + flex-direction: column; + gap: 1em; + justify-content: center; + align-items: center; +} + +.part1-cards { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: stretch; + +} + +.part1-card { + width: 30%; + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: center; + position: relative; + padding: 3em; +} + +.part1-card-bg { + background-color: var(--text); + opacity: 3%; + position: absolute; + height: 100%; + width: 100%; + border-radius: 6px; + flex: 1; + top: 0; + left: 0; + z-index: -5; +} + +.part1-card-img { + height: 50%; +} + +.highlight { + z-index: 5; + position: relative; + display: flex; + flex-direction: column; + justify-content: flex-end; +} + +.highlight::before { + content: ""; + height: 50%; + width: 100%; + display: block; + z-index: -5; + opacity: 30%; + position: absolute; + transition: all 0.3s ease; + background: linear-gradient(180deg, transparent 50%, var(--accent) 50%); +} + +.part1-card:hover > .highlight::before { + transition: all 0.3s ease; + height: 100%; +} + +.part1 > h3 { + align-self: flex-start; +} + + + +/* part 2 */ + +.part2 { + background-color: var(--secondary); + border-radius: 6px; + padding: 3em 5em; + + display: flex; + flex-direction: row; + gap: 6em; + justify-content: space-between; +} + +.part2-left { + width: 30%; +} + +.part2-right { + display: flex; + flex-direction: row; + flex-wrap: wrap; + width: 70%; + gap: 5em; +} + +.step { + width: 30%; + flex-grow: 2; +} + +.one::before { + content: '1'; + font-size: var(--h2); + font-weight: 800; + position: absolute; + transform: translate(-1em, 0); + color: var(--accent); +} + +.two::before { + content: '2'; + font-size: var(--h2); + font-weight: 800; + position: absolute; + transform: translate(-1em, 0); + color: var(--accent); +} + +.three::before { + content: '3'; + font-size: var(--h2); + font-weight: 800; + position: absolute; + transform: translate(-1em, 0); + color: var(--accent); +} + +.four::before { + content: '4'; + font-size: var(--h2); + font-weight: 800; + position: absolute; + transform: translate(-1em, 0); + color: var(--accent); +} + +.part2.get-suggestions { + background-color: #F1F1F1; +} + +/* part 3 */ + +.part3 { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: center; + width: 100%; + gap: 2em; +} + +.part3-cards { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: stretch; + width: 100%; + height: 100%; +} + +.part3-card { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + width: 30%; + padding: 1em 3em 3em 3em; + position: relative; + gap: 2em; +} + +.promo { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 1em; +} + +.promo-text { + color: var(--primary); +} + +.promo-img { + background-color: var(--primary); +} + + +.part3-list { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; +} + +.list { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 1em; + width: 100%; + +} + +.part3-bg { + background-color: var(--secondary); + opacity: 20%; + position: absolute; + height: 100%; + width: 100%; + border-radius: 6px; + z-index: -5; + top: 0; + left: 0; +} + +.best { + border: none; + background-color: var(--primary); + opacity: 15%; +} + +.part3-card-text { + display: flex; + flex-direction: column; + width: 100%; + align-items: center; +} + +.part3-card-text > p { + text-align: center; +} + +.part3-heading { + display: flex; + flex-direction: column; + align-items: center; +} + +.check-icon { + width: 20%; +} + +.list-item { + width: 80%; +} + + + +/* part 4 */ + +.part4 { + display: flex; + flex-direction: column; + align-items: center; + gap: 2em; + width: 100%; +} + +.faq-list { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + gap: 2em; +} + +.faq { + background-color: var(--secondary); + padding: 0.2em 2em; + border-radius: 6px; + width: 100%; + cursor: pointer; + overflow: hidden; + height: auto; + + max-height: 80px; +} + +.faq.expand { + transition: max-height 0.5s cubic-bezier(0, 0, 0, 0); + max-height: 500px; +} + +.faq-q { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + width: 100%; + +} + + +.faq-q > p { + font-weight: bold; +} + +.faq-q > h3 { + width: 95%; +} + + +.faq-a { + display: flex; + height: 0; + flex-direction: column; +} + +.faq-a.expand { + height: auto; +} + +.faq-icon { + transform: rotate(0deg); + transition: all ease-in-out 0.2s; + max-width: 5%; +} + +.faq-icon.expand { + transform: rotate(45deg); + transition: all ease-in-out 0.2s; +} + +.part4-heading { + display: flex; + flex-direction: column; + align-items: center; +} + + +/* part 5 - footer */ + +.part5 { + display: flex; + flex-direction: column; + align-items: center; + gap: 2em; +} + +#end > h1 { + text-align: center; +} + +.reversed { + color: var(--bg); + background-color: var(--text); +} + +.footer { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 2em; + border-radius: 6px; + background-color: var(--text); + color: var(--bg); + padding: 3em 5em; + width: 100%; + margin-bottom: 10em; +} + +.footer-cols { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: space-between; + gap: 3em; + width: 100%; +} + +.footer-col { + display: flex; + flex-direction: column; + gap: 2em; + width: 30%; +} + +.footer-col > .menu-item { + padding: 0; +} + + + + + + + +/* tip */ + +#tip-bar { + position: fixed; + top: 1em; + right: 0; + background-color: #f2f2f2; + color: var(--static2); + text-align: center; + padding: 0.5em 1em 0.5em 2em; + transition: transform 0.2s ease; + transform: translateX(40em); + z-index: 9999; + border-radius: 6px 0 0 6px; + border-bottom: 6px solid var(--primary); + + display: flex; + flex-direction: row-reverse; + align-items: center; + gap: 1em; + justify-content: start; +} + +#tip-bar.show { + transform: translateX(0); +} + +#close-btn { + background-color: transparent; + border: none; + font-size: 32px; + cursor: pointer; + color: var(--static2); +} + + +/* color source top left */ + +.color-source { + position: fixed; + padding: 0.5em 1em; + top: 1em; + left: 1em; + font-size: 14px; + color: var(--text); + background-color: var(--bg); + border-radius: 6px; + line-height: 200%; + z-index: 9999; +} + + +/* toolbar expand button */ + +.colors-rollout { + background-color: var(--static3); + color: var(--static2); + padding: 0.5em 1em; +} + +.colors-rollout.hide { + display: none; +} + +.fonts-rollout { + background-color: var(--static3); + color: var(--static2); + padding: 0.5em 1em; +} + +.fonts-rollout.hide { + display: none; +} + + +.hide { + display: none; +} + + +/* arrow */ +.text-fonts-box { + display: none; + opacity: 0; + transition: all 0.3s ease-out; +} + +.text-fonts-box.open { + display: block; + opacity: 1; +} + +.text-fonts-buttn svg { + transition: transform 0.3s ease-out; +} + +.text-fonts-buttn svg.rotate { + transform: rotate(180deg); +} + + + +.heading-fonts-box { + display: none; + opacity: 0; + transition: all 0.3s ease-out; +} + +.heading-fonts-box.open { + display: block; + opacity: 1; +} + +.heading-fonts-buttn svg { + transition: transform 0.3s ease-out; +} + +.heading-fonts-buttn svg.rotate { + transform: rotate(180deg); +} + + +/* tools */ + +.color-tools-span { + display: flex; + flex-direction: row; + gap: 6px; +} + +.color-tools-span.hide { + display: none; +} + +.font-tools-span { + display: flex; + flex-direction: row; + gap: 6px; +} + +.font-tools-span.hide { + display: none; +} + +.fonts-rollout > svg { + transition: transform ease 0.3s; +} + +.colors-rollout > svg { + transition: transform ease 0.3s; +} + +.rotateX { + transform: rotate(45deg); + transition: transform ease 0.3s; +} + + + +/* GET SUGGESTIONS PAGE */ + + + +.color-block { + width: 100%; + height: 100px; + border-radius: 10px; + + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + cursor: pointer; + user-select: none; +} + +.row { + display: flex; + flex-direction: row; + width: 100%; + gap: 1em; +} + +.main-block { + width: 65%; + height: 100px; + display: inline-block; + border-radius: 10px; + background-color: #3C62E7; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.main-block > p { + color: #fff; +} + + +.hero-img-left, .hero-img-right { + opacity: 20%; +} + + +.color-code { + opacity: 0; + transition: 0.3s ease all; + transition-delay: 0.1s; + + background-color: rgba(255, 255, 255, 0.74); + padding: 0.5em; + border-radius: 5px; + +} + +.color-block:hover > .color-code { + opacity: 1; + transition: 0.3s ease all; +} + + + +/* undo / redo */ + +#undo, #redo { + padding: 1.1em 1.5em; + background-color: var(--static3); + color: var(--static2); +} + +.option-label { + display: none; +} + +.disabled { + pointer-events: none; + opacity: 50%; + background-color: var(--static); +} + + + +/* tooltip */ + +.option .tooltip { + visibility: hidden; + width: max-content; + background-color: rgba(0, 0, 0, 0.8); + backdrop-filter: blur(20px); + color: var(--static3); + text-align: center; + padding: 10px; + border-radius: 6px; + position: absolute; + z-index: 1; + bottom: 100%; + opacity: 0; + transition: opacity 0.3s; +} + +.option:hover .tooltip { + visibility: visible; + opacity: 1; + transition: opacity 0.3s; +} + +.option .tooltip::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent; + backdrop-filter: blur(20px); +} + +.tooltip-share.copied { + background-color: var(--static5); + transition: all 0.2s ease; +} + +.tooltip-share.copied::after { + border-color: rgb(24, 172, 122) transparent transparent transparent; +} + +.tooltip { + font-size: 14px; +} + +.controls-tooltip { + font-size: 12px; + opacity: 50%; +} + +.tooltip-share.copied.hover { + opacity: 1 !important; + visibility: visible; +} + + +/* CONTRAST */ + +.contrast-light { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +.contrast-light .contrast-tooltip { + visibility: hidden; + width: max-content; + backdrop-filter: blur(20px); + color: var(--static3); + text-align: center; + padding: 10px; + border-radius: 6px; + position: absolute; + z-index: 1; + opacity: 0; + bottom: 200%; + transition: opacity 0.3s; + } + + .contrast-light:hover .contrast-tooltip { + visibility: visible; + opacity: 1; + transition: opacity 0.3s; + } + + .contrast-light .contrast-tooltip::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent; + backdrop-filter: blur(20px); + } + + + .contrast-tooltip { + font-size: 14px; +} + + +.prim-contrast > .contrast-tooltip { + background-color: var(--textcontrast); + color: var(--static2); +} + +.prim-contrast > .contrast-tooltip::after { + border-color: var(--textcontrast) transparent transparent transparent; +} + + +.sec-contrast > .contrast-tooltip { + background-color: var(--bgcontrast); + color: var(--static2); +} + +.sec-contrast > .contrast-tooltip::after { + border-color: var(--bgcontrast) transparent transparent transparent; +} + +.primbuttn-contrast > .contrast-tooltip { + background-color: var(--primarycontrast); + color: var(--static2); +} + +.primbuttn-contrast > .contrast-tooltip::after { + border-color: var(--primarycontrast) transparent transparent transparent; +} + +.secbuttn-contrast > .contrast-tooltip { + background-color: var(--secondarycontrast); + color: var(--static2); +} + +.secbuttn-contrast > .contrast-tooltip::after { + border-color: var(--secondarycontrast) transparent transparent transparent; +} + +.accent-contrast > .contrast-tooltip { + background-color: var(--accentcontrast); + color: var(--static2); +} + +.accent-contrast > .contrast-tooltip::after { + border-color: var(--accentcontrast) transparent transparent transparent; +} + + +/* ACCESSIBILITY */ + +.access-light { + height: 10px; + width: 10px; + left: 5px; + top: 5px; + border-radius: 10px; + position: absolute; + border: 1px solid rgba(255, 255, 255, 0.5); +} + +.prim-access { + background-color: var(--textaccess); +} + +.sec-access { + background-color: var(--bgaccess); +} + +.primbuttn-access { + background-color: var(--primaryaccess); +} + +.secbuttn-access { + background-color: var(--secondaryaccess); +} + +.accent-access { + background-color: var(--accentaccess); +} + + +.access-light { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +.access-light .access-tooltip { + visibility: hidden; + width: max-content; + backdrop-filter: blur(20px); + color: var(--static3); + text-align: center; + padding: 10px; + border-radius: 6px; + position: absolute; + z-index: 1; + opacity: 0; + bottom: 200%; + transition: opacity 0.3s; + } + + .access-light:hover .access-tooltip { + visibility: visible; + opacity: 1; + transition: opacity 0.3s; + } + + .access-light .access-tooltip::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent; + backdrop-filter: blur(20px); + } + + + .access-tooltip { + font-size: 14px; +} + + +.prim-access > .access-tooltip { + background-color: var(--textaccess); + color: var(--static2); +} + +.prim-access > .access-tooltip::after { + border-color: var(--textaccess) transparent transparent transparent; +} + + +.sec-access > .access-tooltip { + background-color: var(--bgaccess); + color: var(--static2); +} + +.sec-access > .access-tooltip::after { + border-color: var(--bgaccess) transparent transparent transparent; +} + +.primbuttn-access > .access-tooltip { + background-color: var(--primaryaccess); + color: var(--static2); +} + +.primbuttn-access > .access-tooltip::after { + border-color: var(--primaryaccess) transparent transparent transparent; +} + +.secbuttn-access > .access-tooltip { + background-color: var(--secondaryaccess); + color: var(--static2); +} + +.secbuttn-access > .access-tooltip::after { + border-color: var(--secondaryaccess) transparent transparent transparent; +} + +.accent-access > .access-tooltip { + background-color: var(--accentaccess); + color: var(--static2); +} + +.accent-access > .access-tooltip::after { + border-color: var(--accentaccess) transparent transparent transparent; +} + +/* locking */ + +.lock-button { + color: inherit; + position: absolute; + bottom: 3px; + right: 3px; + padding: 2px 3px 1px 3px; + background-color: transparent; + border-radius: 3px; + opacity: 0; + border: solid 1px transparent; + +} + +.locked { + opacity: 1 !important; +} + +.lock-button.locked { + background-color: rgba(225, 225, 225, 0.2); + opacity: 1; +} + +.lock-button:hover { + border: solid 1px rgba(225, 225, 225, 0.2); + background-color: rgba(225, 225, 225, 0.1); + opacity: 1; +} + +.lock-disabled { + pointer-events: none; + user-select: none; + opacity: 0 !important; +} + +.lock-open { + opacity: 0; + display: none; +} + +.lock-open.show { + opacity: 1; + display: block; +} + +.lock-closed.show { + opacity: 1; + display: block; +} + +.lock-closed { + opacity: 0; + display: none; +} + + + +/* contrast checker */ +.contrast-light { + height: 10px; + width: 10px; + left: 5px; + bottom: 5px; + border-radius: 10px; + position: absolute; + border: 1px solid rgba(255, 255, 255, 0.5); +} + +.prim-contrast { + background-color: var(--textcontrast); +} + +.sec-contrast { + background-color: var(--bgcontrast); +} + +.primbuttn-contrast { + background-color: var(--primarycontrast); +} + +.secbuttn-contrast { + background-color: var(--secondarycontrast); +} + +.accent-contrast { + background-color: var(--accentcontrast); +} + +/* responsiveness */ + +@media screen and (max-width: 1700px) { + body { + margin: 0 10%; + } +} + +@media screen and (max-width: 1500px) { + body { + margin: 0 7%; + } +} + +@media screen and (max-width: 1200px) { + body { + margin: 0 5%; + --subtitle: 20px; + --h1: 32px; + --h2: 24px; + --p: 16px; + --sub: 14px; + + } + + .option > div, .option > label { + font-size: 14px; + } + + .toolbar { + bottom: 2em; + } + + h1 { + font-size: 32px; + } + + h2 { + font-size: 24px; + } + + .subtitle { + font-size: 20px; + } + + + + h3 { + font-size: 20px; + } + + p { + font-size: 16px; + } + + .sub { + font-size: 14px; + } + + .docs-ul { + font-size: 16px !important; + } + + .small { + font-size: 12px !important; + } + + li { + font-size: 16px; + } + + +} + +@media screen and (max-width: 1100px) { + + body { + gap: 2em; + margin-top: 6em; + } + + .sitename { + font-size: 20px; + } + .hero { + flex-wrap: wrap; + justify-content: center; + } + + .part1-cards { + flex-direction: column; + gap: 2em; + } + + .faq { + background-color: var(--secondary); + padding: 0.2em 2em; + border-radius: 6px; + width: 100%; + cursor: pointer; + overflow: hidden; + height: auto !important; + transition: none; + max-height: none !important; + } + + .faq.expand { + height: auto !important; + max-height: auto !important; + transition: none; + } + + + .part1-card { + width: 100%; + } + + .part2 { + flex-direction: column; + + } + + .part3-cards { + flex-direction: column; + gap: 2em; + } + + .part3-card { + width: 100%; + } + + .part2-left { + width: 100%; + } + + .part2-right { + width: 100%; + } + + .toolbar { + flex-wrap: wrap; + justify-content: center; + } + + nav { + flex-wrap: wrap; + position: fixed; + background-color: var(--bg); + padding: 10px 20px; + top: 0; + margin: 0 20px; + z-index: 10000; + width: 100%; + gap: 3em; + + } + + main { + margin: 3% 5%; + width: 100%; + } + + .footer-cols { + flex-direction: column; + } + + .footer-col { + width: 100%; + } + + .footer { + padding: 3em; + } + + .hero-text { + width: 100%; + gap: 1em; + } + + .hero-img { + width: 80%; + } + + .mondrian { + height: auto; + } + + .hero { + flex-direction: column-reverse; + align-items: center; + gap: 2em; + } + + .logoface { + width: 30px; + } + + + .hero-cta { + flex-direction: column; + } + + .primary-button, .secondary-button { + text-align: center; + } + + .menu { + display: flex; + flex-direction: column !important; + height: 100%; + align-items: flex-start; + gap: 0.5em; + width: 100%; + justify-content: flex-start; + height: 100vh; + } + + .menu :nth-child(4) { + display: none; + } + + .menu-item-mobile { + background-color: rgba(246, 246, 246, 0.2); + padding: 1.5em; + width: 100%; + border-radius: 5px; + } + + .menu.hide { + display: none; + } + + .option-label { + display: flex; + } + + .colors-option { + height: auto !important; + } + + + .tooltip { + display: none; + } + + + .rolloutbutton { + display: flex !important; + padding: 0.5em 5em; + + } + + .rolloutbutton.rotate-colors > svg { + transform: rotate(45deg); + } + + .toolbar { + flex-direction: row; + align-self: center; + bottom: 0; + width: 100%; + z-index: 9998; + border-radius: 0 !important; + } + + + .colors-rollout.hide { + display: flex !important; + } + + .colors-rollout { + display: flex !important; + width: 48%; + } + + .fonts-rollout { + display: flex !important; + width: 50%; + } + + .fonts-rollout.hide { + display: flex !important; + } + + .divider-line { + display: none; + } + + .color-tools-span { + display: none !important; + flex-direction: column !important; + position: absolute; + bottom: 100%; + + width: 100%; + background-color: #7c7c7c; + padding: 6px; + border-radius: 6px; + height: 70vh; + overflow-y: scroll; + z-index: 9900 !important; + + } + + .color-tools-span::-webkit-scrollbar-thumb, .font-tools-span::-webkit-scrollbar-thumb { + background-color: #000; + + + } + + .color-tools-span::-webkit-scrollbar-track, .font-tools-span::-webkit-scrollbar-track { + background-color: #7c7c7c; + + } + + .color-tools-span.hide { + display: flex !important; + } + + .font-tools-span { + flex-direction: column !important; + position: absolute; + bottom: 100%; + width: 100%; + background-color: #7c7c7c; + padding: 6px; + border-radius: 6px; + height: 80vh; + overflow-y: scroll; + } + + .heading-fonts-buttn { + flex-direction: column; + height: auto; + } + + .heading-fonts-buttn > svg { + display: none; + } + + .heading-fonts-box { + position: relative; + bottom: 0; + display: block !important; + opacity: 1 !important; + width: 100%; + } + + + + .text-fonts-buttn { + flex-direction: column; + height: auto; + } + + .text-fonts-buttn > svg { + display: none; + } + + .text-fonts-box { + position: relative; + bottom: 0; + display: block !important; + opacity: 1 !important; + width: 100%; + } + + .fonts-row :nth-child(1) { + width: 75% !important; + } + + + .rollout-colors { + display: none !important; + } + + .get-suggestions-toolbar { + flex-direction: row; + align-self: center; + } + + .hero-img-left, .hero-img-right { + display: none; + } + + .main-block > p { + font-size: 12px; + } + + .color-block > p { + font-size: 12px; + } + + .main-block { + height: 150px !important; + } + + .color-block { + height: 150px !important; + } + + .row { + width: 100% !important; + } + + /* hamburger menu */ + + .ham-menu { + display: flex; + background-color: rgba(255, 255, 255, 0.3); + padding: 0.8em 0.5em; + border-radius: 5px; + } + + #hamburger { + display: inline-block; + cursor: pointer; + background-color: transparent; + border: none; + padding: 0; + margin: 0; + position: relative; + width: 20px; + height: 10px; + } + + #hamburger span { + position: absolute; + left: 0; + width: 100%; + height: 2px; + background-color: var(--text); + transition: transform 0.3s ease; + } + + #hamburger span:first-child { + top: 0; + } + + #hamburger span:last-child { + bottom: 0; + } + + #hamburger.active span:first-child { + transform: translateY(4px) rotate(45deg); + } + + #hamburger.active span:last-child { + transform: translateY(-4px) rotate(-45deg); + } + + .disabled { + background: #c2c2c2 !important; + opacity: 1; + color: #aaaaaa !important; + } + + .disabled > svg { + opacity: 20%; + } + + .content-list-scroll { + display: none !important; + } + + .content-list { + flex-direction: column !important; + } + + .col1, .col2, .col3 { + width: 100% !important; + } + + main { + overflow: visible !important; + } + + .main-content { + overflow-y:inherit !important; + width: 100% !important; + padding-right: 0 !important; + } + + #popup { + max-width: 90%; + z-index: 10002 !important; + } + + #popup > * { + font-size: 14px; + } + + #overlay { + z-index: 10001 !important; + } + + pre { + font-size: 14px; + } + + .color-settings { + position: relative !important; + align-self: center !important; + bottom: auto !important; + } + + .theme, .randomize, .undo, .redo, .export, .share-link { + width: 100%; + min-height: 50px !important; + } + + + .tabList { + overflow: scroll; + } + + .tabList::-webkit-scrollbar { + height: 5px; + } + + .tab { + white-space: nowrap; + } + + + .randomize-options-open { + display: none !important; + } + + .bento-wrapper { + grid-template-columns: 1fr !important; + grid-template-rows: repeat(4, 1fr) !important; + } + + .first-row-col1 { + grid-area: auto !important; + } + + .first-row-col2 { + grid-area: auto !important; + } + + .second-row-col1 { + grid-area: auto !important; + } + + .second-row-col2 { + grid-area: auto !important; + } + + .figma-icon { + left: -140px !important; + height: 70% !important; + top: 50%; + } + + .doc-item.main-page { + width: 100% !important; + } + + .share-link-buttn::after { + display: none !important; + } + +} + +@media screen and (max-width: 800px) { + + .step {width: 100%;} + + .part2 { + gap: 1em; + } + + .part2-right { + gap: 1em; + } + + .color-code { + font-size: 10px; + } + +} + + + +/* docs page */ +.content-list { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: space-between; + gap: 2em; + width: 100%; +} + +.docs-ul { + font-size: var(--p); + line-height: 2; +} + +.col1, .col2 { + display: flex; + flex-direction: column; + align-items: stretch; + width: 50%; + text-align: center; + gap: 1em; + position: relative; +} + +.doc-link { + padding: 1em; + display: block; + width: 100%; + border-radius: 6px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.doc-item { + position: relative; +} + +.doc-date { + opacity: 60%; +} + +code { + padding: 3px; + font-family: 'IBM Plex Mono'; + font-size: var(--sub); + border-radius: 6px; + background-color: rgba(129, 129, 129, 0.3); +} + +.doc-img { + border-radius: 6px; + max-width: 100%; +} + +.col1-doc-link-bg { + width: 100%; + height: 100%; + background-color: var(--primary); + opacity: 10%; + border-radius: 6px; + position: absolute; + top: 0; + left: 0; + z-index: -50; + transition: opacity 0.3s ease; +} + +.doc-item:hover > .col1-doc-link-bg { + opacity: 20%; + transition: opacity 0.3s ease; +} + +.col2-doc-link-bg { + width: 100%; + height: 100%; + background-color: var(--accent); + opacity: 5%; + border-radius: 6px; + position: absolute; + top: 0; + left: 0; + z-index: -50; + transition: all 0.3s ease; +} + +.doc-item:hover > .col2-doc-link-bg { + opacity: 10%; + transition: all 0.3s ease; +} + +.col3-doc-link-bg { + width: 100%; + height: 100%; + background-color: var(--text); + opacity: 10%; + border-radius: 6px; + position: absolute; + top: 0; + left: 0; + z-index: -50; + transition: opacity 0.3s ease; +} + +.doc-item:hover > .col3-doc-link-bg { + opacity: 20%; + transition: opacity 0.3s ease; +} + +.content-list-scroll { + flex-direction: column; + width: 20%; + align-items: flex-start; + text-align: left; + overflow-y: scroll; + height: 90%; + position: static; + padding-right: 1em; +} + +.content-list-scroll > * { + text-align: left; +} + +.doc-h3 { + opacity: 20%; + font-size: 18px; + text-transform: uppercase; +} + +.doc-page-link { + text-align: left; +} + +.doc-page-link:hover{ + color: var(--primary); +} + +::-webkit-scrollbar { + width: 8px; + background-color: rgba(131, 131, 131, 0.1); +} + +::-webkit-scrollbar-thumb { + background-color: rgba(129, 129, 129, 0.5); + +} + +::-webkit-scrollbar-thumb:hover { + background-color: rgba(129, 129, 129, 0.9); + +} + +.quote { + margin: 2em 0 2em 0; + padding: 2em; + background-color: var(--secondary); + display: block !important; + font-size: var(--p); + line-height: 1.5; + border-left: 5px solid var(--accent); +} + + +.main-content { + flex-direction: column; + width: 80%; + align-items: flex-start; + text-align: left; + overflow-y: scroll; + height: 90%; + padding-right: 6em; +} + +table { + margin: 2em 0; +} + +.main-content > h3 { + margin-top: 2em; +} + +.main-content > img { + margin-top: 2em; + margin-bottom: 2em; +} + +::-webkit-scrollbar { + margin-left: 1em; +} + + +.content-footer { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 2em; +} + + +.bottom-nav-doc { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 4em; +} + +.navigation-doc { + font-size: var(--sub); +} + +/* export */ +#overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 9998; +} + +export-options { + display: none; +} + +#popup { + display: none; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: fit-content; + background-color: white; + padding: 20px; + z-index: 9998; + color: black; + border-radius: 6px; +} + +pre::selection { + background-color: rgba(0,0,0,0.2); +} + +.tabList { + display: flex; + list-style: none; + padding: 0; + margin: 0; + position: relative; + border-bottom: 1px solid rgba(225, 225, 225, 0.5); +} + +.tab { + cursor: pointer; + padding: 10px; + margin-right: 10px; + white-space: nowrap; +} + + +.tabContent { + display: none; + gap: 1em; +} + +.tabContent > p { + margin: 0; +} + +.tabContent.active { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 15px 10px 0px 10px; +} + +.export-label { + padding: 1em 0 0 0; +} + +.line { + position: absolute; + bottom: 0; + height: 3px; + background-color: black; + transition: width 0.3s ease-in-out, transform 0.3s ease-in-out; + width: 0; + transform: translateX(0); + border-radius: 10px 10px 0 0; +} + +.tab.active ~ .line, +.line.active { + width: var(--tab-width); + transform: translateX(var(--tab-position)); +} + +.tab.active { + font-weight: bold; +} + + +.file-name-input { + font-size: var(--p); + border: 1px solid rgba(0,0,0,0.1); + border-radius: 6px; + background-color: transparent; + color: currentColor; + outline: none; + width: 100%; + box-sizing: border-box; + position: relative; + padding: 1em; +} + +.file-name-input:focus { + background-color: rgba(0,0,0,0.05); + border: 1px solid rgba(0,0,0,0.5); +} + +.file-name-input:hover { + background-color: rgba(0,0,0,0.05); + +} + +.error-message { + color: #ff8f8f; +} + + + + + +.code-block { + background-color: rgba(225, 225, 225, 0.2); + border: 1px solid rgba(225, 225, 225, 0.7); + padding: 1em; + font-family: "IBM Plex Mono", monospace; + position: relative; + color: black; + border-radius: 6px; + width: 100%; + font-size: var(--p); +} + +pre { + margin: 0; + white-space: pre-wrap; +} + + +.docs-table { + font-size: var(--p); + line-height: 1.5; + border: 1px solid rgba(225, 225, 225, 0.5); + border-radius: 6px; +} + +th, td { + padding: 1.5em 2em; + border: 1px solid rgba(225, 225, 225, 0.5); + border-radius: 4px; +} + +th { + background-color: var(--secondary); +} + + +.industry-selection, .vibe-selection { + height: 50px; + font-size: var(--p); + width: fit-content; + padding: 5px; + border: 1px solid rgba(225, 225, 225, 0.3); + border-radius: 6px; + background-color: rgba(225, 225, 225, 0.2); + color: var(--text); + font-family: 'Inter'; +} + +select > option { + background-color: var(--bg); + font-family: 'Inter'; +} + +select > option:hover { + background-color: var(--accent); +} + +.color-wizard { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + justify-content: space-between; + gap: 1em; +} + +.wizard-button { + align-self: flex-end; + cursor: pointer; +} + +.color-wizard > div:not(.wizard-button) { + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; +} + +.industry-label, .vibe-label { + padding: 0 0 20px 0; +} + +#color-suggestions { + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 1em; + width: 100%; + justify-content: flex-start; + align-items: stretch; + +} + +#color-suggestions > div { + height: 100px; + width: auto; + border-radius: 6px; + flex: 1 0 30%; + min-width: 30%; + max-width: 50%; +} + +.color-box { + width: 50px; + height: 50px; + margin: 5px; + cursor: pointer; + position: relative; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.color-box::after { + content: attr(data-hex); + position: absolute; + background-color: var(--bg); + color: var(--text); + padding: 5px; + border-radius: 4px; + font-size: var(--sub); + opacity: 0; + pointer-events: none; + transition: opacity 0.3s ease; +} + +.color-box:hover::after { + opacity: 1; +} + +.copied::after { + content: "Copied!"; +} + + + + + + + + + + + .color-settings { + display: none; + width: auto; + height: auto; + background-color: white; + position: absolute; + bottom: 120%; + border-radius: 10px; + padding: 15px; + border-radius: 10px; + box-shadow: 0 0px 20px 1px rgba(0,0,0,0.1), 0 0px 0px 1px rgba(0,0,0,0.1); + cursor: auto; + box-sizing: content-box; + width: 200px; + align-self: flex-start; + z-index: 9999; + + flex-direction: column; + } + + + .open-settings { + display: flex; + } + + + + + + + + + + + + + + + + + .sat-lightness-picker { + position: relative; + height: 200px; + width: 200px; + user-select: none; + + border-radius: 7px; + box-sizing: border-box; + + } + + .white-overlay, .black-overlay, .color-underlay { + top: 0; + left: 0; + position: absolute; + width: 100%; + height: 100%; + box-sizing: border-box; + + } + .white-overlay { + background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%); + z-index: 1; + border-radius: 5px; + outline: 1px solid rgba(0,0,0,0.1); + outline-offset: -1px; + + } + .black-overlay { + background: linear-gradient(to bottom, transparent 0%, #000 100%); + z-index: 2; + border-radius: 6px 0 6px 6px; + } + .color-underlay { + background: cyan; + z-index: 0; + border-radius: 6px; + } + .sl-handle { + position: absolute; + width: 10px; + height: 10px; + margin-left: -5px; + margin-top: -5px; + background-color: transparent; + z-index: 4; + border-radius: 50%; + transform: translate3d(300px, 0, 0); + box-shadow: 0 0px 0px 5px rgba(0,0,0,0.1), inset 0 0 0px 1px rgba(0,0,0,0.1); + outline: 4px solid white; + box-sizing: content-box; + } + + .sl-handle:hover { + cursor:pointer; + } + + + .hue-picker { + height: 12px; + width: 100%; + margin-top: 15px; + background: linear-gradient(to right, red 0%, #ff0 17%, lime 33%, cyan 50%, blue 66%, #f0f 83%, red 100%); + border: none; + border-radius: 50px; + outline: 1px solid rgba(0,0,0,0.1); + outline-offset: -1px; + border-radius: 50px; + z-index: 3; + position: relative; + height: 12px; + } + .hue-picker input[type="range"] { + appearance: none; + width: 100%; + margin: 0; + background: transparent; + outline: none; + + } + .hue-picker input[type="range"]:focus { + outline: none; + } + .hue-picker input[type="range"]::-webkit-slider-runnable-track { + background: transparent; + border: none; + outline: none; + + } + .hue-picker input[type="range"]::-webkit-slider-thumb { + appearance: none; + width: 12px; + height: 12px; + margin-bottom: 4px; + outline: 4px solid white; + background-color: transparent; + border-radius: 50%; + box-shadow: 0 0 0px 5px rgba(0,0,0, 0.12); + z-index: 5; + position: relative; + } + + .hue-picker input[type="range"]:active::-webkit-slider-thumb { + outline: 6px solid white; + box-shadow: 0 0 0px 7px rgba(0,0,0, 0.12); + cursor: pointer; + } + + .hue-picker input[type="range"]:hover::-webkit-slider-thumb { + cursor: pointer; + } + + .color-output { + display: flex; + margin-top: 15px; + gap: 10px; + } + .color-output input { + + border: none; + width: 100px; + font-size: 16px; + font-family: "Menlo", monospace; + padding: 0; + outline: 1px solid rgba(0,0,0,0.1); + outline-offset: -1px; + border-radius: 6px; + } + + .color-output input:focus { + outline: 1px solid rgba(0,0,0,0.4); + } + .selected-color { + width: 40px; + height: 40px; + border-radius: 6px; + outline: 1px solid rgba(0,0,0,0.1); + outline-offset: -1px; + } + + +.copy-icon { + height: 40px; + width: 40px; + position: relative; + opacity: 0.6; +} + +.copy-icon > svg { + width: 100%; + height: 100%; +} + +.copy-icon:hover{ + opacity: 1; + cursor: pointer; +} + + +.font-type-input { + font-size: var(--p); + + border: none; + width: 100%; + outline: 1px solid rgba(0,0,0,0.1); + outline-offset: -1px; + border-radius: 6px; + height: 60px; + padding: 0 20px; + box-sizing: border-box; +} + +.font-type-input::selection { + background-color: rgba(0,0,0,0.2); +} + +.font-type-input:focus { + + outline: 1px solid rgba(0,0,0,0.5); + +} + +.font-input-label { + margin: 0; +} + +.font-type-input::placeholder { + text-transform: none; +} + +.error-message-fonts { + display: none; + opacity: 0.6; +} + +.enter-icon { + position: absolute; + top: 40%; + right: 10px; + opacity: 0.3; +} + + + +.font-input-cont { + position: relative; +} + + +.darkorlight-cont { + display: flex; + flex-direction: column; + overflow: hidden; + + height: 30px; + + +} + + + +.darkorlight-cont > svg { + height: 30px !important; + width: 30px; + + +} + +.darkorlight-wrapper { + height: 200%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + transition: transform 0.5s ease; + transform: translateY(-30px); +} + + + + + + +/* code type */ + +.code-type-cont { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + width: 100%; + gap: 10px; +} + +.code-type { + padding: 5px 20px; + box-sizing: border-box; + border: 2px solid #e1e1e1; + border-radius: 6px; + cursor: pointer; +} + +.code-type.selected-type { + background-color: black; + border: 2px solid black; + color: white; +} + + + + +.shade-cont > * > div { + height: 40px; + border-radius: 6px; + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + max-width: 45%; + cursor: pointer; +} + + +.shade-cont { + display: flex; + flex-direction: row; + width: 100%; + justify-content: space-between; + gap: 5px; + +} + +.shade-cont > * { + width: 100%; + display: flex; + flex-direction: row; + gap: 5px; + flex-wrap: wrap; +} + +.shade-cont > *:empty { + display: none; + } + + + + + .hex-value { + visibility: hidden; + position: absolute; + padding: 5px 5px; + background-color: rgba(255, 255, 255); + color: black; + border-radius: 4px; + font-size: 12px; + cursor: pointer; + z-index: 1; + user-select: none; + } + + + +#qrcode { + align-self: center; + padding: 2em; +} + + + +.scheme-option { + cursor: pointer; + padding: 5px 10px; + border-radius: 6px; + border: 1px solid #e1e1e1; + box-sizing: border-box; + color: black; + font-size: 14px; + width: 250px; +} + +.selected-scheme { + background-color: black; + color: white; + border: 1px solid black; +} + +.randomize-settings { + gap: 5px; + width: 250px; +} + +.randomize-options-open { + position: absolute; + right: 0; + + height: 100%; + align-self: center; + display: flex; + justify-content: center; + align-items: center; +} + + + +.randomize-options-open:hover { + background-color: rgba(0,0,0,0.05); +} + + + + +/* TESTIMONIALS */ + +.reviewer { + display: flex; + flex-direction: row; + width: 100%; + align-items: center; + gap: 20px; + margin-bottom: 30px; +} + +.reviewer-img { + height: 80px; + width: 80px; + border-radius: 100px; + border: 2px solid var(--text); + +} + +.reviewer-name { + font-size: var(--p); +} + +.review { + font-size: var(--subtitle); +} + +.rating { + align-self: flex-start; +} + +.r-one { + background-color: var(--primary); +} + +.r-three { + background: linear-gradient(45deg, var(--primary), var(--accent)); +} + +.r-two { + background: var(--secondary); +} + + + +.featured-col { + flex-wrap: wrap; + width: 100%; + gap: 2em; +} + +.doc-item.main-page { + width: 30%; +} + +/* BENTO */ + +.bento-wrapper { + display: grid; + grid-gap: 10px; + grid-template-columns: repeat(5, 1fr); + grid-template-rows: 60% 40%; + margin: 0; + padding: 0; + box-sizing: border-box; + width: 100%; + +} + +.first-row-col1 { + grid-area: 1 / 1 / 2 / 5; +} + +.first-row-col2 { + grid-area: 1 / 5 / 2 / 6; +} + +.second-row-col1 { + grid-area: 2 / 1 / 3 / 4; +} + +.second-row-col2 { + grid-area: 2 / 4 / 3 / 6; +} + +.bento-wrapper li { + list-style-type: none; + padding: 5rem 1rem; + text-align: center; + max-width: 100%; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + gap: 20px; + overflow: hidden; +} + + +.part6 { + width: 100%; + max-width: 1920px; + display: flex; + flex-direction: column; + gap: 2em; + justify-content: center; + align-items: center; +} + +.primary-color-box { + background-color: var(--primary); + color: var(--text); + font-size: var(--h1); + font-weight: bold; +} + +.secondary-color-box { + background-color: var(--secondary); + color: var(--text); + font-size: var(--h2); + font-weight: bold; +} + +.text-color-box { + position: relative; + background-color: var(--text); + color: var(--bg); + font-size: var(--subtitle); +} + +.figma-icon { + position: absolute; + left: -120px; + height: 120%; +} + +.bento-link { + font-size: var(--p); +} + +.link.bento-link { + background-position-y: -0%; + background-image: linear-gradient(180deg, transparent 50%, var(--bg) 50%) !important; + transition: all 0.1s ease; + background-size: 2px; + background-size: auto 190%; + padding: 3px 0; +} + +.link.bento-link:hover { + background-position-y: 100%; + color: var(--text); + transition: all 0.1s ease; +} + +.accent-color-box { + background-color: var(--accent); + color: var(--text); + font-size: var(--subtitle); +} + + + + +.mc-banner, .mc-modal { + z-index: 10000 !important; +} + +.example-column { + display: flex; + flex-direction: row; + flex-wrap: wrap; + width: 100%; + position: relative; + gap: 1em; + margin: 2em 0; +} + +a.example-item { + max-width: 20%; +} + +.example-item { + + height: auto; + padding: 1em; + display: flex; + flex-direction: column; + position: relative; + + border-radius: 10px; + gap: 10px; + +} + +.example-item > * { + z-index: 5; +} + +.example-item-bg { + position: absolute; + width: 100%; + height: 100%; + background-color: var(--secondary); + z-index: 1; + left: 0; + top: 0; + border-radius: 10px; + opacity: 50%; +} + +.example-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.example-item > img { + width: 250px; + height: 150px; + max-width: 100%; + border-radius: 5px; +} + +.example-link { + padding: 10px; + border-radius: 6px; + background-color: transparent; + display: flex; + justify-content: center; + align-items: center; +} + +.example-link:hover { + background-color: var(--bg); +} diff --git a/src/build.rs.txt b/src/build.rs.txt new file mode 100644 index 0000000..77ef744 --- /dev/null +++ b/src/build.rs.txt @@ -0,0 +1,28 @@ +use std::io::Write; + +pub fn main() { + println!("cargo:rerun-if-changed=build.rs"); + println!("cargo:rerun-if-changed=Cargo.lock"); + + let root_dir: std::path::PathBuf = std::env::var("CARGO_MANIFEST_DIR").unwrap().into(); + let generated_dir = root_dir.join("generated"); + let js_dir = generated_dir.join("js"); + + leptonic_theme::generate(generated_dir.join("leptonic")); + println!("cargo:warning=theme written"); + + std::fs::create_dir_all(js_dir.clone()).unwrap(); + println!("cargo:warning=js dir created"); + + std::fs::File::create(js_dir.join("tiptap-bundle.min.js")) + .unwrap() + .write_all(leptos_tiptap_build::TIPTAP_BUNDLE_MIN_JS.as_bytes()) + .unwrap(); + println!("cargo:warning=tiptap-bundle.min.js written"); + + std::fs::File::create(js_dir.join("tiptap.js")) + .unwrap() + .write_all(leptos_tiptap_build::TIPTAP_JS.as_bytes()) + .unwrap(); + println!("cargo:warning=tiptap.js written"); +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..2742497 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,47 @@ +use cfg_if::cfg_if; +use leptos::*; +// use leptos::{component, view, IntoView, Scope}; +use leptos_meta::*; +use leptos_router::*; +use routes::{nav::*, home::*, main::*, footer::*}; +// mod api; +// pub mod error_template; +// pub mod fallback; +// pub mod handlers; +mod routes; + +#[component] +pub fn App(cx: Scope) -> impl IntoView { + provide_meta_context(cx); + + view! { + cx, +
+ + + + +
+ } +} + +// Needs to be in lib.rs AFAIK because wasm-bindgen needs us to be compiling a lib. I may be wrong. +cfg_if! { + if #[cfg(feature = "hydrate")] { + use wasm_bindgen::prelude::wasm_bindgen; + + #[wasm_bindgen] + pub fn hydrate() { + _ = console_log::init_with_level(log::Level::Debug); + console_error_panic_hook::set_once(); + leptos::mount_to_body(move |cx| { + view! { cx, } + }); + } + } +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..306380b --- /dev/null +++ b/src/main.rs @@ -0,0 +1,10 @@ +use geohot_csr::*; +use leptos::*; + +pub fn main() { + _ = console_log::init_with_level(log::Level::Debug); + console_error_panic_hook::set_once(); + mount_to_body(|cx| { + view! { cx, } + }); +} diff --git a/src/routes.rs b/src/routes.rs new file mode 100644 index 0000000..9a9312a --- /dev/null +++ b/src/routes.rs @@ -0,0 +1,7 @@ +pub mod nav; +pub mod home; +pub mod main; +pub mod footer; +// pub mod stories; +// pub mod story; +// pub mod users; diff --git a/src/routes/footer.rs b/src/routes/footer.rs new file mode 100644 index 0000000..4546458 --- /dev/null +++ b/src/routes/footer.rs @@ -0,0 +1,50 @@ +use leptos::*; + +#[component] +pub fn Footer(cx: Scope) -> impl IntoView { + // let (value, set_value) = create_signal(cx, 0); + + view! { cx, + + } +} diff --git a/src/routes/home.css b/src/routes/home.css new file mode 100644 index 0000000..a6f6d42 --- /dev/null +++ b/src/routes/home.css @@ -0,0 +1,63 @@ + + +/* hero */ + +.hero { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 100%; + margin-bottom: 6em; + gap: 3em; +} + +.color-effect { + background: linear-gradient(120deg, var(--primary), var(--accent)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.hero-text { + display: flex; + flex-direction: column; + justify-content: center; + gap: 3em; + width: 50%; +} + +.hero-cta { + display: flex; + flex-direction: row; + gap: 1em; + flex-wrap: wrap; +} + +.hero-scroll { + display: flex; + flex-direction: row; + gap: 1em; + align-items: center; + font-size: 16px; +} + +.mondrian { + max-width: 100%; +} + +.hero-img { + width: 45%; + display: flex; + flex-direction: column; + align-items: flex-end; +} + +#mondrian-info-icon { + transition: all ease 0.3s; + position: absolute; +} + + +#mondrian-info-icon:hover { + opacity: 50%; + transition: all ease 0.3s; +} diff --git a/src/routes/home.rs b/src/routes/home.rs new file mode 100644 index 0000000..cf6f045 --- /dev/null +++ b/src/routes/home.rs @@ -0,0 +1,63 @@ +use leptos::*; +// use leptos_meta::*; + +#[component] +pub fn Home(cx: Scope) -> impl IntoView { + // let (value, set_value) = create_signal(cx, 0); + + // let (active, setActive) = create_signal(cx, "navBar"); + + // let showNav = move |_cx: Scope| { setActive.set("navBar activeNavbar") }; + // let removeNav = move |_cx: Scope| { setActive.set("navBar") }; + + view! { cx, +
+
+

Visualize Your Colors
On a Real Website

+

Choosing a color palette for your website?
Use the Toolbar below to realize your choices.

+ +
+ + + + +

Scroll to see more sections

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ } +} diff --git a/src/routes/main.rs b/src/routes/main.rs new file mode 100644 index 0000000..c8f373f --- /dev/null +++ b/src/routes/main.rs @@ -0,0 +1,400 @@ +use leptos::*; + +#[component] +pub fn Main(cx: Scope) -> impl IntoView { + // let (value, set_value) = create_signal(cx, 0); + + + + view! { cx, +
+
+

Why Realtime Colors?

+
+
+ + + + + +

Saves time

+

No need to spend hours implementing different variations of colors. Decide right away!

+
+
+ +
+ + + + + + +

It 's Realistic

+

Color Palettes make it hard to pick. This tool distributes the colors on a real website.

+
+
+ +
+ + + + + + + +

It 's simple

+

Push a few buttons, and there you have it! Your very own branding colors, ready to export.

+
+
+
+
+ +
+ +
+ +
+
+

How Does it Work?

+

You 'll get your finalized color palette in 4 simple steps.

+
+
+

Start with two neutral colors for the text and the background.

+

Choose your primary and secondary colors. Primary is for main CTAs and sections, and Secondary is for less important buttons and info cards.

+

Accent color is an additional color. It appears in images, highlights, hyperlinks, boxes, cards, etc.

+

Happy with the results? Press on "Export" and choose among different options to export in various formats, like .zip, .png, CSS, SCSS, QR Code, and more.

+
+
+ +
+
+

Plans & Pricing

+

The tool is 100% free! This is just a generic section.

+
+ +
+
+
+ +

Basic

+

Free

+
+
+ + + +

Choose any color

+
+
+ + + +

Export all you want

+
+
+
+ + Get Started +
+
+ +
+
+
+ + + +

Most Popular

+
+

Pro

+

$0.00 / month

+
+
+ + + +

Choose any color

+
+
+ + + +

Export all you want

+
+
+ + + +

Get a big thank you for checking this site out

+
+
+
+ + Get Started +
+
+ +
+
+ +

Enterprise

+

$0.00 / month

+
+
+ + + +

Choose any color

+
+
+ + + +

Export all you want

+
+
+ + + +

Get a big thank you for checking this site out

+
+
+ + + +

Super duper exclusive chat via email

+
+
+
+ + Contact +
+
+
+
+ +
+
+

FAQ

+

Answers to some questions you might have.

+
+ +
+
+
+

How many colors should I choose?

+ + + + +
+
+

Normally, 3 colors are absolutely fine (meaning background, text, and one accent color).
However, if you want, you can have more. Usually, we don 't add more than 6 colors across a platform. It would just make things too... complicated. Plus, it makes it hard to keep the colors consistent throughout the design.

+
+
+ + +
+
+

How does the contrast checker work?

+ + + + +
+
+

+ The contrast checker shows the contrast ratio between the selected color and its background/foreground.>
The contrast checker has 3 lights:

+
    +
  • Red: The contrast ratio does not pass either AAA or AA. Therefore, both large and normal texts are hardly readable.
  • +
  • Yellow: The contrast ratio might pass AA but won 't pass AAA. Large texts might be readable but normal texts are probably not readable.
  • +
  • Green: The contrast ratio passes both AA and AAA. Both large and normal texts are readable.
  • +
+

Learn more about the contrast checker.

+
+
+ +
+
+

What will I receive after downloading the exported file?

+ + + + +
+
+

After downloading through export options, you will receive a .zip file. This file is compressed, so you will have to extract it.
After extracting it, you will see a .png file and a .txt file. The .png image shows your color palette in squares next to each other. The .txt file includes the color codes in HEX and RGB. You can send these files to designers or developers, or just use them in your project.

+
+
+ +
+
+

Why do some colors have some transparency?

+ + + + +
+
+

This website allows you to choose only opaque colors. However, to make the design more appealing, I 've made some parts more transparent by adding a bit of opacity to them. Of course, you can use these colors however you want in your own projects.

+
+
+ +
+
+

What does the hero image represent?

+ + + + +
+
+

The hero image is inspired by Piet Mondrian 's Composition with Large Red Plane, Yellow, Black, Grey and Blue. This composition keeps the ratio of the main colors (red, blue, and yellow) very close to the 60-30-10 rule of UI design. This is mainly why I 've chosen this composition to visualize the distribution of the colors on the page.

+
+
+ + + +
+
+

How can I set up the fonts?

+ + + + +
+
+

You can either upload a font file from your device locally in the formats .otf, .ttf, .woff, or .woff2, or you can enter the name of a font from Google Fonts or the fonts installed on your device. Read more about Font Setup.

+
+
+ +
+
+

How can I learn more about this tool?

+ + + + +
+
+

You can find more information about Realtime Colors on the Docs. You can also email me any questions you might have.

+
+
+ + + +
+
+ +
+
+

Testimonials

+

What (imaginary) people are saying about this site.

+
+
+
+
+
+
Cool User
Product Designer
+
+ + + + + + + +

"Wow! I love this site. Realtime Colors is all websites at the same time."

+
+
+ +
+
+
+
Creative Person
Product Owner
+
+ + + + + + + +

"Amazing. I found my favorite colors in literally... 2 minutes? Woah! Totally real review."

+
+
+ +
+
+
+
Real Reviewer
Developer
+
+ + + + + + + +

"Astonished. This product is so cool. You should try it and upgrade to Enterprise plan. No kidding."

+
+
+
+
+ + + +
+

Your Journey Shouldn 't End Here.

+

Follow me on social media to stay tuned on more projects.

+ Stay Tuned +
+ + + + + + + +
+ +

Tip: Press the Spacebar to randomize faster!

+
+ +
+ + } +} diff --git a/src/routes/nav copy.rs b/src/routes/nav copy.rs new file mode 100644 index 0000000..1b28319 --- /dev/null +++ b/src/routes/nav copy.rs @@ -0,0 +1,64 @@ +// use leptos::{component, view, IntoView, Scope}; +use leptos::*; +// use leptos_router::*; +use leptos_meta::*; +use leptos_icons::*; + +#[component] +pub fn Nav(cx: Scope) -> impl IntoView { + + let (active, setActive) = create_signal(cx, "navBar"); + + let showNav = move |_cx: Scope| { setActive.set("navBar activeNavbar") }; + let removeNav = move |_cx: Scope| { setActive.set("navBar") }; + + view! { cx, + + + } +} diff --git a/src/routes/nav.css b/src/routes/nav.css new file mode 100644 index 0000000..dc154fd --- /dev/null +++ b/src/routes/nav.css @@ -0,0 +1,83 @@ +/* nav */ +/* +nav { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 100%; + padding: 20px 0; +} + +.logo { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 1em; +} + +.logoface { + width: 50px; + transform: rotate(0); +} + +.logo:hover > +.logoface { + transform: rotate(360deg); + transition: all ease-in-out 0.4s; +} + +.sitename { + font-size: var(--subtitle); + letter-spacing: -0.5px; +} + +.menu { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 2%; + justify-content: flex-end; +} + +.menu.hide { + display: flex; +} + +.ham-menu { + display: none; +} + +.menu-item { + font-size: var(--sub); + width: 100%; + white-space: nowrap; + background-color: transparent; + padding: 1em; + border-radius: 6px; + transition: opacity 0.3s ease; +} + + +.menu-item:hover { + opacity: 0.6; + transition: opacity 0.3s ease; +} + + +.menu-item-font { + font-size: var(--sub) !important; +} + +.menu-item-header { + opacity: 50%; +} +.current { + font-weight: bold; +} + +.menu > .primary-button { + margin-left: 2em; +} +*/ diff --git a/src/routes/nav.rs b/src/routes/nav.rs new file mode 100644 index 0000000..94df651 --- /dev/null +++ b/src/routes/nav.rs @@ -0,0 +1,44 @@ +// use leptos::{component, view, IntoView, Scope}; +use leptos::*; +// use leptos_router::*; +use leptos_meta::*; +use leptos_icons::*; + +#[component] +pub fn Nav(cx: Scope) -> impl IntoView { + + // let (active, setActive) = create_signal(cx, "navBar"); + + // let showNav = move |_cx: Scope| { setActive.set("navBar activeNavbar") }; + // let removeNav = move |_cx: Scope| { setActive.set("navBar") }; + + view! { cx, + + + } +} diff --git a/style.css b/style.css new file mode 100644 index 0000000..189faba --- /dev/null +++ b/style.css @@ -0,0 +1,86 @@ +/*@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); + +*{ + padding: 0; + margin: 0; + box-sizing: border-box; + font-family: 'Poppins', sans-serif; +} + +:root{ + --PrimaryColor : hsl(199, 100%,33%); + --SecondaryColor: hsl(187, 85%, 43%); + --gradientColor: linear-gradient(to right, hsl(187, 85%, 43%), hsl(199, 100%, 33%) ); + --whiteColor: hsl(0, 0%, 100%); + --blackColor: hsl(201, 33%, 16%); + --textColor: hsl(240, 4%, 36%); + --whiteColorDeam: hsl(0, 0%, 93%); + --greyText :rgb(190, 190, 190); + --inputColor: rgb(239, 239, 239); + --bodyColor: rgb(240, 240, 246); + --cardBG: rgb(225, 225,235); +} + +a{ + text-decoration: none; +} + +li{ + list-style: none; +} + +.section{ + padding: 4rem 0 2rem; +} + +.container{ + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.icon{ + font-size: 2rem; + cursor: pointer; +} + +.flex{ + display: flex; + align-items: center; +} + +.grid{ + display: grid; + align-items: center; +} + +.btn{ + padding: .6rem 1.5rem; + background: var(--gradientColor); + border-radius: 3rem; + border: none; + outline: none; + cursor: pointer; +} + +.btn a{ + color: var(--whiteColor); + font-weight: 500; +} + +.btn:hover{ + background: var(--SecondaryColor); +} + +img, video{ + width: 100%; + height: auto; +} + +input{ + font-size: 100%; +} + +body{ + background: var(--bodyColor); +} +*/