this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at e28f6d2f370b4e882ed6f23d08ca0f8d94dbac5f 52 lines 1.6 kB view raw
1import {useCallback} from 'react' 2import {type AppBskyActorDefs} from '@atproto/api' 3import {msg} from '@lingui/core/macro' 4import {useLingui} from '@lingui/react' 5 6import {logger} from '#/logger' 7import {useVerificationsRemoveMutation} from '#/state/queries/verification/useVerificationsRemoveMutation' 8import {type DialogControlProps} from '#/components/Dialog' 9import * as Prompt from '#/components/Prompt' 10import * as Toast from '#/components/Toast' 11import type * as bsky from '#/types/bsky' 12 13export {useDialogControl as usePromptControl} from '#/components/Dialog' 14 15export function VerificationRemovePrompt({ 16 control, 17 profile, 18 verifications, 19 onConfirm: onConfirmInner, 20}: { 21 control: DialogControlProps 22 profile: bsky.profile.AnyProfileView 23 verifications: AppBskyActorDefs.VerificationView[] 24 onConfirm?: () => void 25}) { 26 const {_} = useLingui() 27 const {mutateAsync: remove} = useVerificationsRemoveMutation() 28 const onConfirm = useCallback(async () => { 29 onConfirmInner?.() 30 try { 31 await remove({profile, verifications}) 32 Toast.show(_(msg`Removed verification`)) 33 } catch (e) { 34 Toast.show(_(msg`Failed to remove verification`), { 35 type: 'error', 36 }) 37 logger.error('Failed to remove verification', { 38 safeMessage: e, 39 }) 40 } 41 }, [_, profile, verifications, remove, onConfirmInner]) 42 43 return ( 44 <Prompt.Basic 45 control={control} 46 title={_(msg`Remove your verification for this account?`)} 47 onConfirm={onConfirm} 48 confirmButtonCta={_(msg`Remove verification`)} 49 confirmButtonColor="negative" 50 /> 51 ) 52}