Bluesky app fork with some witchin' additions 馃挮
witchsky.app
bluesky
fork
client
1import * as bsky from '../types/bsky'
2
3export type VerificationState = {
4 role: 'default' | 'verifier'
5 isVerified: boolean
6}
7
8export function getVerificationState({
9 profile,
10}: {
11 profile?: bsky.profile.AnyProfileView
12}): VerificationState {
13 if (!profile || !profile.verification) {
14 return {
15 role: 'default',
16 isVerified: false,
17 }
18 }
19
20 const {verifiedStatus, trustedVerifierStatus} = profile.verification
21 const isVerifiedUser = ['valid', 'invalid'].includes(verifiedStatus)
22 const isVerifierUser = ['valid', 'invalid'].includes(trustedVerifierStatus)
23 const isVerified =
24 (isVerifiedUser && verifiedStatus === 'valid') ||
25 (isVerifierUser && trustedVerifierStatus === 'valid')
26
27 return {
28 role: isVerifierUser ? 'verifier' : 'default',
29 isVerified,
30 }
31}