16 lines
730 B
TypeScript
16 lines
730 B
TypeScript
import { ProjectButton } from "utils/types";
|
|
|
|
export default async function getProjects(k): Promise<ProjectButton[]> {
|
|
const res = await fetch(`https://git.lio.cat/api/v1/repos/search?q=${k}&topic=true`)
|
|
const data = await res.json()
|
|
|
|
return data.data.map(data => {
|
|
return {
|
|
icon: "git-branch",
|
|
platform: (data.description === "" || data.description.length > 30) ? "git.lio.cat" : data.description,
|
|
project: data.full_name,
|
|
url: data.website === "" ? `https://git.lio.cat/${data.full_name}` : data.website,
|
|
updated: data.updated_at
|
|
}
|
|
}).sort((lhs, rhs) => { return lhs.updated < rhs.updated ? 1 : lhs.updated > rhs.updated ? -1 : 0; })
|
|
}
|