1
Fork 0
mirror of https://github.com/Steffo99/steffoweb.git synced 2024-11-24 00:54:31 +00:00
steffoweb/hooks/useGitHubRepositories.ts

24 lines
696 B
TypeScript
Raw Normal View History

2023-05-29 01:24:24 +00:00
import React from "react"
export function useGitHubRepositories(user: string) {
const [data, setData] = React.useState<any[]>([])
const load = React.useCallback(
2023-05-29 01:24:24 +00:00
async () => {
if(data.length > 0) return
2023-05-29 01:24:24 +00:00
let page = 1;
let count = 100;
while(count == 100) {
const resp = await fetch(`https://api.github.com/users/${user}/repos?per_page=100&page=${page}&sort=pushed&direction=desc`)
const data = await resp.json()
count = data.length
page += 1
setData((old) => [...old, ...data])
}
},
[data]
2023-05-29 01:24:24 +00:00
)
return {data, load}
2023-05-29 01:24:24 +00:00
}