'use client'; import { InfiniteScrollList } from '@/components/ui/infinite-scroll-list'; import AIStandardCard from '@/components/features/ai-standard-card'; import useSmartInfiniteQuery from '../../useSmartInfiniteQuery'; import { fetchCharacters } from '@/services/editor'; import { useHomeStore } from '../../store'; import { useEffect } from 'react'; const Character = () => { const selectedTags = useHomeStore((state) => state.selectedTags); const { dataSource, isFirstLoading, isLoadingMore, noMoreData, onLoadMore, onSearch } = useSmartInfiniteQuery(fetchCharacters, { queryKey: 'characters', defaultQuery: { tagIds: selectedTags }, }); useEffect(() => { onSearch({ tagIds: selectedTags }); }, [selectedTags]); return (
items={dataSource} columns={(width) => Math.floor(width / 213)} renderItem={(character) => } getItemKey={(character) => character.id} hasNextPage={!noMoreData} isLoading={isFirstLoading || isLoadingMore} fetchNextPage={onLoadMore} />
); }; export default Character;