ELM model init

This commit is contained in:
2026-03-20 12:42:04 +00:00
parent 0ab2395805
commit 63cbf76b3e
3 changed files with 39 additions and 22 deletions

View File

@@ -1,33 +1,50 @@
use std::{process::exit, time::Duration};
use std::{error::Error, process::exit, time::Duration};
use data::{ArchivedData, Data};
use ratatui::{
layout::{self, Constraint, Layout},
prelude::Stylize,
widgets::{Block, Borders},
Frame,
};
use rkyv::{deserialize, rancor};
mod data_graph;
#[derive(Default, Debug)]
struct Root {
counter: i32,
running_state: RunningState,
}
#[derive(Default, Debug)]
enum RunningState {
#[default]
Running,
Done,
}
#[derive(PartialEq)]
enum Message {
Increment,
Decrement,
Reset,
Quit,
}
impl Root {
fn view(&self, f: &mut Frame) {
let block = Block::new()
.border_type(ratatui::widgets::BorderType::Rounded)
.borders(Borders::ALL);
f.render_widget(block, f.area());
}
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut app = Root::default();
ratatui::run(|terminal| loop {
terminal.draw(|frame| {
let layout = frame.area().layout_vec(&Layout::vertical([
Constraint::Percentage(33),
Constraint::Percentage(33),
Constraint::Percentage(33),
]));
let middle = layout[1].layout_vec(&Layout::horizontal([
Constraint::Percentage(33),
Constraint::Percentage(33),
Constraint::Percentage(33),
]));
let widget = Block::new()
.border_type(ratatui::widgets::BorderType::Rounded)
.borders(Borders::ALL)
.title("Mroew");
frame.render_widget(widget, middle[1]);
app.view(frame);
})?;
if crossterm::event::read().unwrap().is_key_press() {
break Ok(());
};
})
}