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) })