diff --git a/web/src/view/mod.rs b/web/src/view/mod.rs index b9539e0..dd72429 100644 --- a/web/src/view/mod.rs +++ b/web/src/view/mod.rs @@ -1097,11 +1097,18 @@ fn thread( let unread_thread_id = thread.thread_id.clone(); let spam_add_thread_id = thread.thread_id.clone(); let spam_unread_thread_id = thread.thread_id.clone(); + let mut title_break = None; + const TITLE_LENGTH_WRAP_LIMIT: usize = 40; + for w in subject.split_whitespace() { + if w.len() > TITLE_LENGTH_WRAP_LIMIT { + title_break = Some(C!["break-all", "text-pretty"]); + } + } div![ C!["lg:p-4", "max-w-4xl"], div![ C!["p-4", "lg:p-0"], - h3![C!["text-xl", "break-all", "text-pretty"], subject], + h3![C!["text-xl"], title_break, subject], span![removable_tags_chiclet(&thread.thread_id, &tags)], IF!(!catchup_mode => div![ C!["pt-4", "gap-2", "flex", "justify-around"], @@ -1397,11 +1404,18 @@ fn news_post( ] } + let mut title_break = None; + const TITLE_LENGTH_WRAP_LIMIT: usize = 40; + for w in subject.split_whitespace() { + if w.len() > TITLE_LENGTH_WRAP_LIMIT { + title_break = Some(C!["break-all", "text-pretty"]); + } + } div![ C!["lg:p-4", "max-w-4xl"], div![ C!["p-4", "lg:p-0"], - h3![C!["text-xl", "break-all", "text-pretty"], subject], + h3![C!["text-xl"], title_break, subject], span![tag(format!("News/{}", post.slug))], IF!(!catchup_mode => div![ C!["pt-4", "gap-2", "flex", "justify-around"],