add simple ui implementation for docker

This commit is contained in:
monosans
2025-04-11 12:44:25 +03:00
parent 5222cdabbc
commit 8bd302b7b7
13 changed files with 358 additions and 95 deletions
+4 -31
View File
@@ -1,7 +1,6 @@
use std::collections::HashMap;
use crate::proxy::ProxyType;
#[allow(dead_code)]
pub(crate) enum AppEvent {
GeoDbTotal(Option<u64>),
GeoDbDownloaded(usize),
@@ -17,36 +16,10 @@ pub(crate) enum AppEvent {
}
pub(crate) enum Event {
#[cfg(feature = "tui")]
Tick,
#[cfg(feature = "tui")]
Crossterm(crossterm::event::Event),
#[allow(dead_code)]
App(AppEvent),
}
#[derive(Default)]
pub(crate) enum AppMode {
#[default]
Running,
Done,
Quit,
}
#[derive(Default)]
pub(crate) struct AppState {
pub(crate) mode: AppMode,
pub(crate) geodb_total: u64,
pub(crate) geodb_downloaded: usize,
pub(crate) sources_total: HashMap<ProxyType, usize>,
pub(crate) sources_scraped: HashMap<ProxyType, usize>,
pub(crate) proxies_total: HashMap<ProxyType, usize>,
pub(crate) proxies_checked: HashMap<ProxyType, usize>,
pub(crate) proxies_working: HashMap<ProxyType, usize>,
}
impl AppState {
pub(crate) fn new() -> Self {
AppState::default()
}
}