diff --git a/package-lock.json b/package-lock.json index e04db6f..1004cba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3099,6 +3099,11 @@ "inherits": "^2.0.3" } }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -7919,12 +7924,13 @@ "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" }, "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.0.1.tgz", + "integrity": "sha512-VfWbDBAay2Zbw2QrMMIxuo4H0SUe+TdHHT8qLkbBRF+TxdEhnbDxf7jWMV5Fbk5U4HX3abq2lvYH5v/xoo6CNg==", "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" } }, "opener": { diff --git a/package.json b/package.json index 625cfa2..920e3b3 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "lodash": "^4.17.11", "lodash.shuffle": "^4.2.0", "markdown-it": "^12.0.2", - "open": "^7.0.3", + "open": "^8.0.1", "piexifjs": "^1.0.4", "pretty-ms": "^7.0.1", "pull-abortable": "^4.1.1", diff --git a/src/assets/style.css b/src/assets/style.css index 5b528a6..6fac4c1 100644 --- a/src/assets/style.css +++ b/src/assets/style.css @@ -667,6 +667,10 @@ section.post-preview > section > footer { display: none; } +section.post.blocked { + font-style: italic; +} + section > footer > div > a:hover, section > footer > div > form > button:hover { text-decoration: underline; diff --git a/src/models.js b/src/models.js index 3a1fca5..2e5dbac 100644 --- a/src/models.js +++ b/src/models.js @@ -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; }) ); diff --git a/src/views/i18n.js b/src/views/i18n.js index c64876c..0571944 100644 --- a/src/views/i18n.js +++ b/src/views/i18n.js @@ -75,6 +75,7 @@ const i18n = { relationshipFollowing: "You are following", relationshipYou: "This is you", relationshipBlocking: "You are blocking", + relationshipBlockingPost: "This message hides content from a blocked user.", relationshipNone: "You are neither following or blocking", relationshipConflict: "You are somehow both following and blocking", // author view diff --git a/src/views/index.js b/src/views/index.js index 1070d41..ac0a114 100644 --- a/src/views/index.js +++ b/src/views/index.js @@ -220,6 +220,7 @@ const thread = (messages) => { const isAncestor = Boolean( lodash.get(currentMsg, "value.meta.thread.ancestorOfTarget", false) ); + const isBlocked = Boolean(nextMsg.value.meta.blocking); msgList.push(`