Add advanced settings surface

This commit is contained in:
2026-05-08 20:57:19 -04:00
parent 47bfea6c8b
commit b9f57921cd
5 changed files with 275 additions and 0 deletions
@@ -29,6 +29,7 @@ fn internal_page_title(url: &str) -> Option<&'static str> {
url if SiteOrigin::from_site_route(url).ok().flatten().is_some() => Some("Site Settings"),
"ely://about" => Some("About ELY Browser"),
"ely://settings" => Some("Settings"),
"ely://settings/advanced" => Some("Advanced Settings"),
"ely://settings/general" => Some("General Settings"),
"ely://settings/appearance" => Some("Appearance Settings"),
"ely://settings/sidebar-tabs" => Some("Sidebar & Tabs Settings"),
@@ -234,6 +235,9 @@ pub(crate) fn settings_page_url(query: &str) -> Result<Option<UrlText>, CoreErro
fn settings_page_route(query: &str) -> Option<&'static str> {
match query {
"settings" => Some("ely://settings"),
"advanced" | "advanced settings" | "runtime" | "diagnostics" | "diagnostic" => {
Some("ely://settings/advanced")
}
"general" | "browser" | "new tab" | "new-tab" | "startup" => Some("ely://settings/general"),
"appearance" | "theme" | "visual" | "design" | "colors" => {
Some("ely://settings/appearance")
@@ -66,6 +66,27 @@ fn settings_scoped_search_opens_appearance_page() -> Result<(), Box<dyn Error>>
Ok(())
}
#[test]
fn settings_scoped_search_opens_advanced_page() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
core.set_command_query("@settings advanced");
let intent = core.submit_command()?;
let active_tab = core.active_tab()?;
assert_eq!(
intent,
Some(CommandIntent::ScopedSearch {
scope: CommandScope::Settings,
query: "advanced".to_string(),
})
);
assert_eq!(active_tab.title(), "Advanced Settings");
assert_eq!(active_tab.url().as_str(), "ely://settings/advanced");
assert_eq!(core.snapshot()?.command_query, "");
Ok(())
}
#[test]
fn settings_scoped_search_opens_shortcuts_page() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;