import React, { useState, useRef, useCallback } from 'react'; import { Box, Flex, Card, Grid, Input } from '@chakra-ui/react'; import { useLoading } from '@/hooks/useLoading'; import { getShareModelList, triggerModelCollection } from '@/api/app'; import { usePagination } from '@/hooks/usePagination'; import type { ShareModelItem } from '@/types/model'; import { useUserStore } from '@/store/user'; import ShareModelList from './components/list'; import styles from './index.module.scss'; const modelList = () => { const { Loading } = useLoading(); const lastSearch = useRef(''); const [searchText, setSearchText] = useState(''); const { refreshModel } = useUserStore(); /* 加载模型 */ const { data: models, isLoading, Pagination, getData, pageNum } = usePagination({ api: getShareModelList, pageSize: 24, params: { searchText } }); const onclickCollection = useCallback( async (modelId: string) => { try { await triggerModelCollection(modelId); getData(pageNum); refreshModel.removeModelDetail(modelId); } catch (error) { console.log(error); } }, [getData, pageNum, refreshModel] ); return ( AI 应用市场 {/* setSearchText(e.target.value)} onBlur={() => { if (searchText === lastSearch.current) return; getData(1); lastSearch.current = searchText; }} onKeyDown={(e) => { if (searchText === lastSearch.current) return; if (e.key === 'Enter') { getData(1); lastSearch.current = searchText; } }} /> */} ); }; export default modelList;