about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2024-08-23 15:55:18 -0500
committerGitHub <noreply@github.com>2024-08-23 13:55:18 -0700
commitfc5cc189b5de42ac1ee44ab0cf3ad78c2a747137 (patch)
tree22aa03b96585dbf58f644e9b044b37fea60c4d65
parentb5ea87c9817c4e55293baa18e6f6a40cde5d2b04 (diff)
downloadvoidsky-fc5cc189b5de42ac1ee44ab0cf3ad78c2a747137.tar.zst
Use moderatePost_wrapped for post embeds (#4981)
* Use moderatePost_wrapped

* Add lint rule
-rw-r--r--.eslintrc.js13
-rw-r--r--src/lib/moderatePost_wrapped.ts3
-rw-r--r--src/view/com/util/post-embeds/QuoteEmbed.tsx4
-rw-r--r--src/view/screens/DebugMod.tsx1
4 files changed, 18 insertions, 3 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 9d2b7bbb1..2d5f2822a 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -71,6 +71,19 @@ module.exports = {
     'simple-import-sort/exports': 'warn',
     // TODO: Reenable when we figure out why it gets stuck on CI.
     // 'react-compiler/react-compiler': 'error',
+    'no-restricted-imports': [
+      'error',
+      {
+        paths: [
+          {
+            name: '@atproto/api',
+            importNames: ['moderatePost'],
+            message:
+              'Please use `moderatePost_wrapped` from `#/lib/moderatePost_wrapped` instead.',
+          },
+        ],
+      },
+    ],
   },
   ignorePatterns: [
     '**/__mocks__/*.ts',
diff --git a/src/lib/moderatePost_wrapped.ts b/src/lib/moderatePost_wrapped.ts
index 0ce01368a..f4c9d0aad 100644
--- a/src/lib/moderatePost_wrapped.ts
+++ b/src/lib/moderatePost_wrapped.ts
@@ -1,4 +1,5 @@
-import {moderatePost, BSKY_LABELER_DID} from '@atproto/api'
+/* eslint-disable-next-line no-restricted-imports */
+import {BSKY_LABELER_DID, moderatePost} from '@atproto/api'
 
 type ModeratePost = typeof moderatePost
 type Options = Parameters<ModeratePost>[1]
diff --git a/src/view/com/util/post-embeds/QuoteEmbed.tsx b/src/view/com/util/post-embeds/QuoteEmbed.tsx
index 192aea708..ca9dc1c0d 100644
--- a/src/view/com/util/post-embeds/QuoteEmbed.tsx
+++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx
@@ -13,7 +13,6 @@ import {
   AppBskyEmbedRecordWithMedia,
   AppBskyFeedDefs,
   AppBskyFeedPost,
-  moderatePost,
   ModerationDecision,
   RichText as RichTextAPI,
 } from '@atproto/api'
@@ -24,6 +23,7 @@ import {useLingui} from '@lingui/react'
 import {useQueryClient} from '@tanstack/react-query'
 
 import {HITSLOP_20} from '#/lib/constants'
+import {moderatePost_wrapped} from '#/lib/moderatePost_wrapped'
 import {s} from '#/lib/styles'
 import {useModerationOpts} from '#/state/preferences/moderation-opts'
 import {useSession} from '#/state/session'
@@ -122,7 +122,7 @@ function QuoteEmbedModerated({
   const moderationOpts = useModerationOpts()
   const moderation = React.useMemo(() => {
     return moderationOpts
-      ? moderatePost(viewRecordToPostView(viewRecord), moderationOpts)
+      ? moderatePost_wrapped(viewRecordToPostView(viewRecord), moderationOpts)
       : undefined
   }, [viewRecord, moderationOpts])
 
diff --git a/src/view/screens/DebugMod.tsx b/src/view/screens/DebugMod.tsx
index 9c609348e..d83623adc 100644
--- a/src/view/screens/DebugMod.tsx
+++ b/src/view/screens/DebugMod.tsx
@@ -1,3 +1,4 @@
+/* eslint-disable no-restricted-imports */
 import React from 'react'
 import {View} from 'react-native'
 import {