From 31662305b6c279e8f664bc2652cc136ff1f3fe47 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 19 Nov 2025 18:17:56 +0800 Subject: [PATCH] [+] Chartjs chart --- bun.lock | 5 + package.json | 1 + src/routes/results/[id]/+page.svelte | 159 ++++++++++++++++++--------- 3 files changed, 111 insertions(+), 54 deletions(-) diff --git a/bun.lock b/bun.lock index 106d2d4..bf77f28 100644 --- a/bun.lock +++ b/bun.lock @@ -13,6 +13,7 @@ "@unocss/preset-attributify": "^66.5.6", "@unocss/preset-icons": "^66.5.6", "@unocss/reset": "^66.5.6", + "chart.js": "^4.5.1", "m3-svelte": "^5.14.1", "mongodb": "^7.0.0", "openai": "^6.9.0", @@ -167,6 +168,8 @@ "@ktibow/material-color-utilities-nightly": ["@ktibow/material-color-utilities-nightly@0.3.11763158244000", "", {}, "sha512-t2KycnxW9kViZK3bi+AWQrWoxHNbgiSdZ4qK6TT1Ua6EPAoHrJcoFUDISbFDQK4cdxCQwkJrKeK96LP9UvMRqQ=="], + "@kurkle/color": ["@kurkle/color@0.3.4", "", {}, "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w=="], + "@mongodb-js/saslprep": ["@mongodb-js/saslprep@1.3.2", "", { "dependencies": { "sparse-bitfield": "^3.0.3" } }, "sha512-QgA5AySqB27cGTXBFmnpifAi7HxoGUeezwo6p9dI03MuDB6Pp33zgclqVb6oVK3j6I9Vesg0+oojW2XxB59SGg=="], "@neteasecloudmusicapienhanced/api": ["@neteasecloudmusicapienhanced/api@4.29.17", "", { "dependencies": { "@unblockneteasemusic/server": "^0.28.0", "axios": "^1.13.2", "crypto-js": "^4.2.0", "dotenv": "^17.2.3", "express": "^5.1.0", "express-fileupload": "^1.5.2", "md5": "^2.3.0", "music-metadata": "^11.10.0", "node-forge": "^1.3.1", "pac-proxy-agent": "^7.2.0", "qrcode": "^1.5.4", "safe-decode-uri-component": "^1.2.1", "tunnel": "^0.0.6", "xml2js": "^0.6.2", "yargs": "^18.0.0" }, "bin": { "api": "app.js" } }, "sha512-zKqmA7NoP+H3dK0b4/1K7SkxAYz69z9zwPd6+9wXcQNA42EO4AK/rDZ0ZPC9bonQjigHrvK4beFMaIl01S1iig=="], @@ -425,6 +428,8 @@ "charenc": ["charenc@0.0.2", "", {}, "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="], + "chart.js": ["chart.js@4.5.1", "", { "dependencies": { "@kurkle/color": "^0.3.0" } }, "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "cliui": ["cliui@9.0.1", "", { "dependencies": { "string-width": "^7.2.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w=="], diff --git a/package.json b/package.json index a13cce6..dd401a6 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "@unocss/preset-attributify": "^66.5.6", "@unocss/preset-icons": "^66.5.6", "@unocss/reset": "^66.5.6", + "chart.js": "^4.5.1", "m3-svelte": "^5.14.1", "mongodb": "^7.0.0", "openai": "^6.9.0", diff --git a/src/routes/results/[id]/+page.svelte b/src/routes/results/[id]/+page.svelte index a3b0612..b81d2c2 100644 --- a/src/routes/results/[id]/+page.svelte +++ b/src/routes/results/[id]/+page.svelte @@ -1,28 +1,102 @@ - + @@ -31,48 +105,25 @@ {#each fields as field} - - {field.label} - {field.value} - + + + {field.label} + + + {field.value} + + {/each} - - - - {#each [0, 25, 50, 75, 100] as y} - - {/each} - - - {#if statsHistory.length > 1} - `${(i / (statsHistory.length - 1)) * 100},${100 - (h.cpm / 300) * 100}`).join(' ')} - fill="none" - stroke="#7b78c2" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" - /> - - - `${(i / (statsHistory.length - 1)) * 100},${100 - (h.acc / 100) * 100}`).join(' ')} - fill="none" - stroke="#e5a657" - stroke-width="2" - stroke-dasharray="4" - stroke-opacity="0.5" - /> - {/if} - + + - + - goto(`/song/${songId}`)}>下一首 + goto(`/song/${songId}`)}>下一首