FIX: Add href to post-date link element (#16469)

The href was removed in commit 08a1f41582,
but it was useful to quick copy the URL to the post.
This commit is contained in:
Bianca Nenciu 2022-04-13 18:41:06 +03:00 committed by GitHub
parent c863244382
commit eb70ea4478
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 8 deletions

View File

@ -19,6 +19,7 @@ import { iconNode } from "discourse-common/lib/icon-library";
import { postTransformCallbacks } from "discourse/widgets/post-stream"; import { postTransformCallbacks } from "discourse/widgets/post-stream";
import { prioritizeNameInUx } from "discourse/lib/settings"; import { prioritizeNameInUx } from "discourse/lib/settings";
import { relativeAgeMediumSpan } from "discourse/lib/formatter"; import { relativeAgeMediumSpan } from "discourse/lib/formatter";
import { wantsNewWindow } from "discourse/lib/intercept-click";
import { transformBasicPost } from "discourse/lib/transform-post"; import { transformBasicPost } from "discourse/lib/transform-post";
import autoGroupFlairForUser from "discourse/lib/avatar-flair"; import autoGroupFlairForUser from "discourse/lib/avatar-flair";
import showModal from "discourse/lib/show-modal"; import showModal from "discourse/lib/show-modal";
@ -352,22 +353,25 @@ createWidget("post-date", {
tagName: "div.post-info.post-date", tagName: "div.post-info.post-date",
html(attrs) { html(attrs) {
const attributes = { class: "post-date" }; const attributes = { href: attrs.shareUrl, class: "post-date" };
let date; let date = attrs.created_at;
if (attrs.wiki && attrs.lastWikiEdit) { if (attrs.lastWikiEdit) {
attributes["class"] += " last-wiki-edit"; attributes["class"] += " last-wiki-edit";
date = new Date(attrs.lastWikiEdit); date = attrs.lastWikiEdit;
} else {
date = new Date(attrs.created_at);
} }
return h("a", { attributes }, dateNode(date)); return h("a", { attributes }, dateNode(new Date(date)));
}, },
click() { click() {
if (wantsNewWindow(event)) {
return;
}
const post = this.findAncestorModel(); const post = this.findAncestorModel();
const topic = post.topic; const topic = post.topic;
const controller = showModal("share-topic", { model: topic.category }); const controller = showModal("share-topic", { model: topic.category });
controller.setProperties({ topic, post }); controller.setProperties({ topic, post });
event.preventDefault();
}, },
}); });

View File

@ -59,7 +59,12 @@ acceptance("Share and Invite modal", function (needs) {
test("Post date link", async function (assert) { test("Post date link", async function (assert) {
await visit("/t/short-topic-with-two-posts/54077"); await visit("/t/short-topic-with-two-posts/54077");
await click("#post_2 .post-info.post-date a"); await click("#post_2 .post-info.post-date");
assert.ok(
query("#post_2 .post-info.post-date a").href.endsWith(
"/t/short-topic-with-two-posts/54077/2?u=eviltrout"
)
);
assert.ok(exists(".share-topic-modal"), "it shows the share modal"); assert.ok(exists(".share-topic-modal"), "it shows the share modal");
}); });