use dioxus::prelude::*;
use crate::pages::space_home::SpaceHome;
use crate::pages::welcome::Welcome;
use crate::room::room_screen::RoomScreen;
use crate::state::app_state::AppState;
use crate::state::room_state::RoomFilter;
#[component]
pub fn Home() -> Element {
let state = use_context::<Signal<AppState>>();
let active_room = state.read().active_room_id.clone();
let room_filter = state.read().room_filter.clone();
match active_room {
Some(room_id) => rsx! {
RoomScreen {
room_id: room_id.to_string(),
}
},
None => {
if let RoomFilter::Space(ref space_id) = room_filter {
let sid = space_id.to_string();
rsx! {
SpaceHome {
space_id: sid,
}
}
} else {
rsx! {
Welcome {}
}
}
},
}
}