use std::path::Path;
use super::{aimed, down, read};
use crate::state::{Link, Open};
use crate::ui::Channel;
pub(super) fn ask(
link: &Link,
root: &Path,
standing: &crate::state::Standing,
channel: &Channel,
aim: &crate::ui::Aim,
) {
aimed(
link,
root,
channel,
&crate::verbs::conversations(aim.address.clone()),
);
if standing.standing(&Open::Tuning) {
aimed(
link,
root,
channel,
&crate::verbs::roles(aim.address.clone()),
);
}
if standing.standing(&Open::Board) {
aimed(
link,
root,
channel,
&crate::verbs::workspace_balls(aim.address.clone()),
);
aimed(
link,
root,
channel,
&crate::verbs::marks(aim.address.clone()),
);
}
if standing.standing(&Open::Login(standing.signin())) {
aimed(
link,
root,
channel,
&crate::verbs::providers(aim.address.clone()),
);
}
if standing.standing(&Open::Clients) {
aimed(
link,
root,
channel,
&crate::verbs::clients(aim.address.clone()),
);
}
if standing.standing(&Open::Config(standing.at())) {
aimed(
link,
root,
channel,
&crate::verbs::lineages(aim.address.clone()),
);
if let Some(at) = standing.at() {
let gesture = crate::verbs::config(&at);
if at.addresses_a_workspace() {
aimed(link, root, channel, &gesture);
} else {
read(link, down(link, root, channel, &gesture), channel);
}
}
}
let Some(conversation) = standing.conversation.clone() else {
return;
};
aimed(
link,
root,
channel,
&crate::verbs::transcript(aim.address.clone(), conversation.clone()),
);
if standing.standing(&Open::Records) {
aimed(
link,
root,
channel,
&crate::verbs::steps(aim.address.clone(), conversation.clone()),
);
aimed(
link,
root,
channel,
&crate::verbs::files(aim.address.clone(), conversation.clone()),
);
aimed(
link,
root,
channel,
&crate::verbs::rail(aim.address.clone(), conversation.clone()),
);
aimed(
link,
root,
channel,
&crate::verbs::governing(aim.address.clone(), conversation),
);
}
}