this repo has no description
0
fork

Configure Feed

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

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