import { useContext } from 'react'; import { useRecoilValue } from 'recoil'; import { PersonChip } from '@/people/components/PersonChip'; import { Entity } from '@/ui/input/relation-picker/types/EntityTypeForSelect'; import { EditableFieldDefinitionContext } from '../states/EditableFieldDefinitionContext'; import { EditableFieldEntityIdContext } from '../states/EditableFieldEntityIdContext'; import { genericEntityFieldFamilySelector } from '../states/genericEntityFieldFamilySelector'; import { FieldDefinition } from '../types/FieldDefinition'; import { FieldRelationMetadata } from '../types/FieldMetadata'; export function GenericEditableRelationFieldDisplayMode() { const currentEditableFieldEntityId = useContext(EditableFieldEntityIdContext); const currentEditableFieldDefinition = useContext( EditableFieldDefinitionContext, ) as FieldDefinition; const fieldValue = useRecoilValue( genericEntityFieldFamilySelector({ entityId: currentEditableFieldEntityId ?? '', fieldName: currentEditableFieldDefinition ? currentEditableFieldDefinition.metadata.fieldName : '', }), ); switch (currentEditableFieldDefinition.metadata.relationType) { case Entity.Person: { return ( ); } default: console.warn( `Unknown relation type: "${currentEditableFieldDefinition.metadata.relationType}" in GenericEditableRelationField`, ); return <> ; } }