Skip to content

Commit b2e47ac

Browse files
fix(site): download count animation didn't play on page navigation
1 parent fea1a0e commit b2e47ac

1 file changed

Lines changed: 29 additions & 23 deletions

File tree

apps/site/src/pages/downloads.astro

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -153,30 +153,36 @@ const download_count_server = get_total_downloads(gh_releases_metadata);
153153
)
154154
: 0;
155155

156-
const download_count_elem = document.getElementById("downloads_count");
157-
if (!download_count_elem) return;
158-
let download_count = 0;
159-
160-
fetch(`https://api.github.com/repos/${owner}/${repo}/releases`)
161-
.then((v) => v.json())
162-
.then((releases_info) => {
163-
download_count += get_total_downloads(releases_info);
164-
if (download_count) {
165-
download_count_elem.style.setProperty("--value", download_count);
166-
} else {
156+
function on_load() {
157+
const download_count_elem = document.getElementById("downloads_count");
158+
if (!download_count_elem) return;
159+
let download_count = 0;
160+
fetch(`https://api.github.com/repos/${owner}/${repo}/releases`)
161+
.then((v) => v.json())
162+
.then((releases_info) => {
163+
download_count += get_total_downloads(releases_info);
164+
if (download_count) {
165+
download_count_elem.style.setProperty("--value", download_count);
166+
} else {
167+
download_count = download_count_server;
168+
download_count_elem.style.setProperty(
169+
"--value",
170+
download_count_server,
171+
);
172+
}
173+
})
174+
.catch(() => {
167175
download_count = download_count_server;
168176
download_count_elem.style.setProperty("--value", download_count_server);
169-
}
170-
})
171-
.catch(() => {
172-
download_count = download_count_server;
173-
download_count_elem.style.setProperty("--value", download_count_server);
174-
});
175-
const buttons = document.querySelectorAll(".download-btn");
176-
buttons.forEach((btn) => {
177-
btn.addEventListener("click", () => {
178-
download_count++;
179-
download_count_elem.style.setProperty("--value", download_count);
177+
});
178+
const buttons = document.querySelectorAll(".download-btn");
179+
buttons.forEach((btn) => {
180+
btn.addEventListener("click", () => {
181+
download_count++;
182+
download_count_elem.style.setProperty("--value", download_count);
183+
});
180184
});
181-
});
185+
}
186+
187+
document.addEventListener("astro:page-load", on_load);
182188
</script>

0 commit comments

Comments
 (0)