import * as cheerio from "cheerio"
import type { NewsItem } from "@shared/types"

export default defineSource(async () => {
  const baseURL = "https://www.producthunt.com/"
  const html: any = await $fetch(baseURL)
  const $ = cheerio.load(html)
  const $main = $("[data-test^=post-item]")
  const news: NewsItem[] = []
  $main.each((_, el) => {
    const a = $(el).find("a").first()
    const url = a.attr("href")
    const title = $(el).find("a[data-test^=post-name]").text()
    const id = $(el).attr("data-test")?.replace("post-item-", "")
    const vote = $(el).find("[data-test=vote-button]").text()
    if (url && id && title) {
      news.push({
        url: `${baseURL}${url}`,
        title,
        id,
        extra: {
          info: `△︎ ${vote}`,
        },
      })
    }
  })
  return news
})