feat: implement title method for an entity

This commit is contained in:
Himadri Bhattacharjee
2025-04-18 16:30:32 +05:30
parent a6d4eb3ad0
commit 2c1b899907
2 changed files with 7 additions and 10 deletions

View File

@@ -105,6 +105,10 @@ impl Entity {
self.role
}
pub fn title(&self) -> String {
format!("[{} {}]", self.name(), self.role())
}
pub fn key_data(&self) -> KeyData {
self.key.key_data().clone()
}

View File

@@ -262,17 +262,12 @@ impl Handler for AppServer {
};
let terminal = Terminal::with_options(backend, options).unwrap();
let title = {
let entity = self.entity().await;
let entity = entity.read().await;
format!("[{} {}]", entity.name(), entity.role())
};
let mut textarea = TextArea::default();
textarea.set_block(
Block::bordered()
.border_type(BorderType::Rounded)
.title(title),
.title(self.entity().await.read().await.title()),
);
let mut clients = self.clients.write().await;
@@ -382,18 +377,16 @@ impl Handler for AppServer {
let mut clients = self.clients.write().await;
let client = clients.get_mut(id).unwrap();
let title = format!("[{} {}]", ent.name(), ent.role());
let block = Block::bordered()
.border_type(BorderType::Rounded)
.title(title);
.title(ent.title());
client.textarea.set_block(block);
}
}
}
}
// TODO: re-render the textarea since it displays the current
// user's details
// re-render
self.render().await;
}
// Alt-Return for multiline