diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-08-01 03:36:11 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-08-01 03:36:11 +0300 |
| commit | 8d190eddda2c74afa3dc043f8ec8020ffd7b5a94 (patch) | |
| tree | 9f947353ecc7d01772ae4171afcf33cf334f104c /src/ui/settings.rs | |
| parent | 02fe7d7659e37d9f05eed80af382d1dcdccb6876 (diff) | |
chore: remove experiments from settings tui
Diffstat (limited to 'src/ui/settings.rs')
| -rw-r--r-- | src/ui/settings.rs | 125 |
1 files changed, 1 insertions, 124 deletions
diff --git a/src/ui/settings.rs b/src/ui/settings.rs index 8177d874..5052c91c 100644 --- a/src/ui/settings.rs +++ b/src/ui/settings.rs @@ -11,10 +11,7 @@ use super::widgets::{ render_action_button, render_modal_choice_list, render_panel_shell, ActionButtonSpec, }; use crate::{ - app::{ - state::{ExperimentSetting, Palette}, - AppState, - }, + app::{state::Palette, AppState}, config::ToastDelivery, }; @@ -149,9 +146,6 @@ pub(super) fn render_settings_overlay(app: &AppState, frame: &mut Frame, area: R app.settings.list.selected, ); } - SettingsSection::Experiments => { - render_settings_experiments(app, frame, content_area); - } SettingsSection::Integrations => { render_settings_integrations(app, frame, content_area); } @@ -412,120 +406,3 @@ fn render_settings_toggle( 1, ); } - -fn render_settings_experiments(app: &AppState, frame: &mut Frame, area: Rect) { - let p = &app.palette; - let [desc_area, _, list_area] = Layout::vertical([ - Constraint::Length(2), - Constraint::Length(1), - Constraint::Min(1), - ]) - .areas::<3>(area); - - super::widgets::render_modal_description( - frame, - desc_area, - "optional features that are off by default", - Style::default().fg(p.overlay1), - ); - - for (idx, setting) in ExperimentSetting::ALL.iter().copied().enumerate() { - let marker = if setting.enabled(app) { "[✓]" } else { "[ ]" }; - let style = if app.settings.list.selected == idx { - Style::default() - .bg(p.surface0) - .fg(p.text) - .add_modifier(Modifier::BOLD) - } else { - Style::default().fg(p.subtext0) - }; - let row = Rect::new(list_area.x, list_area.y + idx as u16, list_area.width, 1); - frame.render_widget( - Paragraph::new(format!(" {} {marker}", setting.label())).style(style), - row, - ); - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::app::{state::SettingsSection, Mode}; - use ratatui::{backend::TestBackend, Terminal}; - - #[test] - fn experiments_pane_history_uses_settings_checkmark_marker() { - let mut app = AppState::test_new(); - app.pane_history_persistence = true; - app.settings.section = SettingsSection::Experiments; - app.settings.list.selected = 0; - app.mode = Mode::Settings; - - let mut terminal = - Terminal::new(TestBackend::new(80, 24)).expect("test terminal should initialize"); - terminal - .draw(|frame| render_settings_overlay(&app, frame, Rect::new(0, 0, 80, 24))) - .expect("settings overlay should render"); - - let rendered = terminal - .backend() - .buffer() - .content() - .iter() - .map(|cell| cell.symbol()) - .collect::<String>(); - - assert!(rendered.contains("pane screen history [✓]")); - assert!(!rendered.contains("[x]")); - } - - #[test] - fn experiments_pane_history_keeps_empty_checkbox_marker_when_disabled() { - let mut app = AppState::test_new(); - app.pane_history_persistence = false; - app.settings.section = SettingsSection::Experiments; - app.settings.list.selected = 0; - app.mode = Mode::Settings; - - let mut terminal = - Terminal::new(TestBackend::new(80, 24)).expect("test terminal should initialize"); - terminal - .draw(|frame| render_settings_overlay(&app, frame, Rect::new(0, 0, 80, 24))) - .expect("settings overlay should render"); - - let rendered = terminal - .backend() - .buffer() - .content() - .iter() - .map(|cell| cell.symbol()) - .collect::<String>(); - - assert!(rendered.contains("pane screen history [ ]")); - } - - #[test] - fn experiments_renders_switch_ascii_input_source_row() { - let mut app = AppState::test_new(); - app.switch_ascii_input_source_in_prefix = true; - app.settings.section = SettingsSection::Experiments; - app.settings.list.selected = 1; - app.mode = Mode::Settings; - - let mut terminal = - Terminal::new(TestBackend::new(80, 24)).expect("test terminal should initialize"); - terminal - .draw(|frame| render_settings_overlay(&app, frame, Rect::new(0, 0, 80, 24))) - .expect("settings overlay should render"); - - let rendered = terminal - .backend() - .buffer() - .content() - .iter() - .map(|cell| cell.symbol()) - .collect::<String>(); - - assert!(rendered.contains("switch to ascii input source in prefix (macOS/Windows) [✓]")); - } -} |
