'use client'; import { useCallback } from 'react'; import useSWR from 'swr'; import { useStore } from '@/store'; type ModelInfo = { id: number; name: string; }; export const useModelData = () => { const { fetcher } = useStore(); const { data: models, isLoading: modelLoading } = useSWR( '/product/models', (url) => fetcher(url) .then((res) => res.json()) .then((res) => res.data), { keepPreviousData: true, revalidateOnFocus: false, }, ); const getModelName = useCallback( (id: number) => { if (!models) return null; const model = models.find((element: ModelInfo) => element.id === id); return model ? model.name : null; }, [models], ); return { models, modelLoading, getModelName }; };