WIP: Start on rendering avatars
Co-Authored-By: Max Brunsfeld <max@zed.dev> Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
co-authored by
Max Brunsfeld
Nathan Sobo
parent
2cf1c697c2
commit
428c491542
+1
-1
@@ -443,7 +443,7 @@ impl ChannelMessage {
|
||||
message: proto::ChannelMessage,
|
||||
user_store: &UserStore,
|
||||
) -> Result<Self> {
|
||||
let sender = user_store.get_user(message.sender_id).await?;
|
||||
let sender = user_store.fetch_user(message.sender_id).await?;
|
||||
Ok(ChannelMessage {
|
||||
id: message.id,
|
||||
body: message.body,
|
||||
|
||||
@@ -42,6 +42,7 @@ pub struct AppState {
|
||||
pub languages: Arc<language::LanguageRegistry>,
|
||||
pub themes: Arc<settings::ThemeRegistry>,
|
||||
pub rpc: Arc<rpc::Client>,
|
||||
pub user_store: Arc<user::UserStore>,
|
||||
pub fs: Arc<dyn fs::Fs>,
|
||||
pub channel_list: ModelHandle<ChannelList>,
|
||||
}
|
||||
|
||||
+2
-1
@@ -43,8 +43,9 @@ fn main() {
|
||||
settings_tx: Arc::new(Mutex::new(settings_tx)),
|
||||
settings,
|
||||
themes,
|
||||
channel_list: cx.add_model(|cx| ChannelList::new(user_store, rpc.clone(), cx)),
|
||||
channel_list: cx.add_model(|cx| ChannelList::new(user_store.clone(), rpc.clone(), cx)),
|
||||
rpc,
|
||||
user_store,
|
||||
fs: Arc::new(RealFs),
|
||||
});
|
||||
|
||||
|
||||
+2
-1
@@ -170,8 +170,9 @@ pub fn test_app_state(cx: &mut MutableAppContext) -> Arc<AppState> {
|
||||
settings,
|
||||
themes,
|
||||
languages: languages.clone(),
|
||||
channel_list: cx.add_model(|cx| ChannelList::new(user_store, rpc.clone(), cx)),
|
||||
channel_list: cx.add_model(|cx| ChannelList::new(user_store.clone(), rpc.clone(), cx)),
|
||||
rpc,
|
||||
user_store,
|
||||
fs: Arc::new(RealFs),
|
||||
})
|
||||
}
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ impl UserStore {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn get_user(&self, user_id: u64) -> Result<Arc<User>> {
|
||||
pub async fn fetch_user(&self, user_id: u64) -> Result<Arc<User>> {
|
||||
if let Some(user) = self.users.lock().get(&user_id).cloned() {
|
||||
return Ok(user);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ use crate::{
|
||||
project_browser::ProjectBrowser,
|
||||
rpc,
|
||||
settings::Settings,
|
||||
user,
|
||||
worktree::{File, Worktree},
|
||||
AppState,
|
||||
};
|
||||
@@ -341,6 +342,7 @@ pub struct Workspace {
|
||||
pub settings: watch::Receiver<Settings>,
|
||||
languages: Arc<LanguageRegistry>,
|
||||
rpc: Arc<rpc::Client>,
|
||||
user_store: Arc<user::UserStore>,
|
||||
fs: Arc<dyn Fs>,
|
||||
modal: Option<AnyViewHandle>,
|
||||
center: PaneGroup,
|
||||
@@ -395,6 +397,7 @@ impl Workspace {
|
||||
settings: app_state.settings.clone(),
|
||||
languages: app_state.languages.clone(),
|
||||
rpc: app_state.rpc.clone(),
|
||||
user_store: app_state.user_store.clone(),
|
||||
fs: app_state.fs.clone(),
|
||||
left_sidebar,
|
||||
right_sidebar,
|
||||
|
||||
Reference in New Issue
Block a user