use yew::{function_component, html, Callback, Html};
use crate::app::components::loading_indicator::BusyIndicator;
use crate::app::components::{AppIcon, IconButton, ToastrView, WebsocketStatus};
use crate::app::components::theme::Theme;
use crate::hooks::use_service_context;
use crate::provider::DialogProvider;
use yew::use_state;
use crate::app::components::api_user::playlist::ApiUserPlaylist;
#[function_component]
pub fn ApiUserView() -> Html {
let services = use_service_context();
let theme = use_state(Theme::get_current_theme);
let handle_theme_switch = {
let set_theme = theme.clone();
Callback::from(move |_| {
let new_theme = if *set_theme == Theme::Dark { Theme::Bright } else { Theme::Dark };
new_theme.switch_theme();
set_theme.set(new_theme);
})
};
let handle_logout = {
let services_ctx = services.clone();
Callback::from(move |_| services_ctx.auth.logout())
};
html! {
{
if let Some(ref title) = services.config.ui_config.app_title {
html! { { title } }
} else {
html! { }
}
}