diff --git a/Cargo.lock b/Cargo.lock index a1e924a..2ba4231 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,7 +111,7 @@ dependencies = [ [[package]] name = "any_spawner" version = "0.1.1" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "futures", "thiserror", @@ -162,7 +162,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -191,7 +191,7 @@ dependencies = [ "manyhow", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -207,7 +207,7 @@ dependencies = [ "proc-macro2", "quote", "quote-use", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -508,7 +508,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.74", + "syn 2.0.75", "zstd", ] @@ -538,9 +538,9 @@ checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "camino" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3054fea8a20d8ff3968d5b22cc27501d2b08dc4decdb31b184323f00c5ef23bb" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -720,7 +720,7 @@ dependencies = [ [[package]] name = "const_str_slice_concat" version = "0.1.0" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" [[package]] name = "convert_case" @@ -855,7 +855,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -866,7 +866,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -912,7 +912,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -933,7 +933,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -943,7 +943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" dependencies = [ "derive_builder_core", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -963,7 +963,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "unicode-xid", ] @@ -1015,7 +1015,7 @@ dependencies = [ [[package]] name = "either_of" version = "0.1.0" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "pin-project-lite", ] @@ -1220,7 +1220,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -1669,7 +1669,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -1842,7 +1842,7 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hydration_context" version = "0.2.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "futures", "js-sys", @@ -1969,7 +1969,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9311685eb9a34808bbb0608ad2fcab9ae216266beca5848613e95553ac914e3b" dependencies = [ "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2052,7 +2052,7 @@ dependencies = [ [[package]] name = "leptos" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "any_spawner", "base64 0.22.1", @@ -2090,7 +2090,7 @@ dependencies = [ [[package]] name = "leptos_axum" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "any_spawner", "axum", @@ -2115,7 +2115,7 @@ dependencies = [ [[package]] name = "leptos_config" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "config", "regex", @@ -2127,7 +2127,7 @@ dependencies = [ [[package]] name = "leptos_dom" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "js-sys", "or_poisoned", @@ -2142,7 +2142,7 @@ dependencies = [ [[package]] name = "leptos_hot_reload" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "anyhow", "camino", @@ -2152,14 +2152,14 @@ dependencies = [ "quote", "rstml", "serde", - "syn 2.0.74", + "syn 2.0.75", "walkdir", ] [[package]] name = "leptos_integration_utils" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "futures", "hydration_context", @@ -2174,7 +2174,7 @@ dependencies = [ [[package]] name = "leptos_macro" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "attribute-derive", "cfg-if", @@ -2188,7 +2188,7 @@ dependencies = [ "quote", "rstml", "server_fn_macro", - "syn 2.0.74", + "syn 2.0.75", "tracing", "uuid", ] @@ -2196,7 +2196,7 @@ dependencies = [ [[package]] name = "leptos_meta" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "futures", "indexmap", @@ -2212,7 +2212,7 @@ dependencies = [ [[package]] name = "leptos_router" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "any_spawner", "either_of", @@ -2237,7 +2237,7 @@ dependencies = [ [[package]] name = "leptos_router_macro" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "proc-macro-error", "proc-macro2", @@ -2247,7 +2247,7 @@ dependencies = [ [[package]] name = "leptos_server" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "any_spawner", "base64 0.22.1", @@ -2263,9 +2263,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.156" +version = "0.2.157" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f43f184355eefb8d17fc948dbecf6c13be3c141f20d834ae842193a448c72a" +checksum = "374af5f94e54fa97cf75e945cce8a6b201e88a1a07e688b47dfd2a59c66dbd86" [[package]] name = "libdeflate-sys" @@ -2364,7 +2364,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2463,7 +2463,7 @@ dependencies = [ [[package]] name = "next_tuple" version = "0.1.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" [[package]] name = "nom" @@ -2570,7 +2570,7 @@ dependencies = [ [[package]] name = "oco_ref" version = "0.2.0" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "serde", "thiserror", @@ -2585,7 +2585,7 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "or_poisoned" version = "0.1.0" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" [[package]] name = "overload" @@ -2696,7 +2696,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2794,7 +2794,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2859,7 +2859,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "version_check", "yansi 1.0.1", ] @@ -2883,9 +2883,9 @@ dependencies = [ [[package]] name = "pulldown-cmark" -version = "0.11.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4e75767fbc9d92b90e4d0c011f61358cde9513b31ef07ea3631b15ffc3b4fd" +checksum = "4d31cbfcd94884c3a67ec210c83efb06cb43674043458b0ad59f6947f8462c23" dependencies = [ "bitflags 2.6.0", "memchr", @@ -2995,7 +2995,7 @@ dependencies = [ "proc-macro-utils", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3057,7 +3057,7 @@ dependencies = [ [[package]] name = "reactive_graph" version = "0.1.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "any_spawner", "async-lock", @@ -3240,7 +3240,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.74", + "syn 2.0.75", "syn_derive", "thiserror", ] @@ -3410,7 +3410,7 @@ checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3470,7 +3470,7 @@ dependencies = [ [[package]] name = "server_fn" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "axum", "bytes", @@ -3506,23 +3506,23 @@ dependencies = [ [[package]] name = "server_fn_macro" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "const_format", "convert_case", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "xxhash-rust", ] [[package]] name = "server_fn_macro_default" version = "0.7.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "server_fn_macro", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3725,7 +3725,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3748,7 +3748,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.74", + "syn 2.0.75", "tempfile", "tokio", "url", @@ -3895,9 +3895,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -3913,7 +3913,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3952,7 +3952,7 @@ dependencies = [ [[package]] name = "tachys" version = "0.1.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "any_spawner", "const_str_slice_concat", @@ -4016,7 +4016,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4032,7 +4032,7 @@ dependencies = [ [[package]] name = "throw_error" version = "0.2.0-beta2" -source = "git+https://github.com/leptos-rs/leptos.git#fcdfd617f530fa4d3463ee40bb368a9820679fd0" +source = "git+https://github.com/leptos-rs/leptos.git#ba40560ad78ee46a9a388f507d35351731b1e90d" dependencies = [ "pin-project-lite", ] @@ -4085,9 +4085,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", @@ -4107,7 +4107,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4342,7 +4342,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4403,7 +4403,7 @@ checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4582,7 +4582,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "wasm-bindgen-shared", ] @@ -4616,7 +4616,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4949,7 +4949,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4979,7 +4979,7 @@ checksum = "42bfd190a07ca8cfde7cd4c52b3ac463803dc07323db8c34daa697e86365978c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -5000,7 +5000,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] diff --git a/backend/src/wedding/admin.rs b/backend/src/wedding/admin.rs index 63648ef..bf13413 100644 --- a/backend/src/wedding/admin.rs +++ b/backend/src/wedding/admin.rs @@ -1,6 +1,5 @@ -use leptos::{logging, prelude::*}; -use leptos::web_sys::window; -use super::server::{all_relations, AddGuest, Relation, PartySize, NOT_AUTHORIZED_ERR}; +use leptos::{web_sys::window, prelude::*}; +use super::{SHARED_READABLE, server::{all_relations, AddGuest, Relation, PartySize, NOT_AUTHORIZED_ERR}}; // unfortunately, this whole thing's gotta be an island 'cause we want the list of relations to be // reactive to when we add a new one @@ -10,26 +9,27 @@ pub fn admin() -> impl IntoView { let relations = Resource::new(move || new_guest.version(), move |_| all_relations()); view! { + {move || Suspend::new(async move { + // leptos. why do i have to do this. I think the trait system is being fucky 'cause + // `relations` impls IntoFuture. And rust admits that. But won't compile when I + // just try to await it. Who knows + let res = relations.by_ref().await; { + // this `move` is necessary to make leptos render correctly - something about the + // owning/tracking system or whatever. move || match *res { Err(ServerFnError::ServerError(ref err)) if err == NOT_AUTHORIZED_ERR => { view! { - // leptos. why do i have to do this. I think the trait system is being fucky 'cause - // `relations` impls IntoFuture. And rust admits that. But won't compile when I - // just try to await it. Who knows - - // this `move` is necessary to make leptos render correctly - something about the - // owning/tracking system or whatever. - // mmm do we want to do a ref= thing with the login? to redirect to the right - // path? hmm // just redirect them to the normal admin since that has the yew interactive login // thing + // mmm do also we want to do a ref= thing with the login? to redirect to the right + // path? hmm @@ -38,21 +38,13 @@ pub fn admin() -> impl IntoView { } Err(ref e) => { view! { - // leptos. why do i have to do this. I think the trait system is being fucky 'cause - // `relations` impls IntoFuture. And rust admits that. But won't compile when I - // just try to await it. Who knows - - // this `move` is necessary to make leptos render correctly - something about the - // owning/tracking system or whatever. - // mmm do we want to do a ref= thing with the login? to redirect to the right - // path? hmm - // just redirect them to the normal admin since that has the yew interactive login - // thing
{format!("Ran into an error: {e}")}
} .into_any() } Ok(ref relations) => { + // feels kinda bad to clone but if we could `await` `relations` itself, then it + // would be cloned away, so this isn't like a performance hit let guests = relations .iter() .flat_map(|r| match r { @@ -66,28 +58,15 @@ pub fn admin() -> impl IntoView { _ => None, }); view! { - // leptos. why do i have to do this. I think the trait system is being fucky 'cause - // `relations` impls IntoFuture. And rust admits that. But won't compile when I - // just try to await it. Who knows - - // this `move` is necessary to make leptos render correctly - something about the - // owning/tracking system or whatever. - // mmm do we want to do a ref= thing with the login? to redirect to the right - // path? hmm - // just redirect them to the normal admin since that has the yew interactive login - // thing - // feels kinda bad to clone but if we could `await` `relations` itself, then it - // would be cloned away, so this isn't like a performance hit -

"Guests"

{guests .map(|g| { view! {
- {g.name} + {g.name} " " - {g.email.unwrap_or_else(|| "No email".into())} + {g.email.unwrap_or_else(|| "No email".into())}
"Party Size: "{g.party_size.to_string()}
diff --git a/backend/src/wedding/mod.rs b/backend/src/wedding/mod.rs index d1b6d21..a568655 100644 --- a/backend/src/wedding/mod.rs +++ b/backend/src/wedding/mod.rs @@ -1,3 +1,5 @@ +use const_format::concatcp; + pub mod main_page; pub mod server; pub mod rsvp_page; @@ -8,8 +10,51 @@ pub mod app; #[cfg(not(target_family = "wasm"))] pub mod faq; -pub const SHARED_STYLE: &str = r#" -@import url('https://fonts.googleapis.com/css2?family=Euphoria+Script&display=swap'); +pub const SHARED_STYLE: &str = concatcp!(r#" + @import url('https://fonts.googleapis.com/css2?family=Euphoria+Script&display=swap'); + * { + font-family: "Euphoria Script", Arial; + } + "#, + SHARED_NO_FONT +); + +pub const SHARED_READABLE: &str = concatcp!( + r#" + @import url('https://fonts.googleapis.com/css2?family=Amita:wght@400;700&display=swap'); + * { + font-family: "Amita", seif; + } + p, div, span, summary, strong, em { + font-size: 20px; + } + h1 { + font-size: 44px; + } + main { + margin: 0 auto; + max-width: 900px + } + body { + margin: 0; + background-color: var(--beige) + } + input, textarea { + border-radius: 10px; + border: none; + } + input { + padding: 0 10px; + font-size: 16px; + } + label { + margin-top: 16px; + } + "#, + SHARED_NO_FONT +); + +pub const SHARED_NO_FONT: &str = r#" * { --gold: #8a944d; --white: #eff1f3; @@ -19,6 +64,5 @@ pub const SHARED_STYLE: &str = r#" --beige: #cbb9b7; --dark-brown: #40332a; color: var(--dark-brown); - font-family: "Euphoria Script", Arial; } "#; diff --git a/backend/src/wedding/rsvp_page.rs b/backend/src/wedding/rsvp_page.rs index a18ed0f..d825b1c 100644 --- a/backend/src/wedding/rsvp_page.rs +++ b/backend/src/wedding/rsvp_page.rs @@ -1,8 +1,9 @@ +use const_format::concatcp; use leptos::prelude::*; use leptos_router::{hooks::use_params, params::{ParamsMap, ParamsError, Params}}; use uuid::Uuid; -use super::server::{guest_with_id, Guest, UpdateRsvp, PartySize}; +use super::{SHARED_READABLE, server::{guest_with_id, Guest, UpdateRsvp, PartySize}}; use std::{str::FromStr, sync::Arc}; @@ -21,6 +22,20 @@ impl Params for UserId { } } +const STYLE: &str = concatcp!( + SHARED_READABLE, + r#" + #full_address { + width: 100%; + } + textarea { + resize: vertical; + width: 100%; + margin-bottom: 16px; + } + "# +); + #[component] pub fn rsvp_page() -> impl IntoView { let Ok(UserId(user_id)) = use_params::().get() else { @@ -30,6 +45,7 @@ pub fn rsvp_page() -> impl IntoView { let guest = Resource::new(|| (), move |()| guest_with_id(user_id)); view! { + {move || Suspend::new(async move { match guest.await { @@ -81,12 +97,12 @@ fn rsvp_form(guest: Guest) -> impl IntoView { "What's your address (including city, state, and country if relevant)? We need this to send you an announcement :)"
- +
- +
- +
{move || match guest.party_size { @@ -132,10 +148,10 @@ fn rsvp_form(guest: Guest) -> impl IntoView {

- +