import { useState } from 'react' import { Quantization } from '@janhq/core' import { Button, Select, SelectContent, SelectGroup, SelectItem, SelectPortal, SelectTrigger, SelectValue, } from '@janhq/uikit' import { useAtomValue } from 'jotai' import { twMerge } from 'tailwind-merge' import { useConvertHuggingFaceModel } from '@/hooks/useConvertHuggingFaceModel' import { loadingAtom, repoDataAtom, unsupportedAtom, } from '@/helpers/atoms/HFConverter.atom' export const HuggingFaceRepoDataLoadedModal = () => { const loading = useAtomValue(loadingAtom) // This component only loads when repoData is not null const repoData = useAtomValue(repoDataAtom)! const unsupported = useAtomValue(unsupportedAtom) const [quantization, setQuantization] = useState( Quantization.Q4_K_M ) const { convertHuggingFaceModel } = useConvertHuggingFaceModel() const onValueSelected = (value: Quantization) => { setQuantization(value) } const onConvertClick = () => { convertHuggingFaceModel(repoData.id, repoData, quantization) } return ( <>

Hugging Face Converter

Found the repository!

{repoData.id}

{unsupported ? '❌ This model is not supported!' : '✅ This model is supported!'}

{repoData.tags?.includes('gguf') ? (

...But you can import it manually!

) : null}
) }