gitlin/pages/explore.go
Odyssium 7fe3c52ac9 The Instance Owner Update
Signed-off-by: Odyssium <hi@odyssey346.dev>
2023-04-01 18:53:44 +02:00

43 行
1.3 KiB
Go

package pages
import (
"github.com/gofiber/fiber/v2"
"codeberg.org/gothub/gothub/utils"
)
type Items struct {
Fullname string
Description string
HtmlUrl string
Stars int64
Forks int64
Watchers int64
Language string
License string
}
func HandleExplore(c *fiber.Ctx) error {
// get trending repos
trendingRepos := utils.GetRequest("https://api.github.com/search/repositories?q=code&sort=stars&order=desc&per_page=25")
gjsonArray := trendingRepos.Get("items").Array() // gjson.Result when I ask for an array. idiots, anyway so I have to do jank shit like this and I hate it. at least it works and is fast enough
var trendingReposArray []Items
for _, item := range gjsonArray {
trendingReposArray = append(trendingReposArray, Items{
Fullname: item.Get("full_name").String(),
Description: item.Get("description").String(),
HtmlUrl: item.Get("html_url").String(),
Stars: item.Get("stargazers_count").Int(),
Forks: item.Get("forks_count").Int(),
Watchers: item.Get("watchers_count").Int(),
Language: item.Get("language").String(),
License: item.Get("license").Get("name").String(),
})
}
return c.Render("explore", fiber.Map{
"title": "Explore",
"repos": trendingReposArray,
})
}