use dioxus::prelude::*;
use crate::state::app_state::AppState;
#[component]
pub fn ScreenShareIndicator() -> Element {
let state = use_context::<Signal<AppState>>();
let call = &state.read().call_state;
if !call.is_screen_sharing && !call.participants.iter().any(|p| p.is_screen_sharing) {
return rsx! {};
}
let sharer = if call.is_screen_sharing {
"You are".to_string()
} else {
call.participants
.iter()
.find(|p| p.is_screen_sharing)
.map(|p| format!("{} is", p.display_name))
.unwrap_or_else(|| "Someone is".to_string())
};
rsx! {
div {
class: "screen-share-indicator",
span { class: "screen-share-indicator__icon", "🖥" }
span { class: "screen-share-indicator__text", "{sharer} sharing their screen" }
}
}
}