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 +}