diff --git a/crates/xmedia-bot/src/send/mod.rs b/crates/xmedia-bot/src/send/mod.rs index 4c63160..0f07a0d 100644 --- a/crates/xmedia-bot/src/send/mod.rs +++ b/crates/xmedia-bot/src/send/mod.rs @@ -907,12 +907,21 @@ mod tests { // Names are folded, not one per row. assert_eq!(keyboard.inline_keyboard[0].len(), 3); assert_eq!(keyboard.inline_keyboard.last().unwrap().len(), 2); - assert_eq!(super::post_send::hidden_template_count(&templates), 140); + assert_eq!( + templates + .len() + .saturating_sub(super::post_send::MAX_TEMPLATE_BUTTONS), + 140 + ); // Under the cap nothing is hidden and every name gets a button. let few: HashMap = (0..4) .map(|i| (format!("t{i}"), "[]".to_string())) .collect(); - assert_eq!(super::post_send::hidden_template_count(&few), 0); + assert_eq!( + few.len() + .saturating_sub(super::post_send::MAX_TEMPLATE_BUTTONS), + 0 + ); assert_eq!( build_edit_markup(&few) .inline_keyboard diff --git a/crates/xmedia-bot/src/send/post_send.rs b/crates/xmedia-bot/src/send/post_send.rs index 8f82706..0f78d48 100644 --- a/crates/xmedia-bot/src/send/post_send.rs +++ b/crates/xmedia-bot/src/send/post_send.rs @@ -212,11 +212,6 @@ pub(super) fn build_edit_markup(templates: &HashMap) -> InlineKe InlineKeyboardMarkup::new(rows) } -/// How many templates the markup could not fit, for the prompt text. -pub(super) fn hidden_template_count(templates: &HashMap) -> usize { - templates.len().saturating_sub(MAX_TEMPLATE_BUTTONS) -} - /// Notifies a chat about a dead-lettered task (skips when `notify_chat_id` is /// absent). pub(crate) async fn notify_failure( @@ -282,7 +277,7 @@ pub(crate) async fn post_send_actions(ctx: &AppContext<'_>, task: &Task, message let templates = ctx.chat_store.get(chat_id).await.template; let keyboard = build_edit_markup(&templates); let mut text = edit_prompt_text(ctx.config.edit_message_ttl); - let hidden = hidden_template_count(&templates); + let hidden = templates.len().saturating_sub(MAX_TEMPLATE_BUTTONS); if hidden > 0 { // The keyboard is capped; say so instead of silently hiding them. text.push_str(&format!(