/* eslint-disable react/display-name */ 'use client' import ExploreModelItemHeader from '../ExploreModelItemHeader' 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 { Product } from '@/_models/Product' 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) }, [availableVersions]) if (!suitableModel) { return null } const { quantMethod, bits, maxRamRequired, usecase } = suitableModel return (
Release Date
{displayDate(model.releaseDate)}
Version
Author
{model.author}
Compatibility
About {model.longDescription}
Tags
{model.tags.map((tag) => ( ))}
{model.availableVersions?.length > 0 && ( {show && ( )} )}
) }) export default ExploreModelItem