From 8e8f733c94e0acdd2df37dd92a13130dcf2fe435 Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Tue, 6 Jun 2023 21:13:28 +0200 Subject: [PATCH] UX: Remove title and description block if blank (#21861) If the description is empty then it does not make sense to keep the quote block that contains just the title. --- config/locales/server.en.yml | 4 +--- lib/seed_data/topics.rb | 12 ++++++++++++ spec/lib/seed_data/topics_spec.rb | 23 +++++++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index b70090843eb..f771b457a77 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -683,9 +683,7 @@ en: body: | We are so glad you joined us. - > ## %{site_title} - > - > %{site_description} + %{site_info_quote} Here are some things you can do to get started: diff --git a/lib/seed_data/topics.rb b/lib/seed_data/topics.rb index d3f3cca6570..d800b117baf 100644 --- a/lib/seed_data/topics.rb +++ b/lib/seed_data/topics.rb @@ -98,6 +98,17 @@ module SeedData if include_welcome_topics # Welcome Topic if general_category = Category.find_by(id: SiteSetting.general_category_id) + site_info_quote = + if SiteSetting.title.present? && SiteSetting.site_description.present? + <<~RAW + > ## #{SiteSetting.title} + > + > #{SiteSetting.site_description} + RAW + else + "" + end + topics << { site_setting_name: "welcome_topic_id", title: I18n.t("discourse_welcome_topic.title", site_title: SiteSetting.title), @@ -107,6 +118,7 @@ module SeedData base_path: Discourse.base_path, site_title: SiteSetting.title, site_description: SiteSetting.site_description, + site_info_quote: site_info_quote, ), category: general_category, after_create: proc { |post| post.topic.update_pinned(true, true) }, diff --git a/spec/lib/seed_data/topics_spec.rb b/spec/lib/seed_data/topics_spec.rb index aeaa2dd1bf2..67361eb5c5f 100644 --- a/spec/lib/seed_data/topics_spec.rb +++ b/spec/lib/seed_data/topics_spec.rb @@ -28,6 +28,7 @@ RSpec.describe SeedData::Topics do base_path: Discourse.base_path, site_title: SiteSetting.title, site_description: SiteSetting.site_description, + site_info_quote: "", ).rstrip, ) expect(topic.category_id).to eq(SiteSetting.general_category_id) @@ -78,6 +79,27 @@ RSpec.describe SeedData::Topics do expect(SiteSetting.tos_topic_id).to eq(-1) end + it "creates a welcome topic without site title" do + SiteSetting.title = "My Awesome Community" + SiteSetting.site_description = "" + + create_topic + + post = Post.find_by(topic_id: SiteSetting.welcome_topic_id, post_number: 1) + expect(post.raw).not_to include("> ## My Awesome Community") + end + + it "creates a welcome topic with site title and description" do + SiteSetting.title = "My Awesome Community" + SiteSetting.site_description = "The best community" + + create_topic + + post = Post.find_by(topic_id: SiteSetting.welcome_topic_id, post_number: 1) + expect(post.raw).to include("> ## My Awesome Community") + expect(post.raw).to include("> The best community") + end + it "creates a legal topic if company_name is set" do SiteSetting.company_name = "Company Name" subject.create(site_setting_names: ["tos_topic_id"]) @@ -110,6 +132,7 @@ RSpec.describe SeedData::Topics do base_path: Discourse.base_path, site_title: SiteSetting.title, site_description: SiteSetting.site_description, + site_info_quote: "", ).rstrip, ) end