diff --git a/app/assets/javascripts/admin/addon/controllers/admin-config-spam-settings.js b/app/assets/javascripts/admin/addon/controllers/admin-config-spam-settings.js new file mode 100644 index 00000000000..bf2a2f10880 --- /dev/null +++ b/app/assets/javascripts/admin/addon/controllers/admin-config-spam-settings.js @@ -0,0 +1,3 @@ +import AdminAreaSettingsBaseController from "admin/controllers/admin-area-settings-base"; + +export default class AdminConfigSpamSettingsController extends AdminAreaSettingsBaseController {} diff --git a/app/assets/javascripts/admin/addon/routes/admin-config-spam.js b/app/assets/javascripts/admin/addon/routes/admin-config-spam.js new file mode 100644 index 00000000000..4fb53202375 --- /dev/null +++ b/app/assets/javascripts/admin/addon/routes/admin-config-spam.js @@ -0,0 +1,8 @@ +import DiscourseRoute from "discourse/routes/discourse"; +import { i18n } from "discourse-i18n"; + +export default class AdminConfigSpamRoute extends DiscourseRoute { + titleToken() { + return i18n("admin.security.sidebar_link.spam"); + } +} 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 84953041a79..d1dd5fe873a 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-route-map.js +++ b/app/assets/javascripts/admin/addon/routes/admin-route-map.js @@ -303,6 +303,9 @@ export default function () { this.route("security", function () { this.route("settings", { path: "/" }); }); + this.route("spam", function () { + this.route("settings", { path: "/" }); + }); } ); diff --git a/app/assets/javascripts/admin/addon/templates/config-spam-settings.gjs b/app/assets/javascripts/admin/addon/templates/config-spam-settings.gjs new file mode 100644 index 00000000000..f060171027d --- /dev/null +++ b/app/assets/javascripts/admin/addon/templates/config-spam-settings.gjs @@ -0,0 +1,29 @@ +import RouteTemplate from "ember-route-template"; +import DBreadcrumbsItem from "discourse/components/d-breadcrumbs-item"; +import DPageHeader from "discourse/components/d-page-header"; +import { i18n } from "discourse-i18n"; +import AdminAreaSettings from "admin/components/admin-area-settings"; + +export default RouteTemplate(); 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 197091539b5..ced9ea3f4c7 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 @@ -187,9 +187,7 @@ export const ADMIN_NAV_MAP = [ }, { name: "admin_spam", - route: "adminSiteSettingsCategory", - routeModels: ["spam"], - query: { filter: "" }, + route: "adminConfig.spam.settings", label: "admin.security.sidebar_link.spam", icon: "robot", }, diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index d95b944f2f8..70cc9882bd8 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -5151,7 +5151,7 @@ en: header_description: "Customize the variations of your site logo" navigation: title: "Navigation" - header_description: "Configure the navigation links and menu items for your site. This includes the location and behaviour of the primary navigation menu, the quick links at the top of the homepage, as well as the admin sidebar" + header_description: "Configure the navigation links and menu items for your site. This includes the location and behavior of the primary navigation menu, the quick links at the top of the homepage, as well as the admin sidebar" notifications: title: "Notifications" header_description: "Configure how notifications are managed and delivered for users, including email preferences, push notifications, mention limits, and notification consolidation" @@ -5161,6 +5161,9 @@ en: security: title: "Security" header_description: "Configure security settings, including two-factor authentication, moderator priviledges, and content security policies" + spam: + title: "Spam" + header_description: "Configure how user registration and posting behavior analyzed by the system to quickly identify and block spam" trust_levels: title: "Trust levels" header_description: "Trust level settings allow you to fine-tune the requirements and notifications for your community’s progression system, which automatically promotes users to higher trust levels as they demonstrate consistent, positive engagement with your forum" diff --git a/config/routes.rb b/config/routes.rb index e495356f70b..78a35b27fbe 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -401,6 +401,7 @@ Discourse::Application.routes.draw do get "notifications" => "site_settings#index" get "search" => "site_settings#index" get "security" => "site_settings#index" + get "spam" => "site_settings#index" get "experimental" => "site_settings#index" get "trust-levels" => "site_settings#index" get "group-permissions" => "site_settings#index"