Editable Countdown (#12)

- Editable `Countdown`
- ASCII Symbols for `Clock` states
- Update labels
This commit is contained in:
Jens K.
2024-12-12 14:16:05 +01:00
committed by GitHub
parent 4c38ac368e
commit 64300631c7
5 changed files with 75 additions and 46 deletions

View File

@@ -20,7 +20,7 @@ pub enum Time {
// Hours,
}
#[derive(Debug, Clone, Display, PartialEq, Eq)]
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Mode {
Initial,
Tick,
@@ -32,6 +32,21 @@ pub enum Mode {
Done,
}
impl fmt::Display for Mode {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Mode::Initial => write!(f, "[]"),
Mode::Tick => write!(f, ">"),
Mode::Pause => write!(f, "||"),
Mode::Editable(time, _) => match time {
Time::Seconds => write!(f, "[edit seconds]"),
Time::Minutes => write!(f, "[edit minutes]"),
},
Mode::Done => write!(f, "done"),
}
}
}
#[derive(Debug, Clone)]
pub struct Clock<T> {
initial_value: Duration,