From 50b59ca303acca6a61a24b7d0e3c3ac4774e7c06 Mon Sep 17 00:00:00 2001 From: Muhammad Nauman Raza Date: Fri, 21 Feb 2025 11:59:21 +0000 Subject: [PATCH] refactor: `util.rs` for UI utilities --- client/src/game.rs | 11 ++--------- client/src/main.rs | 1 + client/src/util.rs | 9 +++++++++ 3 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 client/src/util.rs diff --git a/client/src/game.rs b/client/src/game.rs index 0ec3fb6..982e7e6 100644 --- a/client/src/game.rs +++ b/client/src/game.rs @@ -3,11 +3,12 @@ use ratatui::{ DefaultTerminal, buffer::Buffer, crossterm::event::{self, Event, KeyEvent, KeyEventKind}, - layout::{Constraint, Flex, Layout, Rect}, + layout::{Constraint, Layout, Rect}, widgets::Widget, }; use crate::menu; +use crate::util::*; #[derive(Clone)] pub enum Mode { @@ -55,14 +56,6 @@ impl Mode { } } -fn center(area: Rect, horizontal: Constraint, vertical: Constraint) -> Rect { - let [area] = Layout::horizontal([horizontal]) - .flex(Flex::Center) - .areas(area); - let [area] = Layout::vertical([vertical]).flex(Flex::Center).areas(area); - area -} - impl Widget for &mut Mode { fn render(self, area: Rect, buf: &mut Buffer) { let [header_area, main_area, footer_area] = Layout::vertical([ diff --git a/client/src/main.rs b/client/src/main.rs index a079f11..04509cd 100644 --- a/client/src/main.rs +++ b/client/src/main.rs @@ -2,6 +2,7 @@ use color_eyre::Result; mod game; mod menu; +mod util; fn main() -> Result<()> { color_eyre::install()?; diff --git a/client/src/util.rs b/client/src/util.rs new file mode 100644 index 0000000..52357de --- /dev/null +++ b/client/src/util.rs @@ -0,0 +1,9 @@ +use ratatui::layout::{Layout, Flex, Constraint, Rect}; + +pub fn center(area: Rect, horizontal: Constraint, vertical: Constraint) -> Rect { + let [area] = Layout::horizontal([horizontal]) + .flex(Flex::Center) + .areas(area); + let [area] = Layout::vertical([vertical]).flex(Flex::Center).areas(area); + area +}