rustfmt, clippy, gh actions, justfile, Default app (#4)

* `Default` app
* add zed settings
* add justfile
* flake: update devShell, ignore tests, add `just`
* update README
* gh actions: lint, format, tests. build
This commit is contained in:
Jens K.
2024-11-29 15:49:55 +01:00
committed by GitHub
parent a9e573122d
commit 3d0d55c8d8
7 changed files with 131 additions and 30 deletions

View File

@@ -7,27 +7,28 @@ use ratatui::{
widgets::{Block, Paragraph, Widget},
DefaultTerminal, Frame,
};
use strum::{Display, EnumIter, FromRepr};
use crate::footer::Footer;
use crate::pomodoro::Pomodoro;
use crate::timer::Timer;
use crate::{countdown::Countdown, utils::center};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
enum Mode {
#[default]
Running,
Quit,
}
#[derive(Debug, Clone, Copy, Display, EnumIter, FromRepr, PartialEq, Eq, PartialOrd, Ord)]
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub enum Content {
#[default]
Countdown,
Timer,
Pomodoro,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub struct App {
content: Content,
mode: Mode,
@@ -35,14 +36,6 @@ pub struct App {
}
impl App {
pub const fn new() -> Self {
Self {
content: Content::Countdown,
mode: Mode::Running,
show_menu: false,
}
}
pub fn run(mut self, mut terminal: DefaultTerminal) -> Result<()> {
while self.is_running() {
terminal

View File

@@ -11,7 +11,7 @@ use color_eyre::{eyre::Context, Result};
fn main() -> Result<()> {
color_eyre::install()?;
let terminal = ratatui::init();
let app_result = App::new().run(terminal).context("app loop failed");
let app_result = App::default().run(terminal).context("app loop failed");
ratatui::restore();
app_result
}