about summary refs log tree commit diff
path: root/src/state/queries/preferences
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2023-11-17 17:31:26 +0000
committerGitHub <noreply@github.com>2023-11-17 09:31:26 -0800
commitc858b583072d7858f50ee0d56bb76dbce5a9c13d (patch)
tree6fa7e969abc71b1b21c7586856bf013b8a3a96c8 /src/state/queries/preferences
parent9c8a1b8a3118f6a6994a3c6cf8e5b70ef10049ab (diff)
downloadvoidsky-c858b583072d7858f50ee0d56bb76dbce5a9c13d.tar.zst
Do less work (#1953)
Diffstat (limited to 'src/state/queries/preferences')
-rw-r--r--src/state/queries/preferences/index.ts20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts
index fe719225d..e7fa3b15b 100644
--- a/src/state/queries/preferences/index.ts
+++ b/src/state/queries/preferences/index.ts
@@ -1,11 +1,6 @@
-import {useEffect, useState} from 'react'
+import {useMemo} from 'react'
 import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
-import {
-  LabelPreference,
-  BskyFeedViewPreference,
-  ModerationOpts,
-} from '@atproto/api'
-import isEqual from 'lodash.isequal'
+import {LabelPreference, BskyFeedViewPreference} from '@atproto/api'
 
 import {track} from '#/lib/analytics/analytics'
 import {getAge} from '#/lib/strings/time'
@@ -91,21 +86,16 @@ export function usePreferencesQuery() {
 
 export function useModerationOpts() {
   const {currentAccount} = useSession()
-  const [opts, setOpts] = useState<ModerationOpts | undefined>()
   const prefs = usePreferencesQuery()
-  useEffect(() => {
+  const opts = useMemo(() => {
     if (!prefs.data) {
       return
     }
-    // only update this hook when the moderation options change
-    const newOpts = getModerationOpts({
+    return getModerationOpts({
       userDid: currentAccount?.did || '',
       preferences: prefs.data,
     })
-    if (!isEqual(opts, newOpts)) {
-      setOpts(newOpts)
-    }
-  }, [prefs.data, currentAccount, opts, setOpts])
+  }, [currentAccount?.did, prefs.data])
   return opts
 }