diff options
author | Eric Bailey <git@esb.lol> | 2024-10-10 11:47:12 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-10 09:47:12 -0700 |
commit | 509e3d9c85d7b5d793049282cd47a9821a3ecc38 (patch) | |
tree | 1c3c86c6c240245ed01f60f16d774c90a33360bf /src | |
parent | 676e6269e72f5e3ab4f394ca6cc0296945fe5210 (diff) | |
download | voidsky-509e3d9c85d7b5d793049282cd47a9821a3ecc38.tar.zst |
Filter out non-configrable mod authorities from report dialog (#5670)
Diffstat (limited to 'src')
-rw-r--r-- | src/screens/Moderation/index.tsx | 2 | ||||
-rw-r--r-- | src/state/queries/preferences/moderation.ts | 21 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/screens/Moderation/index.tsx b/src/screens/Moderation/index.tsx index 070b87950..3b997009b 100644 --- a/src/screens/Moderation/index.tsx +++ b/src/screens/Moderation/index.tsx @@ -169,7 +169,7 @@ export function ModerationScreenInner({ isLoading: isLabelersLoading, data: labelers, error: labelersError, - } = useMyLabelersQuery() + } = useMyLabelersQuery({includeNonConfigurable: true}) useFocusEffect( React.useCallback(() => { diff --git a/src/state/queries/preferences/moderation.ts b/src/state/queries/preferences/moderation.ts index 9cd183e8b..6a7d628b5 100644 --- a/src/state/queries/preferences/moderation.ts +++ b/src/state/queries/preferences/moderation.ts @@ -1,12 +1,13 @@ import React from 'react' import { - DEFAULT_LABEL_SETTINGS, BskyAgent, + DEFAULT_LABEL_SETTINGS, interpretLabelValueDefinitions, } from '@atproto/api' -import {usePreferencesQuery} from './index' +import {isNonConfigurableModerationAuthority} from '#/state/session/additional-moderation-authorities' import {useLabelersDetailedInfoQuery} from '../labeler' +import {usePreferencesQuery} from './index' /** * More strict than our default settings for logged in users. @@ -16,15 +17,27 @@ export const DEFAULT_LOGGED_OUT_LABEL_PREFERENCES: typeof DEFAULT_LABEL_SETTINGS Object.entries(DEFAULT_LABEL_SETTINGS).map(([key, _pref]) => [key, 'hide']), ) -export function useMyLabelersQuery() { +export function useMyLabelersQuery({ + includeNonConfigurable = false, +}: { + includeNonConfigurable?: boolean +} = {}) { const prefs = usePreferencesQuery() - const dids = Array.from( + let dids = Array.from( new Set( BskyAgent.appLabelers.concat( prefs.data?.moderationPrefs.labelers.map(l => l.did) || [], ), ), ) + + /* + * By default, remove non-configurable moderation authorities + */ + if (!includeNonConfigurable) { + dids = dids.filter(did => !isNonConfigurableModerationAuthority(did)) + } + const labelers = useLabelersDetailedInfoQuery({dids}) const isLoading = prefs.isLoading || labelers.isLoading const error = prefs.error || labelers.error |