refactor: flatten Fluent selectors into one message per variant

This commit is contained in:
randogoth 2026-10-08 22:32:52 +03:00
parent 06952cd20e
commit c2525fd0f0
3 changed files with 48 additions and 48 deletions

View file

@ -1810,11 +1810,13 @@ fn render(model: &Carrier, w: &mut CarrierWidgets, sender: &ComponentSender<Carr
// `contact_state` collapses to accepted/blocked once a token
// exists, which says nothing about where the key came from —
// so the server's pin state is spelled out beside it.
let mut meta_args = fluent_bundle::FluentArgs::new();
meta_args.set("state", contact_state(contact));
meta_args.set("pinned", if contact.pinned { "yes" } else { "no" });
let contact_meta_id = if contact.pinned {
"contact-meta-line-yes"
} else {
"contact-meta-line-no"
};
w.article_meta
.set_text(&i18n::t_args("contact-meta-line", Some(&meta_args)));
.set_text(&i18n::t1(contact_meta_id, "state", contact_state(contact)));
let mut body = detail_body(&contact.address, &contact.key, &contact.fingerprint);
if !contact.server.is_empty() {
body.push_str(&format!(
@ -1944,13 +1946,17 @@ fn render(model: &Carrier, w: &mut CarrierWidgets, sender: &ComponentSender<Carr
} else {
address
};
let mail_meta_id = if msg.kept {
"mail-meta-line-yes"
} else {
"mail-meta-line-no"
};
let mut meta_args = fluent_bundle::FluentArgs::new();
meta_args.set("label", label);
meta_args.set("from", from);
meta_args.set("time", escape(&ops::when(msg.time)));
meta_args.set("id", msg.id[..msg.id.len().min(8)].to_string());
meta_args.set("kept", if msg.kept { "yes" } else { "no" });
let meta = i18n::t_args("mail-meta-line", Some(&meta_args));
let meta = i18n::t_args(mail_meta_id, Some(&meta_args));
w.article_meta.set_markup(&meta);
let headers: Vec<String> = msg
.headers