enzostvs's picture
enzostvs HF staff
update: add trending category + pagination to load fast the page
118829c
raw
history blame contribute delete
904 Bytes
import { SpaceProps } from "./type";
export const fetchAllPages = async (sort = "trending") => {
const filter_key = "zero-a10g";
const pageNumbers = Array.from({ length: 55 }, (_, i) => i);
const urls = pageNumbers.map(async (pageNumber) => {
const url = `https://huggingface.co/spaces-json?p=${pageNumber}&sort=${sort}&runtime.hardware.current=${filter_key}`;
const response = await fetch(url);
const json = await response.json();
return json?.spaces ?? [];
});
const jsonResponses = await Promise.all(urls);
const spaces = jsonResponses.flat();
return spaces
};
export const sortByCreatedAt = (spaces: SpaceProps[]) => {
return spaces.sort((a, b) => {
return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
});
}
export const sortByLikes = (spaces: SpaceProps[]) => {
return spaces.sort((a, b) => {
return b.likes - a.likes;
});
}