fixed val logic, added status

This commit is contained in:
Phani Pavan K
2025-10-20 11:55:32 +05:30
parent d713cc8fa3
commit 06a661b951
8 changed files with 129 additions and 52 deletions

View File

@@ -10,7 +10,7 @@ use ratatui::{
widgets::{Block, Borders, Cell, Paragraph, Row, Table, Wrap},
};
use crate::app::status::CurrentScreen;
use crate::app::status::{AppStatus, CurrentScreen, EntryValError};
use crate::app::{AppState, status::EditingField};
use crate::ui::centeredRect::centered_rect;
use crate::ui::textHints::hints;
@@ -177,7 +177,7 @@ pub fn ui(frame: &mut Frame, app: &mut AppState) {
}
CurrentScreen::Add => {
borderColor = Color::LightGreen;
Span::styled("Add entry", Style::default().fg(Color::Green))
Span::styled("Add Window", Style::default().fg(Color::Green))
}
CurrentScreen::Exit => {
borderColor = Color::LightRed;
@@ -188,26 +188,43 @@ pub fn ui(frame: &mut Frame, app: &mut AppState) {
Span::styled("Settings", Style::default().fg(Color::Blue))
}
CurrentScreen::Delete => {
borderColor = Color::LightMagenta;
Span::styled("Delete Selection", Style::default().fg(Color::Magenta))
borderColor = Color::Magenta;
Span::styled("Delete", Style::default().fg(Color::Magenta))
}
}
.to_owned(),
Span::styled(" | ", Style::default().fg(Color::White)),
{
if let Some(editing) = &app.currentlyEditing {
let curEdit = match editing {
EditingField::FromIP => "From IP",
EditingField::ToIP => "To IP",
EditingField::FromPort => "From Port",
EditingField::ToPort => "To Port",
};
Span::styled(
format!("Editing: {curEdit}"),
Style::default().fg(Color::Green),
)
} else {
Span::styled("Not Editing", Style::default().fg(Color::DarkGray))
match &app.appStatus {
AppStatus::Welcome => Span::styled("Welcome", Style::default().fg(Color::White)),
AppStatus::Added => Span::styled("Added", Style::default().fg(Color::Green)),
AppStatus::Editing => {
if let Some(editing) = &app.currentlyEditing {
let curEdit = match editing {
EditingField::FromIP => "From IP",
EditingField::ToIP => "To IP",
EditingField::FromPort => "From Port",
EditingField::ToPort => "To Port",
};
Span::styled(
format!("Editing: {curEdit}"),
Style::default().fg(Color::Green),
)
} else {
Span::styled("Not Editing", Style::default().fg(Color::White))
}
}
AppStatus::Error(e) => {
let errString = match e {
EntryValError::ToPortValError => "To Port Invalid",
EntryValError::FromPortValError => "From Port Invalid",
EntryValError::ToIPValError => "To IP Invalid",
EntryValError::FromIPValError => "From IP Invalid",
EntryValError::NONE => "",
};
Span::styled(errString, Style::default().fg(Color::Red))
}
AppStatus::Saved => Span::styled("", Style::default()),
}
},
];