🎨 Factorize Room creation from MatrixRoom instances

This commit is contained in:
2023-12-31 15:21:49 +01:00
parent 04628ae10d
commit 5fe13335a1
2 changed files with 13 additions and 20 deletions

View File

@@ -7,9 +7,8 @@ use std::{collections::HashMap, sync::Arc};
use dioxus::prelude::*;
use fermi::*;
use matrix_sdk::room::Room as MatrixRoom;
use matrix_sdk::{
room::RoomMember,
room::{Room as MatrixRoom, RoomMember},
ruma::{OwnedRoomId, OwnedUserId},
};
use tokio::select;
@@ -63,6 +62,16 @@ impl Room {
}
}
pub async fn from_matrix_room(matrix_room: &MatrixRoom) -> Self {
let room_topic = matrix_room.topic().map(RefCell::new);
Self::new(
Arc::new(matrix_room.to_owned()),
room_topic,
matrix_room.is_direct().await.ok(),
)
}
pub fn name(&self) -> Option<String> {
self.matrix_room.name()
}