refactor: make the project form component handle the server calls itself

This commit is contained in:
2024-08-18 21:17:31 +02:00
parent ce7dafb576
commit 9324d841fb
5 changed files with 27 additions and 21 deletions

View File

@@ -1,14 +1,20 @@
use crate::models::project::NewProject;
use crate::server::projects::create_project;
use dioxus::core_macro::{component, rsx};
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
#[component]
pub(crate) fn ProjectForm(onsubmit: EventHandler<NewProject>) -> Element {
pub(crate) fn ProjectForm() -> Element {
rsx! {
form {
onsubmit: move |event| {
onsubmit(NewProject::new(event.values().get("title").unwrap().as_value()));
async move {
let new_project = NewProject::new(
event.values().get("title").unwrap().as_value()
);
let _ = create_project(new_project).await;
}
},
input {
r#type: "text",