diff --git a/application/public/styles.scss b/application/public/styles.scss index 6dfbded..d32e94e 100644 --- a/application/public/styles.scss +++ b/application/public/styles.scss @@ -83,7 +83,7 @@ a { background-color: $secondary-bg-color-light; } -input { +input,select { background-color: $secondary-bg-color-light; border: none; border-radius: 3px; diff --git a/application/src/pages/participants/add.rs b/application/src/pages/participants/add.rs index 7216d9b..a619102 100644 --- a/application/src/pages/participants/add.rs +++ b/application/src/pages/participants/add.rs @@ -1,9 +1,84 @@ use leptos::*; +#[component] +pub fn SelectOption(is: &'static str, value: ReadSignal) -> impl IntoView { + view! { + + } +} + /// Navigation bar #[component] pub fn Add() -> impl IntoView { + let websocket = expect_context::(); + + let (name, set_name) = create_signal(String::from("")); + let (group, set_group) = create_signal(String::from("A1")); + + let on_submit = move |ev: leptos::ev::SubmitEvent| { + ev.prevent_default(); + + websocket.add_person(name.get(), group.get()); + + set_name.set(String::from("")) + }; view! {

"Deelnemer toevoegen"

+
+

"WRB Timings"

+ + + +
} } diff --git a/application/src/util/surrealdb.rs b/application/src/util/surrealdb.rs index 9b09337..5af0fbb 100644 --- a/application/src/util/surrealdb.rs +++ b/application/src/util/surrealdb.rs @@ -16,6 +16,7 @@ struct SurrealRequest { enum SurrealParams { Participant, SigninParam(SigninParam), + CreatePersonParam(CreatePersonParam), String(String), } @@ -25,6 +26,12 @@ struct SigninParam { pass: String, } +#[derive(Serialize)] +struct CreatePersonParam { + name: String, + group: String, +} + #[derive(Clone, Debug)] pub struct Participant { name: String, @@ -94,6 +101,22 @@ impl SurrealContext { self.send(&json!(request).to_string()); } + + pub fn add_person(&self, name: String, group: String) { + let request = SurrealRequest { + id: 1, + method: String::from("create"), + params: vec![ + SurrealParams::String(String::from("person")), + SurrealParams::CreatePersonParam(CreatePersonParam { + name, + group: "group:".to_owned() + &group, + }), + ], + }; + + self.send(&json!(request).to_string()) + } } pub fn init_surrealdb() {