]> Untitled Git - lemmy-ui.git/blobdiff - src/shared/utils.ts
Fix posts pushed from blocked users/comms. Fixes #697 (#792)
[lemmy-ui.git] / src / shared / utils.ts
index 6c6db1fdf55f1de51a94b483b4db9632f362f83e..5fda2e60e55fd3b83152a9cc755c2de62e26d36e 100644 (file)
@@ -1487,3 +1487,33 @@ export function canCreateCommunity(siteRes: GetSiteResponse): boolean {
     .unwrapOr(false);
   return !adminOnly || amAdmin(Some(siteRes.admins));
 }
+
+export function isPostBlocked(
+  pv: PostView,
+  myUserInfo = UserService.Instance.myUserInfo
+): boolean {
+  return myUserInfo
+    .map(
+      mui =>
+        mui.community_blocks
+          .map(c => c.community.id)
+          .includes(pv.community.id) ||
+        mui.person_blocks.map(p => p.target.id).includes(pv.creator.id)
+    )
+    .unwrapOr(false);
+}
+
+/// Checks to make sure you can view NSFW posts. Returns true if you can.
+export function nsfwCheck(
+  pv: PostView,
+  myUserInfo = UserService.Instance.myUserInfo
+): boolean {
+  let nsfw = pv.post.nsfw || pv.community.nsfw;
+  return (
+    !nsfw ||
+    (nsfw &&
+      myUserInfo
+        .map(m => m.local_user_view.local_user.show_nsfw)
+        .unwrapOr(false))
+  );
+}