import {FC, HTMLProps, useMemo} from "react" import {Entity} from "../../../src/types" import {useDetails} from "../../../src/hooks/useDetails" import styles from './EntitySpan.module.css' import {RecipeSpan} from "../Recipe/Recipe"; import {LeftClickIcon} from "../LeftClickIcon/LeftClickIcon"; interface Props extends Omit, 'value'> { value: Entity|string leftClickText?: string rightClickText?: string } export const EntitySpan: FC = ({value, leftClickText, rightClickText, ...rest}) => { const details = useDetails() const entity = useMemo(() => { return typeof value === "object" ? value : details.find(detail => detail.href === value) ?? { href: value, name: value, image: value, recipe: undefined } }, [details, value]) return {/* eslint-disable-next-line @next/next/no-img-element */} {entity.name}/ {entity.name}
{entity.recipe && ( <>
Recipe
)} {(leftClickText || rightClickText) && ( <>
Actions
{leftClickText &&
{leftClickText}
} {rightClickText &&
{rightClickText}
} )}
}