/* eslint-disable react/display-name */ 'use client' import ExploreModelItemHeader from '../ExploreModelItemHeader' import { Button } from '@uikit' import ModelVersionList from '../ModelVersionList' import { Fragment, forwardRef, useEffect, useState } from 'react' import SimpleTag from '../SimpleTag' import { MiscellanousTag, NumOfBit, QuantMethodTag, RamRequired, UsecaseTag, VersionTag, } from '@/_components/SimpleTag/TagType' import { displayDate } from '@utils/datetime' import useGetMostSuitableModelVersion from '@hooks/useGetMostSuitableModelVersion' import { toGigabytes } from '@utils/converter' type Props = { model: Product } const ExploreModelItem = forwardRef(({ model }, ref) => { const [show, setShow] = useState(false) const { availableVersions } = model const { suitableModel, getMostSuitableModelVersion } = useGetMostSuitableModelVersion() useEffect(() => { getMostSuitableModelVersion(availableVersions) // eslint-disable-next-line react-hooks/exhaustive-deps }, [availableVersions]) if (!suitableModel) { return null } const { quantMethod, bits, maxRamRequired, usecase } = suitableModel return (
About {model.longDescription}
Release Date

{displayDate(model.releaseDate)}

Version
Author

{model.author}

Compatibility
Tags
{model.tags.map((tag) => ( ))}
{model.availableVersions?.length > 0 && (
{show && ( )}
)}
) }) export default ExploreModelItem