diff --git a/frontend/Cargo.toml b/frontend/Cargo.toml index e41e491..882c457 100644 --- a/frontend/Cargo.toml +++ b/frontend/Cargo.toml @@ -16,8 +16,8 @@ serde = { version = "1.0.228", features = ["derive"] } wasm-bindgen = "0.2.118" wasm-bindgen-futures = "0.4.68" web-sys = { version = "0.3.95", features = [ - "Window","Document","Request","Response","Headers", - "SubmitEvent","InputEvent","HtmlInputElement","Event" + "Window","Document","Request","Response","Headers", "HtmlSelectElement", + "SubmitEvent","InputEvent","HtmlInputElement","Event", "HtmlFormElement" ] } gloo-net = "0.7.0" yew-router = "0.20.0" diff --git a/frontend/src/pages/ticket.rs b/frontend/src/pages/ticket.rs index 45d98f7..5a21f5f 100644 --- a/frontend/src/pages/ticket.rs +++ b/frontend/src/pages/ticket.rs @@ -1,7 +1,9 @@ use gloo_net::http::Request; use serde::{Deserialize, Serialize}; use serde_json::json; +use wasm_bindgen::JsCast; use wasm_bindgen_futures::spawn_local; +use web_sys::HtmlSelectElement; use yew::prelude::*; #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] @@ -12,6 +14,11 @@ pub struct TicketCreateScheme { pub room: i16, } +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct TicketUpdateScheme { + pub status: String, +} + #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct Ticket { pub id: i32, @@ -32,7 +39,7 @@ pub struct TicketProps { #[derive(Deserialize, Debug)] pub struct ApiError { message: String, - status: String, + _status: String, } #[component(SubmitTicket)] @@ -66,7 +73,7 @@ pub fn submit_ticket_component() -> Html { room, }; - let request = Request::post("http://localhost:8001/api/tickets/create") + let request = Request::post("/api/tickets/create") .json(&payload) .expect("Failed to build request"); @@ -81,8 +88,8 @@ pub fn submit_ticket_component() -> Html { let category_change = { let category = category.clone(); - Callback::from(move |e: InputEvent| { - let input: web_sys::HtmlInputElement = e.target_unchecked_into(); + Callback::from(move |e: Event| { + let input: web_sys::HtmlSelectElement = e.target_unchecked_into(); category.set(input.value()); }) }; @@ -122,7 +129,14 @@ pub fn submit_ticket_component() -> Html {