mirror of
https://github.com/Steffo99/steffoweb.git
synced 2024-12-18 04:44:19 +00:00
24 lines
No EOL
696 B
TypeScript
24 lines
No EOL
696 B
TypeScript
import React from "react"
|
|
|
|
|
|
export function useGitHubRepositories(user: string) {
|
|
const [data, setData] = React.useState<any[]>([])
|
|
|
|
const load = React.useCallback(
|
|
async () => {
|
|
if(data.length > 0) return
|
|
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]
|
|
)
|
|
|
|
return {data, load}
|
|
} |