Bluesky app fork with some witchin' additions 馃挮
at readme-update 29 lines 1.0 kB view raw
1import {useCallback} from 'react' 2import {computeAgeAssuranceRegionAccess} from '@atproto/api' 3 4import {useAgeAssuranceDataContext} from '#/ageAssurance/data' 5import {logger} from '#/ageAssurance/logger' 6import {AgeAssuranceAccess, parseAccessFromString} from '#/ageAssurance/types' 7import {getAgeAssuranceRegionConfigWithFallback} from '#/ageAssurance/util' 8import {type Geolocation} from '#/geolocation' 9 10export function useComputeAgeAssuranceRegionAccess() { 11 const {config, data} = useAgeAssuranceDataContext() 12 return useCallback( 13 (geolocation: Geolocation) => { 14 if (!config) { 15 logger.warn('useComputeAgeAssuranceRegionAccess: missing config') 16 return AgeAssuranceAccess.Unknown 17 } 18 const region = getAgeAssuranceRegionConfigWithFallback( 19 config, 20 geolocation, 21 ) 22 const result = computeAgeAssuranceRegionAccess(region, data) 23 return result 24 ? parseAccessFromString(result.access) 25 : AgeAssuranceAccess.Full 26 }, 27 [config, data], 28 ) 29}