aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Ángel Moreno <mail@migalmoreno.com>2023-09-17 21:33:59 +0200
committerMiguel Ángel Moreno <mail@migalmoreno.com>2023-09-17 21:33:59 +0200
commit5769560b2f67f9e033aea46fe2728721319353a1 (patch)
treea40b346eacb96cf70527201d55628a6bbf6abec2
parente09f17dc9fcc660836687409daf0c542c9d8c1de (diff)
feat: add external metadata to portfolio items
-rw-r--r--assets/js/main.js33
1 files changed, 32 insertions, 1 deletions
diff --git a/assets/js/main.js b/assets/js/main.js
index 1106b83..18a4400 100644
--- a/assets/js/main.js
+++ b/assets/js/main.js
@@ -12,7 +12,38 @@ const highlightCurrentRoute = () => {
}
}
-(function init() {
+const setPortfolioMetadata = async () => {
+ const API_URL = "https://api.github.com/repos/migalmoreno/"
+ const portfolioContainer = document.querySelector(".portfolio")
+ if (portfolioContainer) {
+ const projectItems = portfolioContainer.querySelectorAll(".project-item")
+ const projectItemsStars = []
+ for (let project of projectItems) {
+ const projectName = project.querySelector(".project-item__title").innerHTML
+ const starIcon = project.querySelector(".icon__star")
+ try {
+ const res = await fetch(API_URL + projectName)
+ const data = await res.json()
+ if (data) {
+ projectItemsStars.push(data.stargazers_count)
+ } else {
+ starIcon.style.display = "none"
+ }
+ } catch (err) {
+ starIcon.style.display = "none"
+ throw(err)
+ }
+ }
+ if (projectItemsStars.length > 0) {
+ for (let [i, project] of projectItems.entries()) {
+ project.querySelector(".project-item__stargazers").innerHTML = projectItemsStars[i]
+ }
+ }
+ }
+}
+
+(() => {
setCopyrightYear()
highlightCurrentRoute()
+ setPortfolioMetadata()
})()