123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package pages
- import (
- "github.com/gofiber/fiber/v2"
- "gitler.moe/suwako/gitlin/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": "エクスプローラー",
- "ver": utils.Ver,
- "ves": utils.Ves,
- "repos": trendingReposArray,
- })
- }
|