diff --git a/layouts/default.vue b/layouts/default.vue
index 9b2314a..57452e1 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -13,13 +13,13 @@ async function onUpdateData() {
update Data
-
+
All Downloads
-
+
minor Downloads
-
+
major Downloads
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 39e8d15..a5e9516 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -2,8 +2,18 @@
export default defineNuxtConfig({
devtools: {enabled: true},
routeRules: {
- "/numberPerLauncher": {
- prerender: true
- }
+ "/downloads": {
+ redirect: "/downloads/major"
+ },
+ // see - https://github.com/unjs/nitro/issues/889
+ // "/downloads/all": {
+ // prerender: true
+ // },
+ // "/downloads/minor": {
+ // prerender: true
+ // },
+ // "/downloads/major": {
+ // prerender: true
+ // }
}
})
diff --git a/pages/downloads.vue b/pages/downloads/[mode].vue
similarity index 87%
rename from pages/downloads.vue
rename to pages/downloads/[mode].vue
index d6df085..1b90512 100644
--- a/pages/downloads.vue
+++ b/pages/downloads/[mode].vue
@@ -1,7 +1,9 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/minorVersionDownloads.vue b/pages/minorVersionDownloads.vue
deleted file mode 100644
index 6bf3aa7..0000000
--- a/pages/minorVersionDownloads.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/server/api/downloads.ts b/server/api/downloads.ts
index 4212023..b8a3819 100644
--- a/server/api/downloads.ts
+++ b/server/api/downloads.ts
@@ -11,7 +11,20 @@ type result = {
export default defineEventHandler(async (event): Promise => {
const storage = useStorage();
- let downloads = await storage.getItem("allDownloads")
+ let query = getQuery(event);
+
+ let downloads
+
+ switch (query.mode) {
+ case "minor" :
+ downloads = await storage.getItem("minorVersionDownloads")
+ break
+ case "all" :
+ downloads = await storage.getItem("allVersionDownloads")
+ break
+ default:
+ downloads = await storage.getItem("majorVersionDownloads")
+ }
if (!downloads) {
// todo - error message
diff --git a/server/api/majorVersionDownloads.ts b/server/api/majorVersionDownloads.ts
deleted file mode 100644
index 9aaec93..0000000
--- a/server/api/majorVersionDownloads.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import {Downloads} from "~/server/utils/types/downloads";
-
-type result = {
- labels: string[]
- data: {
- name: string
- color: string,
- downloads: number[]
- }[]
-}
-
-export default defineEventHandler(async (event): Promise => {
- const storage = useStorage();
- let downloads = await storage.getItem("majorVersionDownloads")
-
- if (!downloads) {
- // todo - error message
- return {
- labels: [],
- data: []
- }
- }
-
- return {
- labels: downloads.versions,
- data: downloads.data.map(value => {
- return {
- name: value.name,
- color: getColorForLauncher(value.name),
- downloads: value.downloads
- }
- })
- }
-})
-
diff --git a/server/api/minorVersionDownloads.ts b/server/api/minorVersionDownloads.ts
deleted file mode 100644
index 3e4d82e..0000000
--- a/server/api/minorVersionDownloads.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import {Downloads} from "~/server/utils/types/downloads";
-
-type result = {
- labels: string[]
- data: {
- name: string
- color: string,
- downloads: number[]
- }[]
-}
-
-export default defineEventHandler(async (event): Promise => {
- const storage = useStorage();
- let downloads = await storage.getItem("minorVersionDownloads")
-
- if (!downloads) {
- // todo - error message
- return {
- labels: [],
- data: []
- }
- }
-
- return {
- labels: downloads.versions,
- data: downloads.data.map(value => {
- return {
- name: value.name,
- color: getColorForLauncher(value.name),
- downloads: value.downloads
- }
- })
- }
-})
-
diff --git a/server/api/update.ts b/server/api/update.ts
index 5b7ed32..a9d860d 100644
--- a/server/api/update.ts
+++ b/server/api/update.ts
@@ -47,7 +47,7 @@ export default defineEventHandler(async (event) => {
let majorVersionDownloads = onlyMajorVersions(allDownloads);
const storage = useStorage();
- await storage.setItem("allDownloads", allDownloads)
+ await storage.setItem("allVersionDownloads", allDownloads)
await storage.setItem("minorVersionDownloads", minorVersionDownloads)
await storage.setItem("majorVersionDownloads", majorVersionDownloads)
})