Cleanup
This commit is contained in:
@@ -67,7 +67,7 @@ pub fn initial_admin_setup() -> Html {
|
||||
let username = use_state(|| "".to_string());
|
||||
let pwd = use_state(|| "".to_string());
|
||||
let pwd_confirm = use_state(|| "".to_string());
|
||||
let error = use_state(|| String::new());
|
||||
let error = use_state(String::new);
|
||||
let success = use_state(|| false);
|
||||
let loading = use_state(|| false);
|
||||
let admin_check_done = use_state(|| false);
|
||||
|
||||
@@ -133,7 +133,7 @@ pub fn sidebar_state_provider(props: &SidebarProps) -> Html {
|
||||
Callback::from(move |v: bool| {
|
||||
state.set(SidebarExpandState {
|
||||
ticket_open: v,
|
||||
users_open: (*state).users_open,
|
||||
users_open: state.users_open,
|
||||
})
|
||||
})
|
||||
};
|
||||
@@ -141,10 +141,10 @@ pub fn sidebar_state_provider(props: &SidebarProps) -> Html {
|
||||
let toggle_tickets = {
|
||||
let state = state.clone();
|
||||
Callback::from(move |_| {
|
||||
let current = (*state).ticket_open;
|
||||
let current = state.ticket_open;
|
||||
state.set(SidebarExpandState {
|
||||
ticket_open: !current,
|
||||
users_open: (*state).users_open,
|
||||
users_open: state.users_open,
|
||||
});
|
||||
})
|
||||
};
|
||||
@@ -153,7 +153,7 @@ pub fn sidebar_state_provider(props: &SidebarProps) -> Html {
|
||||
let state = state.clone();
|
||||
Callback::from(move |v: bool| {
|
||||
state.set(SidebarExpandState {
|
||||
ticket_open: (*state).ticket_open,
|
||||
ticket_open: state.ticket_open,
|
||||
users_open: v,
|
||||
})
|
||||
})
|
||||
@@ -162,9 +162,9 @@ pub fn sidebar_state_provider(props: &SidebarProps) -> Html {
|
||||
let toggle_users = {
|
||||
let state = state.clone();
|
||||
Callback::from(move |_| {
|
||||
let current = (*state).users_open;
|
||||
let current = state.users_open;
|
||||
state.set(SidebarExpandState {
|
||||
ticket_open: (*state).ticket_open,
|
||||
ticket_open: state.ticket_open,
|
||||
users_open: !current,
|
||||
});
|
||||
})
|
||||
|
||||
@@ -265,10 +265,7 @@ pub fn submit_ticket_component() -> Html {
|
||||
Err(_) => None,
|
||||
}
|
||||
} else {
|
||||
match raw_trim.parse::<i16>() {
|
||||
Ok(n) => Some(n),
|
||||
Err(_) => None,
|
||||
}
|
||||
raw_trim.parse::<i16>().ok()
|
||||
}
|
||||
};
|
||||
|
||||
@@ -421,7 +418,6 @@ pub fn ticket_by_id_component(props: &TicketProps) -> Html {
|
||||
}
|
||||
let onsubmit = {
|
||||
let status = status.clone();
|
||||
let id = id.clone();
|
||||
let error = error.clone();
|
||||
|
||||
Callback::from(move |e: SubmitEvent| {
|
||||
@@ -437,7 +433,6 @@ pub fn ticket_by_id_component(props: &TicketProps) -> Html {
|
||||
.unwrap_or_else(|| (*status).clone());
|
||||
status.set(new_status.clone());
|
||||
|
||||
let id = id.clone();
|
||||
let error = error.clone();
|
||||
|
||||
spawn_local(async move {
|
||||
@@ -464,7 +459,6 @@ pub fn ticket_by_id_component(props: &TicketProps) -> Html {
|
||||
let deleting = deleting.clone();
|
||||
let delete_error = delete_error.clone();
|
||||
let ticket_state = ticket.clone();
|
||||
let id = id;
|
||||
|
||||
Callback::from(move |e: MouseEvent| {
|
||||
e.prevent_default();
|
||||
@@ -589,7 +583,7 @@ pub fn ticket_by_id_component(props: &TicketProps) -> Html {
|
||||
/// ```
|
||||
#[component(AllTickets)]
|
||||
pub fn all_tickets_component() -> Html {
|
||||
let tickets = use_state(|| Vec::<Ticket>::new());
|
||||
let tickets = use_state(Vec::<Ticket>::new);
|
||||
let error = use_state(|| None::<String>);
|
||||
let loading = use_state(|| false);
|
||||
let user = use_state(|| ActiveUser {
|
||||
@@ -605,7 +599,7 @@ pub fn all_tickets_component() -> Html {
|
||||
use_effect_with((), move |_| {
|
||||
loading.set(true);
|
||||
spawn_local(async move {
|
||||
let url = format!("/api/tickets");
|
||||
let url = "/api/tickets".to_string();
|
||||
match Request::get(&url).send().await {
|
||||
Ok(response) if response.status() == 200 => {
|
||||
match response.json::<Vec<Ticket>>().await {
|
||||
@@ -637,9 +631,8 @@ pub fn all_tickets_component() -> Html {
|
||||
.credentials(web_sys::RequestCredentials::Include)
|
||||
.send()
|
||||
.await
|
||||
{
|
||||
if response.status() == 200 {
|
||||
if let Ok(json) = response.json::<serde_json::Value>().await {
|
||||
&& response.status() == 200
|
||||
&& let Ok(json) = response.json::<serde_json::Value>().await {
|
||||
let id = json
|
||||
.get("data")
|
||||
.and_then(|d| d.get("id"))
|
||||
@@ -652,8 +645,6 @@ pub fn all_tickets_component() -> Html {
|
||||
.unwrap_or(false);
|
||||
user.set(ActiveUser { id, is_admin });
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|| ()
|
||||
});
|
||||
@@ -729,7 +720,7 @@ pub fn all_tickets_component() -> Html {
|
||||
/// ```
|
||||
#[component(ArchivedTickets)]
|
||||
pub fn archived_tickets_component() -> Html {
|
||||
let tickets = use_state(|| Vec::<Ticket>::new());
|
||||
let tickets = use_state(Vec::<Ticket>::new);
|
||||
let error = use_state(|| None::<String>);
|
||||
let loading = use_state(|| false);
|
||||
let user = use_state(|| ActiveUser {
|
||||
@@ -745,7 +736,7 @@ pub fn archived_tickets_component() -> Html {
|
||||
use_effect_with((), move |_| {
|
||||
loading.set(true);
|
||||
spawn_local(async move {
|
||||
let url = format!("/api/tickets");
|
||||
let url = "/api/tickets".to_string();
|
||||
match Request::get(&url).send().await {
|
||||
Ok(response) if response.status() == 200 => {
|
||||
match response.json::<Vec<Ticket>>().await {
|
||||
@@ -777,9 +768,8 @@ pub fn archived_tickets_component() -> Html {
|
||||
.credentials(web_sys::RequestCredentials::Include)
|
||||
.send()
|
||||
.await
|
||||
{
|
||||
if response.status() == 200 {
|
||||
if let Ok(json) = response.json::<serde_json::Value>().await {
|
||||
&& response.status() == 200
|
||||
&& let Ok(json) = response.json::<serde_json::Value>().await {
|
||||
let id = json
|
||||
.get("data")
|
||||
.and_then(|d| d.get("id"))
|
||||
@@ -792,8 +782,6 @@ pub fn archived_tickets_component() -> Html {
|
||||
.unwrap_or(false);
|
||||
user.set(ActiveUser { id, is_admin });
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|| ()
|
||||
});
|
||||
|
||||
@@ -287,7 +287,7 @@ pub fn login_component() -> Html {
|
||||
let username = use_state(|| "".to_string());
|
||||
let pwd = use_state(|| "".to_string());
|
||||
let loading = use_state(|| false);
|
||||
let error = use_state(|| String::new());
|
||||
let error = use_state(String::new);
|
||||
let success = use_state(|| false);
|
||||
let navigator = use_navigator().unwrap();
|
||||
|
||||
@@ -401,7 +401,7 @@ pub fn login_component() -> Html {
|
||||
/// ```
|
||||
#[component(AllUsers)]
|
||||
pub fn all_users_component() -> Html {
|
||||
let users = use_state(|| Vec::<FilteredUser>::new());
|
||||
let users = use_state(Vec::<FilteredUser>::new);
|
||||
let error = use_state(|| None::<String>);
|
||||
let loading = use_state(|| false);
|
||||
|
||||
@@ -413,7 +413,7 @@ pub fn all_users_component() -> Html {
|
||||
use_effect_with((), move |_| {
|
||||
loading.set(true);
|
||||
spawn_local(async move {
|
||||
let url = format!("/api/users");
|
||||
let url = "/api/users".to_string();
|
||||
match Request::get(&url).send().await {
|
||||
Ok(response) if response.status() == 200 => {
|
||||
match response.json::<Vec<FilteredUser>>().await {
|
||||
@@ -562,7 +562,7 @@ pub fn user_by_id_component(props: &UserProps) -> Html {
|
||||
let last_name = use_state(|| "".to_string());
|
||||
let username = use_state(|| "".to_string());
|
||||
let make_admin = use_state(|| false);
|
||||
let new_pwd = use_state(|| String::new());
|
||||
let new_pwd = use_state(String::new);
|
||||
let saving = use_state(|| false);
|
||||
let save_error = use_state(|| None::<String>);
|
||||
let save_success = use_state(|| false);
|
||||
@@ -612,11 +612,10 @@ pub fn user_by_id_component(props: &UserProps) -> Html {
|
||||
let save_error = save_error.clone();
|
||||
let save_success = save_success.clone();
|
||||
let user_state = user_state.clone();
|
||||
let id = id;
|
||||
|
||||
spawn_local(async move {
|
||||
let payload = UserUpdateScheme {
|
||||
id: id,
|
||||
id,
|
||||
first_name,
|
||||
last_name,
|
||||
username,
|
||||
@@ -656,7 +655,6 @@ pub fn user_by_id_component(props: &UserProps) -> Html {
|
||||
let deleting = deleting.clone();
|
||||
let delete_error = delete_error.clone();
|
||||
let user_state = user.clone(); // or ticket
|
||||
let id = id;
|
||||
|
||||
Callback::from(move |e: MouseEvent| {
|
||||
e.prevent_default();
|
||||
|
||||
@@ -156,7 +156,7 @@ fn day_counts(partials: &[TicketPartial]) -> [usize; 7] {
|
||||
chrono::Weekday::Sun => 6,
|
||||
};
|
||||
occ[idx] += 1;
|
||||
current = current + chrono::Duration::days(1);
|
||||
current += chrono::Duration::days(1);
|
||||
}
|
||||
|
||||
occ
|
||||
@@ -236,7 +236,7 @@ pub fn diagnostics_component() -> Html {
|
||||
/// ```
|
||||
#[component(TicketCount)]
|
||||
pub fn ticket_count_component() -> Html {
|
||||
let tickets = use_state(|| Vec::<Ticket>::new());
|
||||
let tickets = use_state(Vec::<Ticket>::new);
|
||||
let error = use_state(|| None::<String>);
|
||||
let loading = use_state(|| false);
|
||||
let user = use_state(|| ActiveUser {
|
||||
@@ -252,7 +252,7 @@ pub fn ticket_count_component() -> Html {
|
||||
use_effect_with((), move |_| {
|
||||
loading.set(true);
|
||||
spawn_local(async move {
|
||||
let url = format!("/api/tickets");
|
||||
let url = "/api/tickets".to_string();
|
||||
match Request::get(&url).send().await {
|
||||
Ok(response) if response.status() == 200 => {
|
||||
match response.json::<Vec<Ticket>>().await {
|
||||
@@ -284,9 +284,8 @@ pub fn ticket_count_component() -> Html {
|
||||
.credentials(web_sys::RequestCredentials::Include)
|
||||
.send()
|
||||
.await
|
||||
{
|
||||
if response.status() == 200 {
|
||||
if let Ok(json) = response.json::<serde_json::Value>().await {
|
||||
&& response.status() == 200
|
||||
&& let Ok(json) = response.json::<serde_json::Value>().await {
|
||||
let id = json
|
||||
.get("data")
|
||||
.and_then(|d| d.get("id"))
|
||||
@@ -299,8 +298,6 @@ pub fn ticket_count_component() -> Html {
|
||||
.unwrap_or(false);
|
||||
user.set(ActiveUser { id, is_admin });
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|| ()
|
||||
});
|
||||
@@ -316,7 +313,7 @@ pub fn ticket_count_component() -> Html {
|
||||
.iter()
|
||||
.filter(|t| {
|
||||
status_conditions(t)
|
||||
&& (user.is_admin || user.id.map_or(false, |uid| t.user_id == uid))
|
||||
&& (user.is_admin || (user.id == Some(t.user_id)))
|
||||
})
|
||||
.count();
|
||||
html! {
|
||||
@@ -357,8 +354,8 @@ pub fn ticket_count_component() -> Html {
|
||||
/// ```
|
||||
#[component(SubmitStats)]
|
||||
pub fn submit_stats_component() -> Html {
|
||||
let tickets = use_state(|| Vec::<TicketPartial>::new());
|
||||
let users = use_state(|| Vec::<UserPartial>::new());
|
||||
let tickets = use_state(Vec::<TicketPartial>::new);
|
||||
let users = use_state(Vec::<UserPartial>::new);
|
||||
let error = use_state(|| None::<String>);
|
||||
let loading = use_state(|| false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user