Skip to content

Commit 0b89c10

Browse files
committed
move download button to hero
1 parent 132a096 commit 0b89c10

File tree

4 files changed

+81
-26
lines changed

4 files changed

+81
-26
lines changed

home/index.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@ hero:
2929
- theme: alt
3030
text: Meet the Team
3131
link: /team
32+
- theme: alt
33+
text: Download Latest Release
34+
link: /latest-release
35+
attributes:
36+
target: "_blank"
37+
- theme: alt
38+
text: Download Pre-Release
39+
link: /pre-release
40+
attributes:
41+
target: "_blank"
3242

3343
features:
3444
- title: Multi-region Support
@@ -40,12 +50,10 @@ features:
4050
---
4151
<script setup>
4252
import './index.css'
43-
import vtuberLogo from './scripts/index.logo.vue'
44-
import GitHubReleases from './scripts/githubReleases.vue';
53+
import vtuberLogo from './scripts/index.logo.vue';
4554

4655
document.title = "Collapse Launcher - Advanced Game Launcher";
4756
</script>
48-
<GitHubReleases />
4957

5058

5159
&nbsp;

home/latest-release.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: Redirecting to Latest Release...
3+
layout: page
4+
---
5+
6+
<script setup>
7+
const owner = "CollapseLauncher";
8+
const repo = "Collapse";
9+
10+
const fetchLatestReleaseUrl = async () => {
11+
try {
12+
const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/releases`);
13+
const releases = await response.json();
14+
const latestRelease = releases.find(release => !release.prerelease);
15+
const latestReleaseUrl = latestRelease ? latestRelease.html_url : "#";
16+
window.open(latestReleaseUrl, "_blank");
17+
window.location.href = "/";
18+
} catch (error) {
19+
console.error("Error fetching latest release:", error);
20+
window.location.href = "/";
21+
}
22+
};
23+
24+
fetchLatestReleaseUrl();
25+
</script>
26+
27+
<p>Redirecting to the latest release page...</p>

home/pre-release.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: Redirecting to Pre-Release...
3+
layout: page
4+
---
5+
6+
<script setup>
7+
const owner = "CollapseLauncher";
8+
const repo = "Collapse";
9+
10+
const fetchPreReleaseUrl = async () => {
11+
try {
12+
const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/releases`);
13+
const releases = await response.json();
14+
const preRelease = releases.find(release => release.prerelease);
15+
const preReleaseUrl = preRelease ? preRelease.html_url : "#";
16+
window.open(preReleaseUrl, "_blank");
17+
window.location.href = "/";
18+
} catch (error) {
19+
console.error("Error fetching pre-release:", error);
20+
window.location.href = "/";
21+
}
22+
};
23+
24+
fetchPreReleaseUrl();
25+
</script>
26+
27+
<p>Redirecting to the preview release page...</p>

home/scripts/githubReleases.vue

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,19 @@
11
<template>
2-
<div>
3-
<a
4-
v-if="latestRelease"
5-
:href="latestRelease.url"
6-
target="_blank"
7-
class="button padded-button"
8-
>
9-
Download Latest ({{ latestRelease.tag }})
10-
</a>
11-
<a
12-
v-if="latestPreRelease"
13-
:href="latestPreRelease.url"
14-
target="_blank"
15-
class="button padded-button"
16-
>
17-
Download Pre-Release ({{ latestPreRelease.tag }})
18-
</a>
19-
<p v-if="!latestRelease && !latestPreRelease">Loading releases...</p>
2+
<div v-if="ready">
3+
<a :href="latestReleaseUrl" class="button padded-button" target="_blank">Download Latest Release</a>
4+
<a :href="preReleaseUrl" class="button padded-button" target="_blank">Download Pre-Release</a>
205
</div>
216
</template>
227

238
<script>
9+
import { nextTick } from 'vue';
10+
2411
export default {
2512
data() {
2613
return {
27-
latestRelease: null,
28-
latestPreRelease: null,
14+
latestReleaseUrl: "#",
15+
preReleaseUrl: "#",
16+
ready: false,
2917
};
3018
},
3119
async created() {
@@ -34,8 +22,13 @@ export default {
3422
3523
const releases = await this.fetchGitHubReleases(owner, repo);
3624
37-
this.latestRelease = releases.latestRelease;
38-
this.latestPreRelease = releases.latestPreRelease;
25+
if (releases.latestRelease) {
26+
this.latestReleaseUrl = releases.latestRelease.url;
27+
}
28+
if (releases.latestPreRelease) {
29+
this.preReleaseUrl = releases.latestPreRelease.url;
30+
}
31+
this.ready = true;
3932
},
4033
methods: {
4134
async fetchGitHubReleases(owner, repo) {
@@ -81,4 +74,4 @@ export default {
8174
background-color: #5c73e7;
8275
color: #fff;
8376
}
84-
</style>
77+
</style>

0 commit comments

Comments
 (0)