import type { GlossaryTerm } from '../../contexts/GlossaryTerms';
import Tooltip from '@tippyjs/react';
import React, { useContext } from 'react';
import GlossaryContext from '../../contexts/GlossaryTerms';
interface Props extends React.PropsWithChildren {
term?: string;
terms: GlossaryTerm[];
}
const Glossary = ({ children, term: termProp, terms }: Props) => {
const term = (Array.isArray(children) ? children[0] : children) || termProp;
if (!term) return null;
const foundTerm = terms.find(i => term.toLowerCase() === i?.term?.toLowerCase());
if (!foundTerm) return {term};
return (
{foundTerm.term} - {foundTerm.definition}
}
offset={[-5, 5]}
placement="bottom-start"
>
{term}
);
};
const GlossaryWithContext = (props: Omit) => {
const terms = useContext(GlossaryContext);
return terms ? : {props.term};
};
export { Glossary, GlossaryContext };
export default GlossaryWithContext;