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 {View} from 'react-native'
import {msg} from '@lingui/macro'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {logger} from '#/logger'
@@ -8,7 +8,9 @@ import {useModerationOpts} from '#/state/preferences/moderation-opts'
import {useVerificationCreateMutation} from '#/state/queries/verification/useVerificationCreateMutation'
import * as Toast from '#/view/com/util/Toast'
import {atoms as a} from '#/alf'
import {Admonition} from '#/components/Admonition'
import {type DialogControlProps} from '#/components/Dialog'
import * as Dialog from '#/components/Dialog'
import {VerifiedCheck} from '#/components/icons/VerifiedCheck'
import * as ProfileCard from '#/components/ProfileCard'
import * as Prompt from '#/components/Prompt'
@@ -47,24 +49,37 @@ export function VerificationCreatePrompt({
<Prompt.DescriptionText>
{_(msg`This action can be undone at any time.`)}
</Prompt.DescriptionText>
<View style={[a.pb_xl]}>
{moderationOpts ? (
<ProfileCard.Header>
<ProfileCard.Avatar
profile={profile}
moderationOpts={moderationOpts}
/>
<ProfileCard.NameAndHandle
profile={profile}
moderationOpts={moderationOpts}
/>
</ProfileCard.Header>
) : null}
{moderationOpts ? (
<ProfileCard.Header>
<ProfileCard.Avatar
profile={profile}
moderationOpts={moderationOpts}
/>
<ProfileCard.NameAndHandle
profile={profile}
moderationOpts={moderationOpts}
/>
</ProfileCard.Header>
) : 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>
<Prompt.Actions>
<Prompt.Action cta={_(msg`Verify account`)} onPress={onConfirm} />
<Prompt.Cancel />
</Prompt.Actions>
<Dialog.Close />
</Prompt.Outer>
)
}