From 2277eeb03302d7e0fe7f83bcafa8ee2d2605beb9 Mon Sep 17 00:00:00 2001 From: Jens Krause <47693+sectore@users.noreply.github.com> Date: Tue, 30 Sep 2025 13:24:45 +0200 Subject: [PATCH] feat(localtime): date (#111) * feat(localtime): date * update demo --- demo/local-time.gif | Bin 28990 -> 30814 bytes src/common.rs | 11 +++++++++++ src/widgets/local_time.rs | 18 ++++++++++++++---- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/demo/local-time.gif b/demo/local-time.gif index f796b8b7e65e160a8d6cd3a18c212f35410b9534..d7cb2191bd989ab9f1fb124ca8202dd1ded87fd3 100644 GIT binary patch delta 27287 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 O=iD5VKkBA3S_1&xW)ZCb delta 25429 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 String { + format_description::parse("[year]-[month]-[day]") + .map_err(|_| "parse error") + .and_then(|fd| { + OffsetDateTime::from(*self) + .format(&fd) + .map_err(|_| "format error") + }) + .unwrap_or_else(|e| e.to_string()) + } + pub fn get_period(&self) -> String { format_description::parse("[period]") .map_err(|_| "parse error") diff --git a/src/widgets/local_time.rs b/src/widgets/local_time.rs index 633f1a6..2350838 100644 --- a/src/widgets/local_time.rs +++ b/src/widgets/local_time.rs @@ -115,6 +115,8 @@ impl StatefulWidget for LocalTimeWidget { let symbol = self.style.get_digit_symbol(); let label = Line::raw("Local Time".to_uppercase()); + let label_date = Line::raw(state.time.format_date().to_uppercase()); + let mut content_width = max(label.width(), label_date.width()) as u16; let format = state.format; let widths = self.get_horizontal_lengths(&format); @@ -127,14 +129,21 @@ impl StatefulWidget for LocalTimeWidget { widths[2] = 0; // `space` } - let width = widths.iter().sum(); + content_width = max(widths.iter().sum(), content_width); + let v_heights = [ + 1, // empty (offset) to keep everything centered vertically comparing to "clock" widgets with one label only + DIGIT_HEIGHT, // local time + 1, // label + 1, // date + ]; + let area = center( area, - Constraint::Length(max(width, label.width() as u16)), - Constraint::Length(DIGIT_HEIGHT + 1 /* height of label */), + Constraint::Length(content_width), + Constraint::Length(v_heights.iter().sum()), ); - let [v1, v2] = Layout::vertical(Constraint::from_lengths([DIGIT_HEIGHT, 1])).areas(area); + let [_, v1, v2, v3] = Layout::vertical(Constraint::from_lengths(v_heights)).areas(area); match state.format { AppTimeFormat::HhMmSs => { @@ -181,5 +190,6 @@ impl StatefulWidget for LocalTimeWidget { } } label.centered().render(v2, buf); + label_date.centered().render(v3, buf); } }