Meliputi: - File-level //! doc comment: tujuan file, alur kerja, komponen utama - Function-level /// doc comment: apa, parameter, return, flow, edge cases - Struct/enum/trait /// doc comment: peran, field docs - Tracing logging (tracing::info!/debug!/trace!/warn!/error!) di setiap fungsi - Inline comments untuk variable dan branching logic penting - Seluruh 8 crates di workspace: zesdex-backend, zesdex-cms, zesdex-entities, zesdex-iam, zesdex-infra, zesdex-ipc, zesdex-middleware, zesdex-utils - Build: 0 errors, 242/242 tests passed
26 lines
1016 B
Rust
26 lines
1016 B
Rust
//! Settings-mode helper logic for the TUI settings overlay.
|
|
//!
|
|
//! Flow: exposes small mutation functions (currently just cycling the
|
|
//! internet access mode) invoked by keybindings while the settings overlay
|
|
//! is active.
|
|
use tracing::debug;
|
|
use zesdex_cms::domain::settings::{InternetMode, Settings};
|
|
|
|
/// Advance the internet access mode to the next value in the cycle.
|
|
///
|
|
/// Flow: Off -> `ReadOnly` -> Full -> Off, wrapping around.
|
|
///
|
|
/// Why: used by a settings-toggle keybinding to step through modes
|
|
/// without needing a dropdown/menu.
|
|
///
|
|
/// Return: nothing; mutates `settings.internet_mode` in place.
|
|
pub fn cycle_internet_mode(settings: &mut Settings) {
|
|
let before = settings.internet_mode.clone();
|
|
settings.internet_mode = match settings.internet_mode {
|
|
InternetMode::Off => InternetMode::ReadOnly,
|
|
InternetMode::ReadOnly => InternetMode::Full,
|
|
InternetMode::Full => InternetMode::Off,
|
|
};
|
|
debug!(?before, ?settings.internet_mode, "cycle_internet_mode");
|
|
}
|