Successful implementation of movie adding and deleting, and refactored network logic to be more reusable later
This commit is contained in:
+4
-6
@@ -54,9 +54,8 @@ pub fn ui<B: Backend>(f: &mut Frame<B>, app: &mut App) {
|
||||
|
||||
draw_header_row(f, app, main_chunks[0]);
|
||||
draw_context_row(f, app, main_chunks[1]);
|
||||
match app.get_current_route() {
|
||||
Route::Radarr(_) => radarr_ui::draw_radarr_ui(f, app, main_chunks[2]),
|
||||
_ => (),
|
||||
if let Route::Radarr(_) = app.get_current_route() {
|
||||
radarr_ui::draw_radarr_ui(f, app, main_chunks[2])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,9 +151,8 @@ pub fn draw_large_popup_over<B: Backend>(
|
||||
}
|
||||
|
||||
fn draw_context_row<B: Backend>(f: &mut Frame<'_, B>, app: &App, area: Rect) {
|
||||
match app.get_current_route() {
|
||||
Route::Radarr(_) => radarr_ui::draw_radarr_context_row(f, app, area),
|
||||
_ => (),
|
||||
if let Route::Radarr(_) = app.get_current_route() {
|
||||
radarr_ui::draw_radarr_context_row(f, app, area)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@ use tui::backend::Backend;
|
||||
use tui::layout::{Alignment, Constraint, Rect};
|
||||
use tui::style::{Color, Style};
|
||||
use tui::text::Text;
|
||||
use tui::widgets::{Cell, Paragraph, Row};
|
||||
use tui::widgets::{Block, Cell, Paragraph, Row};
|
||||
use tui::Frame;
|
||||
|
||||
use crate::app::radarr::{ActiveRadarrBlock, RadarrData};
|
||||
use crate::app::App;
|
||||
use crate::logos::RADARR_LOGO;
|
||||
use crate::models::radarr_models::{DiskSpace, DownloadRecord, Movie};
|
||||
use crate::models::Route;
|
||||
use crate::models::radarr_models::{AddMovieSearchResult, DiskSpace, DownloadRecord, Movie};
|
||||
use crate::models::{Route, StatefulTable};
|
||||
use crate::ui::radarr_ui::add_movie_ui::draw_add_movie_search_popup;
|
||||
use crate::ui::radarr_ui::collection_details_ui::draw_collection_details_popup;
|
||||
use crate::ui::radarr_ui::movie_details_ui::draw_movie_info;
|
||||
|
||||
+18
-27
@@ -6,10 +6,7 @@ use tui::widgets::{Block, Borders, LineGauge};
|
||||
use tui::{symbols, Frame};
|
||||
|
||||
pub fn horizontal_chunks(constraints: Vec<Constraint>, size: Rect) -> Vec<Rect> {
|
||||
Layout::default()
|
||||
.constraints(<Vec<Constraint> as AsRef<[Constraint]>>::as_ref(
|
||||
&constraints,
|
||||
))
|
||||
layout_with_constraints(constraints)
|
||||
.direction(Direction::Horizontal)
|
||||
.split(size)
|
||||
}
|
||||
@@ -19,20 +16,14 @@ pub fn horizontal_chunks_with_margin(
|
||||
size: Rect,
|
||||
margin: u16,
|
||||
) -> Vec<Rect> {
|
||||
Layout::default()
|
||||
.constraints(<Vec<Constraint> as AsRef<[Constraint]>>::as_ref(
|
||||
&constraints,
|
||||
))
|
||||
layout_with_constraints(constraints)
|
||||
.direction(Direction::Horizontal)
|
||||
.margin(margin)
|
||||
.split(size)
|
||||
}
|
||||
|
||||
pub fn vertical_chunks(constraints: Vec<Constraint>, size: Rect) -> Vec<Rect> {
|
||||
Layout::default()
|
||||
.constraints(<Vec<Constraint> as AsRef<[Constraint]>>::as_ref(
|
||||
&constraints,
|
||||
))
|
||||
layout_with_constraints(constraints)
|
||||
.direction(Direction::Vertical)
|
||||
.split(size)
|
||||
}
|
||||
@@ -42,15 +33,18 @@ pub fn vertical_chunks_with_margin(
|
||||
size: Rect,
|
||||
margin: u16,
|
||||
) -> Vec<Rect> {
|
||||
Layout::default()
|
||||
.constraints(<Vec<Constraint> as AsRef<[Constraint]>>::as_ref(
|
||||
&constraints,
|
||||
))
|
||||
layout_with_constraints(constraints)
|
||||
.direction(Direction::Vertical)
|
||||
.margin(margin)
|
||||
.split(size)
|
||||
}
|
||||
|
||||
fn layout_with_constraints(constraints: Vec<Constraint>) -> Layout {
|
||||
Layout::default().constraints(<Vec<Constraint> as AsRef<[Constraint]>>::as_ref(
|
||||
&constraints,
|
||||
))
|
||||
}
|
||||
|
||||
pub fn layout_block<'a>() -> Block<'a> {
|
||||
Block::default().borders(Borders::ALL)
|
||||
}
|
||||
@@ -167,17 +161,14 @@ pub fn logo_block<'a>() -> Block<'a> {
|
||||
}
|
||||
|
||||
pub fn centered_rect(percent_x: u16, percent_y: u16, r: Rect) -> Rect {
|
||||
let popup_layout = Layout::default()
|
||||
.direction(Direction::Vertical)
|
||||
.constraints(
|
||||
[
|
||||
Constraint::Percentage((100 - percent_y) / 2),
|
||||
Constraint::Percentage(percent_y),
|
||||
Constraint::Percentage((100 - percent_y) / 2),
|
||||
]
|
||||
.as_ref(),
|
||||
)
|
||||
.split(r);
|
||||
let popup_layout = vertical_chunks(
|
||||
vec![
|
||||
Constraint::Percentage((100 - percent_y) / 2),
|
||||
Constraint::Percentage(percent_y),
|
||||
Constraint::Percentage((100 - percent_y) / 2),
|
||||
],
|
||||
r,
|
||||
);
|
||||
|
||||
Layout::default()
|
||||
.direction(Direction::Horizontal)
|
||||
|
||||
Reference in New Issue
Block a user