diff --git a/frontend/scss/app/components/_icon_button.scss b/frontend/scss/app/components/_icon_button.scss
index 295afea60..7e1de3f33 100644
--- a/frontend/scss/app/components/_icon_button.scss
+++ b/frontend/scss/app/components/_icon_button.scss
@@ -17,4 +17,8 @@
fill: var(--icon-button-hover-color);
outline: none;
}
+
+ .svg-icon {
+ pointer-events: none;
+ }
}
\ No newline at end of file
diff --git a/frontend/src/app/components/api_user/api_user_view.rs b/frontend/src/app/components/api_user/api_user_view.rs
index 0d76a9866..6b32000fd 100644
--- a/frontend/src/app/components/api_user/api_user_view.rs
+++ b/frontend/src/app/components/api_user/api_user_view.rs
@@ -1,6 +1,6 @@
use yew::{function_component, html, Callback, Html};
use crate::app::components::loading_indicator::BusyIndicator;
-use crate::app::components::{IconButton, ToastrView};
+use crate::app::components::{AppIcon, IconButton, ToastrView};
use crate::hooks::use_service_context;
use crate::provider::DialogProvider;
@@ -24,9 +24,9 @@ pub fn ApiUserView() -> Html {
{
if let Some(ref title) = services.config.ui_config.app_title {
- html! { title.as_str() }
+ html! {
{ title } }
} else {
- html! { /*
*/ }
+ html! {
}
}
}
diff --git a/frontend/src/app/components/home.rs b/frontend/src/app/components/home.rs
index 632e23200..d262824fd 100644
--- a/frontend/src/app/components/home.rs
+++ b/frontend/src/app/components/home.rs
@@ -1,4 +1,4 @@
-use crate::app::components::{DashboardView, IconButton, InputRow, Panel, PlaylistEditorView, PlaylistExplorerView, PlaylistUpdateView, Sidebar, StatsView, ToastrView, UserlistView};
+use crate::app::components::{AppIcon, DashboardView, IconButton, InputRow, Panel, PlaylistEditorView, PlaylistExplorerView, PlaylistUpdateView, Sidebar, StatsView, ToastrView, UserlistView};
use crate::app::context::{ConfigContext, PlaylistContext, StatusContext};
use crate::hooks::{use_server_status, use_service_context};
use crate::model::{EventMessage, ViewType};
@@ -141,9 +141,9 @@ pub fn Home() -> Html {
{
if let Some(ref title) = services.config.ui_config.app_title {
- html! { title.as_str() }
+ html! {
{ title } }
} else {
- html! { /*
*/ }
+ html! {
}
}
}
diff --git a/frontend/src/app/components/input.rs b/frontend/src/app/components/input.rs
index 558ba56dc..f86ca0513 100644
--- a/frontend/src/app/components/input.rs
+++ b/frontend/src/app/components/input.rs
@@ -1,5 +1,5 @@
use web_sys::{HtmlInputElement, InputEvent, KeyboardEvent, MouseEvent};
-use yew::{function_component, html, use_effect_with, use_node_ref, use_state, Callback, Html, NodeRef, Properties, TargetCast};
+use yew::{function_component, html, use_effect_with, use_state, Callback, Html, NodeRef, Properties, TargetCast};
use crate::app::components::IconButton;
use crate::html_if;
@@ -25,7 +25,6 @@ pub struct InputProps {
#[function_component]
pub fn Input(props: &InputProps) -> Html {
- let icon_btn_ref = use_node_ref();
let hide_content = use_state(|| props.hidden);
let local_ref = props.input_ref.clone().unwrap_or_default();
@@ -41,14 +40,9 @@ pub fn Input(props: &InputProps) -> Html {
let handle_hide_content = {
let hide_content = hide_content.clone();
- let button_ref = icon_btn_ref.clone();
- Callback::from(move |(_, event): (String, MouseEvent)| {
- if let Some(target) = event.target_dyn_into::