server: style changes for start/end datetime on calendar widget

This commit is contained in:
Bill Thiede 2025-08-19 17:03:45 -07:00
parent b2c20cc010
commit 25839328ac

View File

@ -209,15 +209,29 @@ pub fn extract_calendar_metadata_from_mail(
use chrono::NaiveDate; use chrono::NaiveDate;
let summary_val = summary.as_deref().unwrap_or(""); let summary_val = summary.as_deref().unwrap_or("");
let organizer_val = organizer.as_deref().unwrap_or(""); let organizer_val = organizer.as_deref().unwrap_or("");
let allday = start_date.as_ref().map(|s| s.len() == 8).unwrap_or(false)
&& end_date.as_ref().map(|s| s.len() == 8).unwrap_or(false);
let local_fmt_start = start_date let local_fmt_start = start_date
.as_ref() .as_ref()
.and_then(|d| NaiveDate::parse_from_str(d, "%Y%m%d").ok()) .and_then(|d| NaiveDate::parse_from_str(d, "%Y%m%d").ok())
.map(|d| d.format("%a %b %e, %Y").to_string()) .map(|d| {
if allday {
d.format("%a %b %e, %Y").to_string()
} else {
d.format("%-I:%M %p %a %b %e, %Y").to_string()
}
})
.unwrap_or_default(); .unwrap_or_default();
let local_fmt_end = end_date let local_fmt_end = end_date
.as_ref() .as_ref()
.and_then(|d| NaiveDate::parse_from_str(d, "%Y%m%d").ok()) .and_then(|d| NaiveDate::parse_from_str(d, "%Y%m%d").ok())
.map(|d| d.format("%a %b %e, %Y").to_string()) .map(|d| {
if allday {
d.format("%a %b %e, %Y").to_string()
} else {
d.format("%-I:%M %p %a %b %e, %Y").to_string()
}
})
.unwrap_or_default(); .unwrap_or_default();
let mut event_days = vec![]; let mut event_days = vec![];
if let (Some(start), Some(end)) = (start_date.as_ref(), end_date.as_ref()) { if let (Some(start), Some(end)) = (start_date.as_ref(), end_date.as_ref()) {
@ -1710,8 +1724,17 @@ pub fn render_ical_summary(ical_data: &str) -> Result<String, ServerError> {
.unwrap_or(start); .unwrap_or(start);
let local_start = start.with_timezone(&Local); let local_start = start.with_timezone(&Local);
let local_end = end.with_timezone(&Local); let local_end = end.with_timezone(&Local);
let fmt_start = local_start.format("%c").to_string(); let allday = dtstart.len() == 8 && (dtend.map(|s| s.len() == 8).unwrap_or(false));
let fmt_end = local_end.format("%c").to_string(); let fmt_start = if allday {
local_start.format("%a %b %e, %Y").to_string()
} else {
local_start.format("%-I:%M %p %a %b %e, %Y").to_string()
};
let fmt_end = if allday {
local_end.format("%a %b %e, %Y").to_string()
} else {
local_end.format("%-I:%M %p %a %b %e, %Y").to_string()
};
let mut days = vec![]; let mut days = vec![];
let mut d = start.date_naive(); let mut d = start.date_naive();
let mut end_d = end.date_naive(); let mut end_d = end.date_naive();