diff --git a/app/assets/javascripts/discourse/app/templates/components/search-result-entry.hbs b/app/assets/javascripts/discourse/app/templates/components/search-result-entry.hbs index 3b23861cdb5..860cee9c3b2 100644 --- a/app/assets/javascripts/discourse/app/templates/components/search-result-entry.hbs +++ b/app/assets/javascripts/discourse/app/templates/components/search-result-entry.hbs @@ -10,7 +10,7 @@ {{track-selected selectedList=selected selectedId=post.topic class="bulk-select"}} {{/if}} - + {{raw "topic-status" topic=post.topic showPrivateMessageIcon=true}} {{#if post.useTopicTitleHeadline}} diff --git a/app/assets/javascripts/discourse/tests/acceptance/search-full-test.js b/app/assets/javascripts/discourse/tests/acceptance/search-full-test.js index 8efa99a8e50..8331ebec021 100644 --- a/app/assets/javascripts/discourse/tests/acceptance/search-full-test.js +++ b/app/assets/javascripts/discourse/tests/acceptance/search-full-test.js @@ -558,4 +558,16 @@ acceptance("Search - Full Page", function (needs) { await click(".topic-bulk-actions-modal .btn:nth-child(2)"); // close topics assert.equal(lastBody["topic_ids[]"], 7); }); + + test("adds visited class to visited topics", async function (assert) { + await visit("/search"); + + await fillIn(".search-query", "discourse"); + await click(".search-cta"); + assert.equal(queryAll(".visited").length, 0); + + await fillIn(".search-query", "discourse visited"); + await click(".search-cta"); + assert.equal(queryAll(".visited").length, 1); + }); }); diff --git a/app/assets/javascripts/discourse/tests/helpers/create-pretender.js b/app/assets/javascripts/discourse/tests/helpers/create-pretender.js index 288fcb787dd..00beaebec5d 100644 --- a/app/assets/javascripts/discourse/tests/helpers/create-pretender.js +++ b/app/assets/javascripts/discourse/tests/helpers/create-pretender.js @@ -254,10 +254,14 @@ export function applyDefaultHandlers(pretender) { pretender.get("/search", (request) => { if (request.queryParams.q === "discourse") { return response(fixturesByUrl["/search.json"]); + } else if (request.queryParams.q === "discourse visited") { + const obj = JSON.parse(JSON.stringify(fixturesByUrl["/search.json"])); + obj.topics.firstObject.visited = true; + return response(obj); } else if (request.queryParams.q === "discourse in:personal") { - const fixtures = fixturesByUrl["/search.json"]; - fixtures.topics.firstObject.archetype = "private_message"; - return response(fixtures); + const obj = JSON.parse(JSON.stringify(fixturesByUrl["/search.json"])); + obj.topics.firstObject.archetype = "private_message"; + return response(obj); } else { return response({}); } diff --git a/app/assets/stylesheets/common/base/search.scss b/app/assets/stylesheets/common/base/search.scss index 6edced0927f..ccf4cc6805f 100644 --- a/app/assets/stylesheets/common/base/search.scss +++ b/app/assets/stylesheets/common/base/search.scss @@ -329,7 +329,7 @@ } } - a.search-link:visited .topic-title { + a.search-link.visited .topic-title { color: var(--primary-medium); } .search-link {