Static UI #3

Merged
wesley merged 1 commits from wesley/add-widgets into development 2025-09-11 17:21:16 -04:00

View File

@@ -7,7 +7,7 @@ use ratatui::{
Constraint::{Length, Min, Percentage}, Constraint::{Length, Min, Percentage},
Layout, Layout,
}, },
widgets::{Block, Borders}, widgets::{Block, Borders, Gauge},
}; };
pub fn draw_ui<B: ratatui::backend::Backend>( pub fn draw_ui<B: ratatui::backend::Backend>(
@@ -31,16 +31,24 @@ fn draw(frame: &mut Frame) {
let timer_layout = Layout::vertical([Percentage(65), Percentage(35)]); let timer_layout = Layout::vertical([Percentage(65), Percentage(35)]);
let [pomodoro_area, utilities_area] = timer_layout.areas(app_area); let [pomodoro_area, utilities_area] = timer_layout.areas(app_area);
let pomodoro_block = Block::bordered().title("Pomodoro"); let timer_label = format!("{}:{} / 25:00", 17, 32);
let timer_ratio = (17 * 60 + 32) as f64 / (25 * 60) as f64;
let pomodoro_timer = Gauge::default()
.block(Block::bordered().title("Pomodoro"))
.label(timer_label)
.ratio(timer_ratio);
frame.render_widget(pomodoro_block, pomodoro_area); frame.render_widget(pomodoro_timer, pomodoro_area);
let utilities_layout = Layout::horizontal([Percentage(75), Percentage(25)]); let utilities_layout = Layout::horizontal([Percentage(75), Percentage(25)]);
let [pomodori, controls] = utilities_layout.areas(utilities_area); let [pomodori, controls] = utilities_layout.areas(utilities_area);
let pomodori_block = Block::bordered().title("Pomodori"); let pomodori_completed = Gauge::default()
.block(Block::bordered().title("Pomodori"))
.label("3 / 4")
.ratio(0.75);
let controls_block = Block::bordered().title("Controls"); let controls_block = Block::bordered().title("Controls");
frame.render_widget(pomodori_block, pomodori); frame.render_widget(pomodori_completed, pomodori);
frame.render_widget(controls_block, controls); frame.render_widget(controls_block, controls);
} }