BG5's picture
Upload 253 files
db242f8
'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<ModelInfo[]>(
'/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 };
};