"use client"; import ExploreModelItemHeader from "../ExploreModelItemHeader"; import ModelVersionList from "../ModelVersionList"; import { useMemo, useState } from "react"; import { Product } from "@/_models/Product"; import SimpleTag, { TagType } from "../SimpleTag"; import { displayDate } from "@/_utils/datetime"; import useDownloadModel from "@/_hooks/useDownloadModel"; import { modelDownloadStateAtom } from "@/_helpers/JotaiWrapper"; import { atom, useAtomValue } from "jotai"; type Props = { model: Product; }; const ExploreModelItem: React.FC = ({ model }) => { const downloadAtom = useMemo( () => atom((get) => get(modelDownloadStateAtom)[model.fileName ?? ""]), [model.fileName ?? ""] ); const downloadState = useAtomValue(downloadAtom); const { downloadModel } = useDownloadModel(); const [show, setShow] = useState(false); return (
downloadModel(model)} />
Model Format
GGUF
Hardware Compatibility
Release Date
{displayDate(model.releaseDate)}
Expected Performance
About {model.longDescription}
Tags
{show && }
); }; export default ExploreModelItem;