spec: show birthdays until a week out

This commit is contained in:
Robert Perce 2026-04-05 12:05:13 -05:00
parent 4f141b01c3
commit c12975926d
4 changed files with 65 additions and 44 deletions

View file

@ -20,11 +20,10 @@ pub enum Birthday {
impl Display for Birthday {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
let str = match self {
Birthday::Date(date) => date.to_string(),
Birthday::Text(t) => t.value.clone(),
};
write!(f, "{}", str)
match self {
Birthday::Date(date) => write!(f, "{}", date),
Birthday::Text(t) => write!(f, "{}", t.value),
}
}
}
@ -56,13 +55,6 @@ impl Birthday {
}
}
}
pub fn serialize(&self) -> String {
match &self {
Birthday::Text(text) => text.value.clone(),
Birthday::Date(date) => date.serialize(),
}
}
}
impl FromStr for Birthday {

View file

@ -43,15 +43,6 @@ impl YearOptionalDate {
None
}
}
pub fn serialize(&self) -> String {
format!(
"{}{:0>2}{:0>2}",
self.year.map_or("--".to_string(), |y| format!("{:0>4}", y)),
self.month,
self.day
)
}
}
impl Display for YearOptionalDate {
@ -110,6 +101,6 @@ where
&self,
buf: &mut <Sqlite as Database>::ArgumentBuffer<'r>,
) -> Result<IsNull, Box<dyn std::error::Error + Sync + Send>> {
<String as Encode<'r, Sqlite>>::encode(self.serialize(), buf)
<String as Encode<'r, Sqlite>>::encode(self.to_string(), buf)
}
}

View file

@ -57,7 +57,7 @@ fn birthdays_section(
div id="birthdays" {
h2 { "Birthdays" }
#birthday-sections {
.datelist {
.datelist #upcoming {
h3 { "upcoming" }
@for contact in &upcoming_birthdays[0..std::cmp::min(3, upcoming_birthdays.len())] {
a href=(format!("/contact/{}", contact.contact_id)) {
@ -68,7 +68,7 @@ fn birthdays_section(
}
}
}
.datelist {
.datelist #recent {
h3 { "recent" }
@for contact in &prev_birthdays[0..std::cmp::min(3, prev_birthdays.len())] {
a href=(format!("/contact/{}", contact.contact_id)) {