Merge pull request #624 from nickwynja/blocking
Hides content of messages from blocked people
This commit is contained in:
commit
e45f115bbf
|
@ -667,6 +667,10 @@ section.post-preview > section > footer {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
section.post.blocked {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
section > footer > div > a:hover,
|
section > footer > div > a:hover,
|
||||||
section > footer > div > form > button:hover {
|
section > footer > div > form > button:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
|
|
|
@ -866,6 +866,11 @@ module.exports = ({ cooler, isPublic }) => {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { blocking } = await models.friend.getRelationship(
|
||||||
|
msg.value.author
|
||||||
|
);
|
||||||
|
lodash.set(msg, "value.meta.blocking", blocking);
|
||||||
|
|
||||||
return msg;
|
return msg;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
|
@ -75,6 +75,7 @@ const i18n = {
|
||||||
relationshipFollowing: "You are following",
|
relationshipFollowing: "You are following",
|
||||||
relationshipYou: "This is you",
|
relationshipYou: "This is you",
|
||||||
relationshipBlocking: "You are blocking",
|
relationshipBlocking: "You are blocking",
|
||||||
|
relationshipBlockingPost: "This message hides content from a blocked user.",
|
||||||
relationshipNone: "You are neither following or blocking",
|
relationshipNone: "You are neither following or blocking",
|
||||||
relationshipConflict: "You are somehow both following and blocking",
|
relationshipConflict: "You are somehow both following and blocking",
|
||||||
// author view
|
// author view
|
||||||
|
|
|
@ -220,6 +220,7 @@ const thread = (messages) => {
|
||||||
const isAncestor = Boolean(
|
const isAncestor = Boolean(
|
||||||
lodash.get(currentMsg, "value.meta.thread.ancestorOfTarget", false)
|
lodash.get(currentMsg, "value.meta.thread.ancestorOfTarget", false)
|
||||||
);
|
);
|
||||||
|
const isBlocked = Boolean(nextMsg.value.meta.blocking);
|
||||||
msgList.push(`<div class="indent"><details ${isAncestor ? "open" : ""}>`);
|
msgList.push(`<div class="indent"><details ${isAncestor ? "open" : ""}>`);
|
||||||
|
|
||||||
const nextAuthor = lodash.get(nextMsg, "value.meta.author.name");
|
const nextAuthor = lodash.get(nextMsg, "value.meta.author.name");
|
||||||
|
@ -228,8 +229,13 @@ const thread = (messages) => {
|
||||||
? lodash.get(nextMsg, "value.content.contentWarning")
|
? lodash.get(nextMsg, "value.content.contentWarning")
|
||||||
: lodash.get(nextMsg, "value.content.text")
|
: lodash.get(nextMsg, "value.content.text")
|
||||||
);
|
);
|
||||||
|
msgList.push(
|
||||||
msgList.push(summary(`${nextAuthor}: ${nextSnippet}`).outerHTML);
|
summary(
|
||||||
|
isBlocked
|
||||||
|
? i18n.relationshipBlockingPost
|
||||||
|
: `${nextAuthor}: ${nextSnippet}`
|
||||||
|
).outerHTML
|
||||||
|
);
|
||||||
} else if (depth(currentMsg) > depth(nextMsg)) {
|
} else if (depth(currentMsg) > depth(nextMsg)) {
|
||||||
// getting more shallow
|
// getting more shallow
|
||||||
const diffDepth = depth(currentMsg) - depth(nextMsg);
|
const diffDepth = depth(currentMsg) - depth(nextMsg);
|
||||||
|
@ -353,6 +359,7 @@ const post = ({ msg, aside = false }) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const isPrivate = Boolean(msg.value.meta.private);
|
const isPrivate = Boolean(msg.value.meta.private);
|
||||||
|
const isBlocked = Boolean(msg.value.meta.blocking);
|
||||||
const isRoot = msg.value.content.root == null;
|
const isRoot = msg.value.content.root == null;
|
||||||
const isFork = msg.value.meta.postType === "subtopic";
|
const isFork = msg.value.meta.postType === "subtopic";
|
||||||
const hasContentWarning =
|
const hasContentWarning =
|
||||||
|
@ -438,6 +445,17 @@ const post = ({ msg, aside = false }) => {
|
||||||
)
|
)
|
||||||
: article({ class: "content", innerHTML: markdownContent });
|
: article({ class: "content", innerHTML: markdownContent });
|
||||||
|
|
||||||
|
if (isBlocked) {
|
||||||
|
messageClasses.push("blocked");
|
||||||
|
return section(
|
||||||
|
{
|
||||||
|
id: msg.key,
|
||||||
|
class: messageClasses.join(" "),
|
||||||
|
},
|
||||||
|
i18n.relationshipBlockingPost
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
const articleContent = hasContentWarning
|
const articleContent = hasContentWarning
|
||||||
? details(summary(msg.value.content.contentWarning), articleElement)
|
? details(summary(msg.value.content.contentWarning), articleElement)
|
||||||
: articleElement;
|
: articleElement;
|
||||||
|
|
Loading…
Reference in New Issue