import React, { useMemo } from 'react'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faComment } from '@fortawesome/free-solid-svg-icons'; import { QueryResultItem } from '@aws-sdk/client-kendra'; import HighlightText from './HighlightText'; interface TypeAnswerProps { item: QueryResultItem; } function TypeAnswer(props: TypeAnswerProps) { const { answer, answerTextHighlights } = useMemo(() => { const answerText = props.item.AdditionalAttributes?.find( (a) => a.Key === 'AnswerText' ); const answerOffsets = answerText?.Value?.TextWithHighlightsValue?.Highlights?.[0]; const answer = (answerOffsets ? answerText?.Value?.TextWithHighlightsValue?.Text?.substring( answerOffsets.BeginOffset || 0, answerOffsets.EndOffset ) : answerText?.Value?.TextWithHighlightsValue?.Text) || ''; const answerTextHighlights = answerText?.Value?.TextWithHighlightsValue || { Text: '', Highlights: [], }; return { answer, answerTextHighlights }; }, [props]); return (
答え
{answer}
); } export default TypeAnswer;