From d7ece61252d7671a1f124483836279b99852c08c Mon Sep 17 00:00:00 2001 From: Jan Cernik <66427541+jancernik@users.noreply.github.com> Date: Thu, 13 Jun 2024 12:09:53 -0300 Subject: [PATCH] UX: Rename FAQ to Guidelines (#27451) --- .../discourse/app/controllers/about.js | 5 ++++- .../community-section/faq-section-link.js | 22 ++++++++++++++----- .../discourse/app/templates/about.hbs | 4 ++++ app/controllers/static_controller.rb | 1 + app/views/layouts/_noscript_footer.html.erb | 2 +- app/views/static/show.html.erb | 2 ++ config/locales/client.en.yml | 3 +++ config/locales/server.en.yml | 1 + config/site_settings.yml | 4 ++++ lib/seed_data/topics.rb | 9 +++++++- 10 files changed, 45 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/discourse/app/controllers/about.js b/app/assets/javascripts/discourse/app/controllers/about.js index f5a370bda68..19df4ab5eab 100644 --- a/app/assets/javascripts/discourse/app/controllers/about.js +++ b/app/assets/javascripts/discourse/app/controllers/about.js @@ -1,10 +1,13 @@ import Controller from "@ember/controller"; -import { gt } from "@ember/object/computed"; +import { alias, gt } from "@ember/object/computed"; import discourseComputed from "discourse-common/utils/decorators"; import I18n from "discourse-i18n"; export default Controller.extend({ faqOverridden: gt("siteSettings.faq_url.length", 0), + renameFaqToGuidelines: alias( + "siteSettings.experimental_rename_faq_to_guidelines" + ), @discourseComputed("model.contact_url", "model.contact_email") contactInfo(url, email) { diff --git a/app/assets/javascripts/discourse/app/lib/sidebar/common/community-section/faq-section-link.js b/app/assets/javascripts/discourse/app/lib/sidebar/common/community-section/faq-section-link.js index e95b44a7a4e..1f9bb6d3cd2 100644 --- a/app/assets/javascripts/discourse/app/lib/sidebar/common/community-section/faq-section-link.js +++ b/app/assets/javascripts/discourse/app/lib/sidebar/common/community-section/faq-section-link.js @@ -2,12 +2,18 @@ import BaseSectionLink from "discourse/lib/sidebar/base-community-section-link"; import I18n from "discourse-i18n"; export default class FAQSectionLink extends BaseSectionLink { + get renameToGuidelines() { + return ( + this.siteSettings.experimental_rename_faq_to_guidelines && !this.href + ); + } + get name() { - return "faq"; + return this.renameToGuidelines ? "guidelines" : "faq"; } get route() { - return "faq"; + return this.renameToGuidelines ? "guidelines" : "faq"; } get href() { @@ -15,13 +21,19 @@ export default class FAQSectionLink extends BaseSectionLink { } get title() { - return I18n.t("sidebar.sections.community.links.faq.title"); + if (this.renameToGuidelines) { + return I18n.t("sidebar.sections.community.links.guidelines.title"); + } else { + return I18n.t("sidebar.sections.community.links.faq.title"); + } } get text() { + const name = this.renameToGuidelines ? "Guidelines" : this.overridenName; + return I18n.t( - `sidebar.sections.community.links.${this.overridenName.toLowerCase()}.content`, - { defaultValue: this.overridenName } + `sidebar.sections.community.links.${name.toLowerCase()}.content`, + { defaultValue: name } ); } diff --git a/app/assets/javascripts/discourse/app/templates/about.hbs b/app/assets/javascripts/discourse/app/templates/about.hbs index f384cbd7b7c..e9524d335d4 100644 --- a/app/assets/javascripts/discourse/app/templates/about.hbs +++ b/app/assets/javascripts/discourse/app/templates/about.hbs @@ -15,6 +15,10 @@ + {{else if this.renameFaqToGuidelines}} + {{else}}
  • - +
  • <% if tos_url.present? %> diff --git a/app/views/static/show.html.erb b/app/views/static/show.html.erb index be8c9cd830f..9ed0c27a348 100644 --- a/app/views/static/show.html.erb +++ b/app/views/static/show.html.erb @@ -6,6 +6,8 @@ <% if @faq_overridden %> + <% elsif @experimental_rename_faq_to_guidelines %> + <% else %> <% end %> diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index f9d8bbb8fde..4d79a13e8d8 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -4772,6 +4772,9 @@ en: faq: content: "FAQ" title: "Guidelines for using this site" + guidelines: + content: "Guidelines" + title: "Guidelines for using this site" groups: content: "Groups" title: "List of available user groups" diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 7a17ca17631..b32205169e5 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -4624,6 +4624,7 @@ en: guidelines_topic: title: "FAQ/Guidelines" + guidelines_title: "Guidelines" body: | diff --git a/config/site_settings.yml b/config/site_settings.yml index c540d295d78..c8789cefe75 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -2455,6 +2455,10 @@ legal: default: "" log_anonymizer_details: default: true + experimental_rename_faq_to_guidelines: + default: false + hidden: true + client: true backups: enable_backups: diff --git a/lib/seed_data/topics.rb b/lib/seed_data/topics.rb index fbcf6b48350..dc30483928c 100644 --- a/lib/seed_data/topics.rb +++ b/lib/seed_data/topics.rb @@ -90,7 +90,14 @@ module SeedData # FAQ/Guidelines topics << { site_setting_name: "guidelines_topic_id", - title: I18n.t("guidelines_topic.title"), + title: + ( + if SiteSetting.experimental_rename_faq_to_guidelines + I18n.t("guidelines_topic.guidelines_title") + else + I18n.t("guidelines_topic.title") + end + ), raw: I18n.t( "guidelines_topic.body",