From 17f4052068b39fd9bda35dd63080c68a59de7a5c Mon Sep 17 00:00:00 2001 From: Martin Brennan Date: Mon, 6 Jan 2025 16:36:48 +1000 Subject: [PATCH] UX: Admin setting page consistency - Search (#30528) (#30573) Followup c2282439b32d879a73217eec62449f042914d7d0 Make the Search config page reached from the sidebar use our consistent site setting page rules. --- .../admin-config-search-settings.js | 3 +++ .../admin/addon/routes/admin-config-search.js | 8 +++++++ .../admin/addon/routes/admin-route-map.js | 5 +++++ .../templates/config-search-settings.hbs | 21 +++++++++++++++++++ .../app/lib/sidebar/admin-nav-map.js | 4 +--- config/locales/client.en.yml | 3 +++ config/routes.rb | 1 + 7 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 app/assets/javascripts/admin/addon/controllers/admin-config-search-settings.js create mode 100644 app/assets/javascripts/admin/addon/routes/admin-config-search.js create mode 100644 app/assets/javascripts/admin/addon/templates/config-search-settings.hbs diff --git a/app/assets/javascripts/admin/addon/controllers/admin-config-search-settings.js b/app/assets/javascripts/admin/addon/controllers/admin-config-search-settings.js new file mode 100644 index 00000000000..33019a54318 --- /dev/null +++ b/app/assets/javascripts/admin/addon/controllers/admin-config-search-settings.js @@ -0,0 +1,3 @@ +import AdminAreaSettingsBaseController from "admin/controllers/admin-area-settings-base"; + +export default class AdminConfigSearchSettingsController extends AdminAreaSettingsBaseController {} diff --git a/app/assets/javascripts/admin/addon/routes/admin-config-search.js b/app/assets/javascripts/admin/addon/routes/admin-config-search.js new file mode 100644 index 00000000000..b43bc8858cb --- /dev/null +++ b/app/assets/javascripts/admin/addon/routes/admin-config-search.js @@ -0,0 +1,8 @@ +import DiscourseRoute from "discourse/routes/discourse"; +import { i18n } from "discourse-i18n"; + +export default class AdminConfigSearchRoute extends DiscourseRoute { + titleToken() { + return i18n("admin.advanced.sidebar_link.search"); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-route-map.js b/app/assets/javascripts/admin/addon/routes/admin-route-map.js index 6a2ec2e3cbe..d1afd32e71e 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-route-map.js +++ b/app/assets/javascripts/admin/addon/routes/admin-route-map.js @@ -231,6 +231,11 @@ export default function () { path: "/", }); }); + this.route("search", function () { + this.route("settings", { + path: "/", + }); + }); this.route("legal", function () { this.route("settings", { path: "/", diff --git a/app/assets/javascripts/admin/addon/templates/config-search-settings.hbs b/app/assets/javascripts/admin/addon/templates/config-search-settings.hbs new file mode 100644 index 00000000000..78d39f97b11 --- /dev/null +++ b/app/assets/javascripts/admin/addon/templates/config-search-settings.hbs @@ -0,0 +1,21 @@ + + <:breadcrumbs> + + + + + +
+ +
\ No newline at end of file diff --git a/app/assets/javascripts/discourse/app/lib/sidebar/admin-nav-map.js b/app/assets/javascripts/discourse/app/lib/sidebar/admin-nav-map.js index af1142234d9..105ec58d3f2 100644 --- a/app/assets/javascripts/discourse/app/lib/sidebar/admin-nav-map.js +++ b/app/assets/javascripts/discourse/app/lib/sidebar/admin-nav-map.js @@ -280,9 +280,7 @@ export const ADMIN_NAV_MAP = [ }, { name: "admin_search", - route: "adminSiteSettingsCategory", - routeModels: ["search"], - query: { filter: "" }, + route: "adminConfig.search.settings", label: "admin.advanced.sidebar_link.search", icon: "magnifying-glass", }, diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 7447108a9a7..75d27c5e9ee 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -5146,6 +5146,9 @@ en: notifications: title: "Notifications" header_description: "Configure how notifications are managed and delivered for users, including email preferences, push notifications, mention limits, and notification consolidation." + search: + title: "Search" + header_description: "Configure search settings including logging and tokenization for Chinese and Japanese languages." legal: title: "Legal" header_description: "Configure legal settings, such as terms of service, privacy policy, contact details, and EU-specific considerations." diff --git a/config/routes.rb b/config/routes.rb index 5ad38969f23..fb73361ba15 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -397,6 +397,7 @@ Discourse::Application.routes.draw do get "login-and-authentication" => "site_settings#index" get "logo" => "site_settings#index" get "notifications" => "site_settings#index" + get "search" => "site_settings#index" get "legal" => "site_settings#index" get "trust-levels" => "site_settings#index"