//! Shared UI components for the CLI
//!
//! This module contains reusable UI elements like banners, prompts, progress indicators, etc.
//!
//! # UI Architecture
//!
//! The UI system uses ratatui for rich TUI interfaces with logs sidebar,
//! split-pane layouts, and interactive controls.

pub mod banners;
pub mod dev_banners;
pub mod dev_mode;
pub mod init_wizard;
pub mod prompts;
pub mod teleop;

/// Dev mode UI handlers (interactive menus, status displays, etc.)
pub mod dev;

// Re-export commonly used components
pub use teleop::TeleopUi;

/// Shared log buffer and dev mode TUI
pub use dev_tui::{DevModeTui, LogBuffer};

/// Topics list TUI
pub use topics_list::{MessageBuffer, TopicMessage, TopicsListTui};

/// Topology TUI
pub use topology::TopologyTui;

/// Init wizard TUI
pub use init_wizard_tui::{InitWizardState, InitWizardTui, NodeOption, TemplateOption};

/// Diagnostics TUI
pub use diagnostics_tui::{DiagnosticsState, DiagnosticsTui};

/// Shared TUI components
mod dev_tui;
mod diagnostics_tui;
mod init_wizard_tui;
mod topics_list;
mod topology;
