diff --git a/package-lock.json b/package-lock.json
index 885b372..f2e93de 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,39 +10,39 @@
"dependencies": {
"@codemirror/lang-cpp": "^6.0.2",
"@codemirror/lang-python": "^6.1.6",
- "@vueuse/core": "^10.11.0",
+ "@vueuse/core": "^10.11.1",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "5.1.12",
- "axios": "^1.7.2",
+ "axios": "^1.7.4",
"canvas-confetti": "^1.9.3",
"chart.js": "^4.4.3",
"codemirror": "^6.0.1",
"copy-text-to-clipboard": "^3.2.0",
"date-fns": "^2.30.0",
- "highlight.js": "^11.9.0",
- "naive-ui": "^2.38.2",
+ "highlight.js": "^11.10.0",
+ "naive-ui": "^2.39.0",
"normalize.css": "^8.0.1",
- "pinia": "^2.1.7",
- "vue": "^3.4.31",
+ "pinia": "^2.2.1",
+ "vue": "^3.4.37",
"vue-chartjs": "^5.3.1",
"vue-codemirror": "^6.1.1",
- "vue-router": "^4.4.0"
+ "vue-router": "^4.4.3"
},
"devDependencies": {
"@iconify/vue": "^4.1.2",
"@types/canvas-confetti": "^1.6.4",
- "@types/node": "^20.14.9",
+ "@types/node": "^22.2.0",
"@vitejs/plugin-legacy": "^5.4.1",
- "@vitejs/plugin-vue": "^5.0.5",
- "prettier": "^3.3.2",
+ "@vitejs/plugin-vue": "^5.1.2",
+ "prettier": "^3.3.3",
"prettier-plugin-organize-imports": "^4.0.0",
- "terser": "^5.31.1",
- "typescript": "^5.5.3",
- "unplugin-auto-import": "^0.17.6",
- "unplugin-vue-components": "^0.27.2",
+ "terser": "^5.31.6",
+ "typescript": "^5.5.4",
+ "unplugin-auto-import": "^0.18.2",
+ "unplugin-vue-components": "^0.27.4",
"unplugin-vue-markdown": "^0.26.2",
- "vite": "^5.3.3",
- "vue-tsc": "^2.0.24"
+ "vite": "^5.4.0",
+ "vue-tsc": "^2.0.29"
}
},
"node_modules/@ampproject/remapping": {
@@ -2393,9 +2393,10 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
@@ -2877,13 +2878,13 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.14.9",
- "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.14.9.tgz",
- "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
+ "version": "22.2.0",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.2.0.tgz",
+ "integrity": "sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.13.0"
}
},
"node_modules/@types/web-bluetooth": {
@@ -2974,10 +2975,11 @@
"dev": true
},
"node_modules/@vitejs/plugin-vue": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz",
- "integrity": "sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz",
+ "integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^18.0.0 || >=20.0.0"
},
@@ -2987,104 +2989,128 @@
}
},
"node_modules/@volar/language-core": {
- "version": "2.4.0-alpha.15",
- "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.0-alpha.15.tgz",
- "integrity": "sha512-mt8z4Fm2WxfQYoQHPcKVjLQV6PgPqyKLbkCVY2cr5RSaamqCHjhKEpsFX66aL4D/7oYguuaUw9Bx03Vt0TpIIA==",
+ "version": "2.4.0-alpha.18",
+ "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.0-alpha.18.tgz",
+ "integrity": "sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@volar/source-map": "2.4.0-alpha.15"
+ "@volar/source-map": "2.4.0-alpha.18"
}
},
"node_modules/@volar/source-map": {
- "version": "2.4.0-alpha.15",
- "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.0-alpha.15.tgz",
- "integrity": "sha512-8Htngw5TmBY4L3ClDqBGyfLhsB8EmoEXUH1xydyEtEoK0O6NX5ur4Jw8jgvscTlwzizyl/wsN1vn0cQXVbbXYg==",
+ "version": "2.4.0-alpha.18",
+ "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.0-alpha.18.tgz",
+ "integrity": "sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==",
"dev": true,
"license": "MIT"
},
"node_modules/@volar/typescript": {
- "version": "2.4.0-alpha.15",
- "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.0-alpha.15.tgz",
- "integrity": "sha512-U3StRBbDuxV6Woa4hvGS4kz3XcOzrWUKgFdEFN+ba1x3eaYg7+ytau8ul05xgA+UNGLXXsKur7fTUhDFyISk0w==",
+ "version": "2.4.0-alpha.18",
+ "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.0-alpha.18.tgz",
+ "integrity": "sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@volar/language-core": "2.4.0-alpha.15",
+ "@volar/language-core": "2.4.0-alpha.18",
"path-browserify": "^1.0.1",
"vscode-uri": "^3.0.8"
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.31.tgz",
- "integrity": "sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.37.tgz",
+ "integrity": "sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.24.7",
- "@vue/shared": "3.4.31",
- "entities": "^4.5.0",
+ "@vue/shared": "3.4.37",
+ "entities": "^5.0.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
+ "node_modules/@vue/compiler-core/node_modules/entities": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/entities/-/entities-5.0.0.tgz",
+ "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/@vue/compiler-dom": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz",
- "integrity": "sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.37.tgz",
+ "integrity": "sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-core": "3.4.31",
- "@vue/shared": "3.4.31"
+ "@vue/compiler-core": "3.4.37",
+ "@vue/shared": "3.4.37"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz",
- "integrity": "sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.37.tgz",
+ "integrity": "sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.24.7",
- "@vue/compiler-core": "3.4.31",
- "@vue/compiler-dom": "3.4.31",
- "@vue/compiler-ssr": "3.4.31",
- "@vue/shared": "3.4.31",
+ "@vue/compiler-core": "3.4.37",
+ "@vue/compiler-dom": "3.4.37",
+ "@vue/compiler-ssr": "3.4.37",
+ "@vue/shared": "3.4.37",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.10",
- "postcss": "^8.4.38",
+ "postcss": "^8.4.40",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz",
- "integrity": "sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.37.tgz",
+ "integrity": "sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.4.31",
- "@vue/shared": "3.4.31"
+ "@vue/compiler-dom": "3.4.37",
+ "@vue/shared": "3.4.37"
}
},
- "node_modules/@vue/devtools-api": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz",
- "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
- },
- "node_modules/@vue/language-core": {
- "version": "2.0.24",
- "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.0.24.tgz",
- "integrity": "sha512-997YD6Lq/66LXr3ZOLNxDCmyn13z9NP8LU1UZn9hGCDWhzlbXAIP0hOgL3w3x4RKEaWTaaRtsHP9DzHvmduruQ==",
+ "node_modules/@vue/compiler-vue2": {
+ "version": "2.7.16",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz",
+ "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@volar/language-core": "~2.4.0-alpha.2",
+ "de-indent": "^1.0.2",
+ "he": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.6.3",
+ "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.3.tgz",
+ "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/language-core": {
+ "version": "2.0.29",
+ "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.0.29.tgz",
+ "integrity": "sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@volar/language-core": "~2.4.0-alpha.18",
"@vue/compiler-dom": "^3.4.0",
+ "@vue/compiler-vue2": "^2.7.16",
"@vue/shared": "^3.4.0",
"computeds": "^0.0.1",
"minimatch": "^9.0.3",
"muggle-string": "^0.4.1",
- "path-browserify": "^1.0.1",
- "vue-template-compiler": "^2.7.14"
+ "path-browserify": "^1.0.1"
},
"peerDependencies": {
"typescript": "*"
@@ -3096,33 +3122,33 @@
}
},
"node_modules/@vue/reactivity": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.31.tgz",
- "integrity": "sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.37.tgz",
+ "integrity": "sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==",
"license": "MIT",
"dependencies": {
- "@vue/shared": "3.4.31"
+ "@vue/shared": "3.4.37"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.31.tgz",
- "integrity": "sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.37.tgz",
+ "integrity": "sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==",
"license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.4.31",
- "@vue/shared": "3.4.31"
+ "@vue/reactivity": "3.4.37",
+ "@vue/shared": "3.4.37"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz",
- "integrity": "sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.37.tgz",
+ "integrity": "sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==",
"license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.4.31",
- "@vue/runtime-core": "3.4.31",
- "@vue/shared": "3.4.31",
+ "@vue/reactivity": "3.4.37",
+ "@vue/runtime-core": "3.4.37",
+ "@vue/shared": "3.4.37",
"csstype": "^3.1.3"
}
},
@@ -3133,33 +3159,33 @@
"license": "MIT"
},
"node_modules/@vue/server-renderer": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.31.tgz",
- "integrity": "sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.37.tgz",
+ "integrity": "sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-ssr": "3.4.31",
- "@vue/shared": "3.4.31"
+ "@vue/compiler-ssr": "3.4.37",
+ "@vue/shared": "3.4.37"
},
"peerDependencies": {
- "vue": "3.4.31"
+ "vue": "3.4.37"
}
},
"node_modules/@vue/shared": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.31.tgz",
- "integrity": "sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.37.tgz",
+ "integrity": "sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==",
"license": "MIT"
},
"node_modules/@vueuse/core": {
- "version": "10.11.0",
- "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.0.tgz",
- "integrity": "sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==",
+ "version": "10.11.1",
+ "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.1.tgz",
+ "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==",
"license": "MIT",
"dependencies": {
"@types/web-bluetooth": "^0.0.20",
- "@vueuse/metadata": "10.11.0",
- "@vueuse/shared": "10.11.0",
+ "@vueuse/metadata": "10.11.1",
+ "@vueuse/shared": "10.11.1",
"vue-demi": ">=0.14.8"
},
"funding": {
@@ -3193,18 +3219,18 @@
}
},
"node_modules/@vueuse/metadata": {
- "version": "10.11.0",
- "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.0.tgz",
- "integrity": "sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==",
+ "version": "10.11.1",
+ "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.1.tgz",
+ "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared": {
- "version": "10.11.0",
- "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.0.tgz",
- "integrity": "sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==",
+ "version": "10.11.1",
+ "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.1.tgz",
+ "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==",
"license": "MIT",
"dependencies": {
"vue-demi": ">=0.14.8"
@@ -3214,9 +3240,9 @@
}
},
"node_modules/@vueuse/shared/node_modules/vue-demi": {
- "version": "0.14.8",
- "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.8.tgz",
- "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
+ "version": "0.14.10",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -3390,10 +3416,11 @@
}
},
"node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "version": "8.12.1",
+ "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -3446,9 +3473,10 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
- "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
+ "version": "1.7.4",
+ "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.4.tgz",
+ "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==",
+ "license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
@@ -3914,9 +3942,9 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.6.tgz",
+ "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3987,6 +4015,7 @@
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
"engines": {
"node": ">=0.12"
},
@@ -4454,9 +4483,10 @@
}
},
"node_modules/highlight.js": {
- "version": "11.9.0",
- "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.9.0.tgz",
- "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==",
+ "version": "11.10.0",
+ "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.10.0.tgz",
+ "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==",
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=12.0.0"
}
@@ -4766,11 +4796,12 @@
"dev": true
},
"node_modules/magic-string": {
- "version": "0.30.10",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
- "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
+ "version": "0.30.11",
+ "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz",
+ "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==",
+ "license": "MIT",
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
+ "@jridgewell/sourcemap-codec": "^1.5.0"
}
},
"node_modules/markdown-it": {
@@ -4993,9 +5024,10 @@
"license": "MIT"
},
"node_modules/naive-ui": {
- "version": "2.38.2",
- "resolved": "https://registry.npmjs.org/naive-ui/-/naive-ui-2.38.2.tgz",
- "integrity": "sha512-WhZ+6DW61aYSmFyfH7evcSGFmd2xR68Yq1mNRrVdJwBhZsnNdAUsMN9IeNCVEPMCND/jzYZghkStoNoR5Xa09g==",
+ "version": "2.39.0",
+ "resolved": "https://registry.npmmirror.com/naive-ui/-/naive-ui-2.39.0.tgz",
+ "integrity": "sha512-5oUJzRG+rtLSH8eRU+fJvVYiQids2BxF9jp+fwGoAqHOptEINrBlgBu9uy+95RHE5FLJ7Q/z41o+qkoGnUrKxQ==",
+ "license": "MIT",
"dependencies": {
"@css-render/plugin-bem": "^0.15.12",
"@css-render/vue3-ssr": "^0.15.12",
@@ -5220,12 +5252,16 @@
}
},
"node_modules/pinia": {
- "version": "2.1.7",
- "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz",
- "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.1.tgz",
+ "integrity": "sha512-ltEU3xwiz5ojVMizdP93AHi84Rtfz0+yKd8ud75hr9LVyWX2alxp7vLbY1kFm7MXFmHHr/9B08Xf8Jj6IHTEiQ==",
+ "license": "MIT",
"dependencies": {
- "@vue/devtools-api": "^6.5.0",
- "vue-demi": ">=0.14.5"
+ "@vue/devtools-api": "^6.6.3",
+ "vue-demi": "^0.14.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"@vue/composition-api": "^1.4.0",
@@ -5242,10 +5278,11 @@
}
},
"node_modules/pinia/node_modules/vue-demi": {
- "version": "0.14.5",
- "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz",
- "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
+ "version": "0.14.10",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
+ "license": "MIT",
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
@@ -5253,6 +5290,9 @@
"engines": {
"node": ">=12"
},
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
@@ -5264,20 +5304,21 @@
}
},
"node_modules/pkg-types": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz",
- "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.1.3.tgz",
+ "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"confbox": "^0.1.7",
- "mlly": "^1.7.0",
+ "mlly": "^1.7.1",
"pathe": "^1.1.2"
}
},
"node_modules/postcss": {
- "version": "8.4.39",
- "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.39.tgz",
- "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
+ "version": "8.4.41",
+ "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.41.tgz",
+ "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
"funding": [
{
"type": "opencollective",
@@ -5308,10 +5349,11 @@
"integrity": "sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ=="
},
"node_modules/prettier": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
- "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
"dev": true,
+ "license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -5729,14 +5771,25 @@
}
},
"node_modules/strip-literal": {
- "version": "1.3.0",
- "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.3.0.tgz",
- "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-2.1.0.tgz",
+ "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "acorn": "^8.10.0"
+ "js-tokens": "^9.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
}
},
+ "node_modules/strip-literal/node_modules/js-tokens": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.0.tgz",
+ "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/style-mod": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.0.2.tgz",
@@ -5789,10 +5842,11 @@
}
},
"node_modules/terser": {
- "version": "5.31.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
- "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
+ "version": "5.31.6",
+ "resolved": "https://registry.npmmirror.com/terser/-/terser-5.31.6.tgz",
+ "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
"acorn": "^8.8.2",
@@ -5843,9 +5897,9 @@
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
},
"node_modules/typescript": {
- "version": "5.5.3",
- "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.5.3.tgz",
- "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
+ "version": "5.5.4",
+ "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.5.4.tgz",
+ "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
"devOptional": true,
"license": "Apache-2.0",
"bin": {
@@ -5894,10 +5948,11 @@
}
},
"node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "version": "6.13.0",
+ "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.13.0.tgz",
+ "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
@@ -5954,24 +6009,25 @@
}
},
"node_modules/unimport": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.7.1.tgz",
- "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.10.0.tgz",
+ "integrity": "sha512-/UvKRfWx3mNDWwWQhR62HsoM3wxHwYdTq8ellZzMOHnnw4Dp8tovgthyW7DjTrbjDL+i4idOp06voz2VKlvrLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@rollup/pluginutils": "^5.1.0",
- "acorn": "^8.11.2",
+ "acorn": "^8.12.1",
"escape-string-regexp": "^5.0.0",
"estree-walker": "^3.0.3",
"fast-glob": "^3.3.2",
"local-pkg": "^0.5.0",
- "magic-string": "^0.30.5",
- "mlly": "^1.4.2",
- "pathe": "^1.1.1",
- "pkg-types": "^1.0.3",
- "scule": "^1.1.1",
- "strip-literal": "^1.3.0",
- "unplugin": "^1.5.1"
+ "magic-string": "^0.30.11",
+ "mlly": "^1.7.1",
+ "pathe": "^1.1.2",
+ "pkg-types": "^1.1.3",
+ "scule": "^1.3.0",
+ "strip-literal": "^2.1.0",
+ "unplugin": "^1.12.0"
}
},
"node_modules/unimport/node_modules/estree-walker": {
@@ -5984,34 +6040,36 @@
}
},
"node_modules/unplugin": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz",
- "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.12.1.tgz",
+ "integrity": "sha512-aXEH9c5qi3uYZHo0niUtxDlT9ylG/luMW/dZslSCkbtC31wCyFkmM0kyoBBh+Grhn7CL+/kvKLfN61/EdxPxMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "acorn": "^8.11.3",
+ "acorn": "^8.12.1",
"chokidar": "^3.6.0",
"webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.6.1"
+ "webpack-virtual-modules": "^0.6.2"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/unplugin-auto-import": {
- "version": "0.17.6",
- "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.17.6.tgz",
- "integrity": "sha512-dmX0Pex5DzMzVuALkexboOZvh51fL/BD6aoPO7qHoTYGlQp0GRKsREv2KMF1lzYI9SXKQiRxAjwzbQnrFFNydQ==",
+ "version": "0.18.2",
+ "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.18.2.tgz",
+ "integrity": "sha512-Dwb3rAic75harVBrVjwiq6H24PT+nBq2dpxV5BH8NNI6sDFaTytvP+iyo4xy7prQbR3r5K6nMs4f5Wp9PE4g8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@antfu/utils": "^0.7.8",
+ "@antfu/utils": "^0.7.10",
"@rollup/pluginutils": "^5.1.0",
"fast-glob": "^3.3.2",
"local-pkg": "^0.5.0",
"magic-string": "^0.30.10",
- "minimatch": "^9.0.4",
- "unimport": "^3.7.1",
- "unplugin": "^1.10.1"
+ "minimatch": "^9.0.5",
+ "unimport": "^3.9.0",
+ "unplugin": "^1.11.0"
},
"engines": {
"node": ">=14"
@@ -6033,22 +6091,22 @@
}
},
"node_modules/unplugin-vue-components": {
- "version": "0.27.2",
- "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.27.2.tgz",
- "integrity": "sha512-YifnsmslMRNt+JRQiCG4ZX1+xUQuubUZm76K7Qtg8dmchZJkHIDxZSyfZb5/jqrLWMTm/TUjGJ3ZDlzO6SFnSQ==",
+ "version": "0.27.4",
+ "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.27.4.tgz",
+ "integrity": "sha512-1XVl5iXG7P1UrOMnaj2ogYa5YTq8aoh5jwDPQhemwO/OrXW+lPQKDXd1hMz15qxQPxgb/XXlbgo3HQ2rLEbmXQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@antfu/utils": "^0.7.10",
"@rollup/pluginutils": "^5.1.0",
"chokidar": "^3.6.0",
- "debug": "^4.3.5",
+ "debug": "^4.3.6",
"fast-glob": "^3.3.2",
"local-pkg": "^0.5.0",
- "magic-string": "^0.30.10",
+ "magic-string": "^0.30.11",
"minimatch": "^9.0.5",
"mlly": "^1.7.1",
- "unplugin": "^1.10.1"
+ "unplugin": "^1.12.1"
},
"engines": {
"node": ">=14"
@@ -6153,14 +6211,14 @@
}
},
"node_modules/vite": {
- "version": "5.3.3",
- "resolved": "https://registry.npmmirror.com/vite/-/vite-5.3.3.tgz",
- "integrity": "sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.0.tgz",
+ "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.21.3",
- "postcss": "^8.4.39",
+ "postcss": "^8.4.40",
"rollup": "^4.13.0"
},
"bin": {
@@ -6180,6 +6238,7 @@
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
+ "sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.4.0"
@@ -6197,6 +6256,9 @@
"sass": {
"optional": true
},
+ "sass-embedded": {
+ "optional": true
+ },
"stylus": {
"optional": true
},
@@ -6227,16 +6289,16 @@
"license": "MIT"
},
"node_modules/vue": {
- "version": "3.4.31",
- "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.31.tgz",
- "integrity": "sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==",
+ "version": "3.4.37",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.37.tgz",
+ "integrity": "sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.4.31",
- "@vue/compiler-sfc": "3.4.31",
- "@vue/runtime-dom": "3.4.31",
- "@vue/server-renderer": "3.4.31",
- "@vue/shared": "3.4.31"
+ "@vue/compiler-dom": "3.4.37",
+ "@vue/compiler-sfc": "3.4.37",
+ "@vue/runtime-dom": "3.4.37",
+ "@vue/server-renderer": "3.4.37",
+ "@vue/shared": "3.4.37"
},
"peerDependencies": {
"typescript": "*"
@@ -6272,12 +6334,12 @@
}
},
"node_modules/vue-router": {
- "version": "4.4.0",
- "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.4.0.tgz",
- "integrity": "sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.4.3.tgz",
+ "integrity": "sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==",
"license": "MIT",
"dependencies": {
- "@vue/devtools-api": "^6.5.1"
+ "@vue/devtools-api": "^6.6.3"
},
"funding": {
"url": "https://github.com/sponsors/posva"
@@ -6286,26 +6348,15 @@
"vue": "^3.2.0"
}
},
- "node_modules/vue-template-compiler": {
- "version": "2.7.16",
- "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
- "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "de-indent": "^1.0.2",
- "he": "^1.2.0"
- }
- },
"node_modules/vue-tsc": {
- "version": "2.0.24",
- "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.0.24.tgz",
- "integrity": "sha512-1qi4P8L7yS78A7OJ7CDDxUIZPD6nVxoQEgX3DkRZNi1HI1qOfzOJwQlNpmwkogSVD6S/XcanbW9sktzpSxz6rA==",
+ "version": "2.0.29",
+ "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.0.29.tgz",
+ "integrity": "sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@volar/typescript": "~2.4.0-alpha.2",
- "@vue/language-core": "2.0.24",
+ "@volar/typescript": "~2.4.0-alpha.18",
+ "@vue/language-core": "2.0.29",
"semver": "^7.5.4"
},
"bin": {
@@ -6347,10 +6398,11 @@
}
},
"node_modules/webpack-virtual-modules": {
- "version": "0.6.1",
- "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz",
- "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==",
- "dev": true
+ "version": "0.6.2",
+ "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/which": {
"version": "2.0.2",
diff --git a/package.json b/package.json
index bac0991..b024d7a 100644
--- a/package.json
+++ b/package.json
@@ -11,38 +11,38 @@
"dependencies": {
"@codemirror/lang-cpp": "^6.0.2",
"@codemirror/lang-python": "^6.1.6",
- "@vueuse/core": "^10.11.0",
+ "@vueuse/core": "^10.11.1",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "5.1.12",
- "axios": "^1.7.2",
+ "axios": "^1.7.4",
"canvas-confetti": "^1.9.3",
"chart.js": "^4.4.3",
"codemirror": "^6.0.1",
"copy-text-to-clipboard": "^3.2.0",
"date-fns": "^2.30.0",
- "highlight.js": "^11.9.0",
- "naive-ui": "^2.38.2",
+ "highlight.js": "^11.10.0",
+ "naive-ui": "^2.39.0",
"normalize.css": "^8.0.1",
- "pinia": "^2.1.7",
- "vue": "^3.4.31",
+ "pinia": "^2.2.1",
+ "vue": "^3.4.37",
"vue-chartjs": "^5.3.1",
"vue-codemirror": "^6.1.1",
- "vue-router": "^4.4.0"
+ "vue-router": "^4.4.3"
},
"devDependencies": {
"@iconify/vue": "^4.1.2",
"@types/canvas-confetti": "^1.6.4",
- "@types/node": "^20.14.9",
+ "@types/node": "^22.2.0",
"@vitejs/plugin-legacy": "^5.4.1",
- "@vitejs/plugin-vue": "^5.0.5",
- "prettier": "^3.3.2",
+ "@vitejs/plugin-vue": "^5.1.2",
+ "prettier": "^3.3.3",
"prettier-plugin-organize-imports": "^4.0.0",
- "terser": "^5.31.1",
- "typescript": "^5.5.3",
- "unplugin-auto-import": "^0.17.6",
- "unplugin-vue-components": "^0.27.2",
+ "terser": "^5.31.6",
+ "typescript": "^5.5.4",
+ "unplugin-auto-import": "^0.18.2",
+ "unplugin-vue-components": "^0.27.4",
"unplugin-vue-markdown": "^0.26.2",
- "vite": "^5.3.3",
- "vue-tsc": "^2.0.24"
+ "vite": "^5.4.0",
+ "vue-tsc": "^2.0.29"
}
}
diff --git a/src/components.d.ts b/src/components.d.ts
index bea993b..8ce4c3f 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -10,6 +10,7 @@ declare module 'vue' {
NAlert: typeof import('naive-ui')['NAlert']
NAvatar: typeof import('naive-ui')['NAvatar']
NButton: typeof import('naive-ui')['NButton']
+ NButtonGroup: typeof import('naive-ui')['NButtonGroup']
NCard: typeof import('naive-ui')['NCard']
NCheckbox: typeof import('naive-ui')['NCheckbox']
NCheckboxGroup: typeof import('naive-ui')['NCheckboxGroup']
@@ -31,6 +32,7 @@ declare module 'vue' {
NGradientText: typeof import('naive-ui')['NGradientText']
NGrid: typeof import('naive-ui')['NGrid']
NH1: typeof import('naive-ui')['NH1']
+ NH2: typeof import('naive-ui')['NH2']
NIcon: typeof import('naive-ui')['NIcon']
NInput: typeof import('naive-ui')['NInput']
NLayout: typeof import('naive-ui')['NLayout']
diff --git a/src/oj/api.ts b/src/oj/api.ts
index e73ffcf..7966ac5 100644
--- a/src/oj/api.ts
+++ b/src/oj/api.ts
@@ -115,6 +115,12 @@ export function getRank(
})
}
+export function getActivityRank(start: string) {
+ return http.get("user_activity_rank", {
+ params: { start },
+ })
+}
+
export function getContestList(query: {
offset: number
limit: number
diff --git a/src/oj/rank/components/Chart.vue b/src/oj/rank/components/Chart.vue
index bc1016e..2f740dc 100644
--- a/src/oj/rank/components/Chart.vue
+++ b/src/oj/rank/components/Chart.vue
@@ -1,14 +1,15 @@
@@ -87,6 +88,6 @@ const options = {
diff --git a/src/oj/rank/list.vue b/src/oj/rank/list.vue
index d1d4166..ff9fb44 100644
--- a/src/oj/rank/list.vue
+++ b/src/oj/rank/list.vue
@@ -1,9 +1,11 @@
-
+
+
+
+ 天梯排名
+
+
+ 活跃度排名
+
+
+
+
+
+
+
+
+
+ 全校前100名
+
-
-
diff --git a/src/utils/constants.ts b/src/utils/constants.ts
index 020aceb..70ca64a 100644
--- a/src/utils/constants.ts
+++ b/src/utils/constants.ts
@@ -304,3 +304,8 @@ export const avatar = ref(AVATARS[Math.floor(Math.random() * AVATARS.length)])
export function getRandomAvatar() {
avatar.value = AVATARS[Math.floor(Math.random() * AVATARS.length)]
}
+
+export enum ChartType {
+ Rank,
+ Activity,
+}