Files
bsky-social-app/src/ageAssurance/types.ts
T
Eric Bailey a1857d62bd Handle AA config failure (#9660)
* Clarify some comments

* Add error state in case of config failure

* Add retry button and relayout to accommodate
2026-01-08 14:35:43 -06:00

55 lines
1.3 KiB
TypeScript

import {logger} from '#/ageAssurance/logger'
export enum AgeAssuranceAccess {
Unknown = 'unknown',
None = 'none',
Safe = 'safe',
Full = 'full',
}
export enum AgeAssuranceStatus {
Unknown = 'unknown',
Pending = 'pending',
Assured = 'assured',
Blocked = 'blocked',
}
export type AgeAssuranceState = {
lastInitiatedAt?: string
status: AgeAssuranceStatus
access: AgeAssuranceAccess
error?: 'config' // maybe other specific cases in the future
}
export function parseStatusFromString(raw: string) {
switch (raw) {
case 'unknown':
return AgeAssuranceStatus.Unknown
case 'pending':
return AgeAssuranceStatus.Pending
case 'assured':
return AgeAssuranceStatus.Assured
case 'blocked':
return AgeAssuranceStatus.Blocked
default:
logger.error(`parseStatusFromString: unknown status value: ${raw}`)
return AgeAssuranceStatus.Unknown
}
}
export function parseAccessFromString(raw: string) {
switch (raw) {
case 'unknown':
return AgeAssuranceAccess.Unknown
case 'none':
return AgeAssuranceAccess.None
case 'safe':
return AgeAssuranceAccess.Safe
case 'full':
return AgeAssuranceAccess.Full
default:
logger.error(`parseAccessFromString: unknown access value: ${raw}`)
return AgeAssuranceAccess.Full
}
}