import { ResourceObject } from '../types/api_primitives' import { useApiGet } from './use_api' import { availableFeatures, useFeatures } from './use_features' interface GenderResource extends ResourceObject { type: 'Gender' value: string } interface PersonWithGender extends ResourceObject { type: 'Person' gender: GenderResource | undefined } export function useMyGender() { const { featureEnabled } = useFeatures() const isFeatureEnabled = featureEnabled(availableFeatures.gender_specific_conversations) const { data, isFetching } = useApiGet( { url: '/me', data: { include: ['gender'], fields: { Person: ['gender'], Gender: ['value'], }, }, app: 'people', }, { enabled: isFeatureEnabled } ) const gender = data?.gender const genderValue = gender?.value ?? null const genderId = gender?.id ? String(gender.id) : null return { isFeatureEnabled, genderValue, genderId, isFetching, } }