use super::AppModel;
use crate::boundary::line::Context;
use crate::projects::join::owner_name;
impl AppModel {
pub fn line_context(&self) -> Context {
let join = self.focused_join().cloned();
Context {
workspace: self.focused_workspace().map(std::path::Path::to_path_buf),
agent: self.focused_agent().map(|a| a.agent_id.clone()),
project: join.as_ref().map(|row| row.project.clone()),
name: join
.as_ref()
.map(owner_name)
.or_else(|| self.focused_workspace().map(crate::start::leaf_name)),
ball: join.as_ref().and_then(|row| self.ball_spec(row)),
prepared: None,
}
}
}