Prevent issuing verifications for users without display names

This commit is contained in:
Eric Bailey
2025-04-23 14:06:00 -05:00
parent 70dbc94766
commit 4747f2261f
@@ -1,6 +1,6 @@
import {useCallback} from 'react' import {useCallback} from 'react'
import {View} from 'react-native' import {View} from 'react-native'
import {msg} from '@lingui/macro' import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react' import {useLingui} from '@lingui/react'
import {logger} from '#/logger' import {logger} from '#/logger'
@@ -8,7 +8,9 @@ import {useModerationOpts} from '#/state/preferences/moderation-opts'
import {useVerificationCreateMutation} from '#/state/queries/verification/useVerificationCreateMutation' import {useVerificationCreateMutation} from '#/state/queries/verification/useVerificationCreateMutation'
import * as Toast from '#/view/com/util/Toast' import * as Toast from '#/view/com/util/Toast'
import {atoms as a} from '#/alf' import {atoms as a} from '#/alf'
import {Admonition} from '#/components/Admonition'
import {type DialogControlProps} from '#/components/Dialog' import {type DialogControlProps} from '#/components/Dialog'
import * as Dialog from '#/components/Dialog'
import {VerifiedCheck} from '#/components/icons/VerifiedCheck' import {VerifiedCheck} from '#/components/icons/VerifiedCheck'
import * as ProfileCard from '#/components/ProfileCard' import * as ProfileCard from '#/components/ProfileCard'
import * as Prompt from '#/components/Prompt' import * as Prompt from '#/components/Prompt'
@@ -47,24 +49,37 @@ export function VerificationCreatePrompt({
<Prompt.DescriptionText> <Prompt.DescriptionText>
{_(msg`This action can be undone at any time.`)} {_(msg`This action can be undone at any time.`)}
</Prompt.DescriptionText> </Prompt.DescriptionText>
<View style={[a.pb_xl]}>
{moderationOpts ? ( {moderationOpts ? (
<ProfileCard.Header> <ProfileCard.Header>
<ProfileCard.Avatar <ProfileCard.Avatar
profile={profile} profile={profile}
moderationOpts={moderationOpts} moderationOpts={moderationOpts}
/> />
<ProfileCard.NameAndHandle <ProfileCard.NameAndHandle
profile={profile} profile={profile}
moderationOpts={moderationOpts} moderationOpts={moderationOpts}
/> />
</ProfileCard.Header> </ProfileCard.Header>
) : null} ) : null}
<View style={[a.pt_xl]}>
{profile.displayName ? (
<Prompt.Actions>
<Prompt.Action cta={_(msg`Verify account`)} onPress={onConfirm} />
<Prompt.Cancel />
</Prompt.Actions>
) : (
<Admonition type="warning">
<Trans>
This user does not have a display name, and therefore cannot be
verified.
</Trans>
</Admonition>
)}
</View> </View>
<Prompt.Actions>
<Prompt.Action cta={_(msg`Verify account`)} onPress={onConfirm} /> <Dialog.Close />
<Prompt.Cancel />
</Prompt.Actions>
</Prompt.Outer> </Prompt.Outer>
) )
} }