1use ratatui::layout::{
4 Constraint,
5 Direction,
6 Layout,
7 Rect
8};
9
10#[derive(Debug, Clone)]
11pub struct MainLayout {
12 pub menu : Rect,
13 pub main : Rect,
14 pub log : Rect,
15 pub help : Rect
16}
17
18impl MainLayout {
19
20 pub fn new(size : Rect) -> MainLayout {
21 let chunks = Layout::default()
22 .direction(Direction::Vertical)
23 .constraints(
25 [
26 Constraint::Length(3),
27 Constraint::Min(2),
28 Constraint::Length(5),
29 ]
30 .as_ref(),
31 )
32 .split(size);
33 let logs_n_help = Layout::default()
35 .direction(Direction::Horizontal)
36 .constraints(
37 [Constraint::Percentage(80),
38 Constraint::Percentage(20)]
39 .as_ref(),
40 )
41 .split(chunks[2]);
42 MainLayout {
43 menu : chunks[0],
45 main : chunks[1],
46 log : logs_n_help[0],
47 help : logs_n_help[1],
48 }
49 }
50}
51