refactor: util.rs for UI utilities

This commit is contained in:
Muhammad Nauman Raza 2025-02-21 11:59:21 +00:00
parent 37bd87abde
commit 50b59ca303
Signed by: devraza
GPG key ID: 91EAD6081011574B
3 changed files with 12 additions and 9 deletions

View file

@ -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([

View file

@ -2,6 +2,7 @@ use color_eyre::Result;
mod game;
mod menu;
mod util;
fn main() -> Result<()> {
color_eyre::install()?;

9
client/src/util.rs Normal file
View file

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