Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork client
120
fork

Configure Feed

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

at a876aae44ea07494ebea9727350aa060b81f317b 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}