@@ -20,8 +20,11 @@ import { MainSidebarButton } from '~/features/main-sidebar';
2020import { Username } from '~/features/user/username' ;
2121import { useSession } from '~/loaders' ;
2222import { ActiveDatasetProvider , useDatasetsStore } from '~/state' ;
23+ import {
24+ type TrendingModel ,
25+ useTrendingHubModels ,
26+ } from '~/usecases/models-info.usecase' ;
2327import { runAutoDataset } from '~/usecases/run-autodataset' ;
24- import { useTrendingModelsContext } from './layout' ;
2528
2629const runAutoDatasetAction = server$ ( async function * (
2730 instruction : string ,
@@ -40,17 +43,24 @@ const runAutoDatasetAction = server$(async function* (
4043} ) ;
4144
4245export default component$ ( ( ) => {
46+ const fetchTrendingModels = useTrendingHubModels ( ) ;
4347 const session = useSession ( ) ;
4448 const nav = useNavigate ( ) ;
4549 const searchOnWeb = useSignal ( false ) ;
4650 const prompt = useSignal ( '' ) ;
4751 const currentStep = useSignal ( '' ) ;
48- const trendingModels = useTrendingModelsContext ( ) ;
52+
53+ const trendingModels = useSignal < TrendingModel [ ] > ( [ ] ) ;
54+
4955 const textAreaElement = useSignal < HTMLTextAreaElement > ( ) ;
5056 const { clearActiveDataset } = useDatasetsStore ( ) ;
5157
52- useTask$ ( ( ) => {
58+ useTask$ ( async ( ) => {
5359 clearActiveDataset ( ) ;
60+
61+ if ( trendingModels . value . length === 0 ) {
62+ trendingModels . value = await fetchTrendingModels ( ) ;
63+ }
5464 } ) ;
5565
5666 const creationFlow = useStore ( {
@@ -354,7 +364,7 @@ export default component$(() => {
354364 < p class = "text-sm text-center w-full lg:text-left lg:w-fit" >
355365 Trending for vibe testing:
356366 </ p >
357- { trendingModels . map ( ( model ) => (
367+ { trendingModels . value ?. map ( ( model ) => (
358368 < div
359369 key = { model . id }
360370 class = "flex items-center p-1 gap-1 font-mono"
0 commit comments