@xcpcio/board-app 0.6.3 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +6 -0
- package/LICENSE +1 -1
- package/README.md +13 -30
- package/cypress.config.ts +14 -0
- package/dist/_headers +3 -0
- package/dist/about.html +11 -0
- package/dist/assets/_...all_-27c7ae93.css +1 -0
- package/dist/assets/_...all_-d56798b5.js +3 -0
- package/dist/assets/_name_-8eab6137.js +1 -0
- package/dist/assets/about-a8cb8700.js +11 -0
- package/dist/assets/app-37f77a84.js +65 -0
- package/dist/assets/board-layout-deaedfc1.js +1 -0
- package/dist/assets/en-caedd340.js +1 -0
- package/dist/assets/home-49c336e5.js +1 -0
- package/dist/assets/index-a270cacd.css +5 -0
- package/dist/assets/index-layout-d65c80ea.js +1 -0
- package/dist/assets/test-0a3d6f7a.js +1 -0
- package/dist/assets/user-108782a1.js +1 -0
- package/dist/assets/virtual_pwa-register-1c1b9161.js +1 -0
- package/dist/assets/workbox-window.prod.es5-a7b12eab.js +2 -0
- package/dist/assets/zh-CN-86269804.js +1 -0
- package/dist/favicon-dark.svg +1 -0
- package/dist/favicon.svg +1 -0
- package/dist/index.html +1 -171
- package/dist/manifest.webmanifest +1 -0
- package/dist/pwa-192x192.png +0 -0
- package/dist/pwa-512x512.png +0 -0
- package/dist/robots.txt +4 -0
- package/dist/safari-pinned-tab.svg +41 -0
- package/dist/sitemap.xml +1 -0
- package/dist/ssr-manifest.json +486 -0
- package/dist/sw.js +1 -0
- package/dist/test.html +1 -0
- package/dist/workbox-b8d87ee1.js +1 -0
- package/package.json +94 -50
- package/public/_headers +3 -0
- package/public/favicon-dark.svg +1 -0
- package/public/favicon.svg +1 -0
- package/public/pwa-192x192.png +0 -0
- package/public/pwa-512x512.png +0 -0
- package/public/safari-pinned-tab.svg +41 -0
- package/src/App.vue +33 -0
- package/src/auto-imports.d.ts +909 -0
- package/src/components/ContestIndex.vue +227 -0
- package/src/components/Footer.vue +94 -0
- package/src/components/GoBack.vue +22 -0
- package/src/components/NavBar.vue +152 -0
- package/src/components/SearchInput.vue +50 -0
- package/src/components/TheCounter.vue +19 -0
- package/src/components/TheInput.vue +20 -0
- package/src/components/board/Balloon.vue +5 -0
- package/src/components/board/Board.vue +396 -0
- package/src/components/board/BottomStatistics.vue +159 -0
- package/src/components/board/ContestStateBadge.vue +41 -0
- package/src/components/board/Export.vue +75 -0
- package/src/components/board/Modal.vue +107 -0
- package/src/components/board/ModalMenu.vue +64 -0
- package/src/components/board/OptionsModal.vue +179 -0
- package/src/components/board/Progress.less +442 -0
- package/src/components/board/Progress.vue +229 -0
- package/src/components/board/SecondLevelMenu.vue +190 -0
- package/src/components/board/Standings.less +1162 -0
- package/src/components/board/Standings.vue +154 -0
- package/src/components/board/StandingsAnnotate.vue +38 -0
- package/src/components/board/Statistics.vue +77 -0
- package/src/components/board/SubmissionsTable.vue +312 -0
- package/src/components/board/SubmissionsTableModal.vue +52 -0
- package/src/components/board/TeamAwards.vue +93 -0
- package/src/components/board/TeamInfoModal.vue +128 -0
- package/src/components/board/TeamProblemBlock.vue +100 -0
- package/src/components/board/TeamUI.vue +161 -0
- package/src/components/board/Utility.vue +28 -0
- package/src/components/icon/GirlIcon.vue +80 -0
- package/src/components/icon/RightArrowIcon.vue +26 -0
- package/src/components/icon/StarIcon.vue +19 -0
- package/src/components/table/TablePagination.vue +108 -0
- package/src/components.d.ts +44 -0
- package/src/composables/dark.ts +4 -0
- package/src/composables/pagination.ts +81 -0
- package/src/composables/statistics.ts +280 -0
- package/src/composables/useLocalStorage.ts +29 -0
- package/src/composables/useQueryBoardData.ts +43 -0
- package/src/composables/utils.ts +11 -0
- package/src/layouts/board-layout.vue +14 -0
- package/src/layouts/default.vue +10 -0
- package/src/layouts/home.vue +12 -0
- package/src/layouts/index-layout.vue +15 -0
- package/src/main.ts +36 -0
- package/src/modules/README.md +11 -0
- package/src/modules/i18n.ts +52 -0
- package/src/modules/nprogress.ts +15 -0
- package/src/modules/pinia.ts +18 -0
- package/src/modules/pwa.ts +15 -0
- package/src/modules/toast.ts +10 -0
- package/src/pages/[...all].vue +34 -0
- package/src/pages/about.md +21 -0
- package/src/pages/hi/[name].vue +50 -0
- package/src/pages/index.vue +129 -0
- package/src/pages/test.vue +57 -0
- package/src/shims.d.ts +16 -0
- package/src/stores/user.ts +36 -0
- package/src/styles/color.css +51 -0
- package/src/styles/main.css +30 -0
- package/src/styles/markdown.css +28 -0
- package/src/styles/submission-status.css +123 -0
- package/src/types.ts +3 -0
- package/tsconfig.json +39 -0
- package/uno.config.ts +65 -0
- package/vite.config.ts +176 -0
- package/dist/favicon.ico +0 -0
- package/dist/umi.00ae29f6.js +0 -1
- package/dist/umi.bd64c248.css +0 -1
package/package.json
CHANGED
|
@@ -1,74 +1,118 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xcpcio/board-app",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.13.0",
|
|
3
5
|
"description": "XCPCIO Board App",
|
|
4
|
-
"version": "0.6.3",
|
|
5
|
-
"license": "MIT",
|
|
6
6
|
"author": "Dup4 <lyuzhi.pan@gmail.com>",
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"CCPC"
|
|
10
|
-
],
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"homepage": "https://github.com/xcpcio/xcpcio",
|
|
11
9
|
"repository": {
|
|
12
10
|
"type": "git",
|
|
13
11
|
"url": "git+https://github.com/xcpcio/xcpcio.git"
|
|
14
12
|
},
|
|
15
|
-
"homepage": "https://github.com/xcpcio/xcpcio",
|
|
16
13
|
"bugs": {
|
|
17
14
|
"url": "https://github.com/xcpcio/xcpcio/issues"
|
|
18
15
|
},
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
16
|
+
"keywords": [
|
|
17
|
+
"ICPC",
|
|
18
|
+
"CCPC",
|
|
19
|
+
"Rank",
|
|
20
|
+
"Board",
|
|
21
|
+
"Standings"
|
|
22
|
+
],
|
|
22
23
|
"files": [
|
|
23
|
-
"
|
|
24
|
+
"src",
|
|
25
|
+
"dist",
|
|
26
|
+
"public",
|
|
27
|
+
"./*.{js,ts,json}"
|
|
24
28
|
],
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=16"
|
|
31
|
+
},
|
|
25
32
|
"dependencies": {
|
|
26
|
-
"@
|
|
27
|
-
"@
|
|
28
|
-
"@
|
|
29
|
-
"@
|
|
30
|
-
"@
|
|
31
|
-
"@
|
|
32
|
-
"
|
|
33
|
-
"browserslist": "^4.21.7",
|
|
34
|
-
"caniuse-lite": "^1.0.30001495",
|
|
33
|
+
"@tanstack/vue-query": "^4.32.6",
|
|
34
|
+
"@unhead/vue": "^1.3.3",
|
|
35
|
+
"@unocss/reset": "^0.53.6",
|
|
36
|
+
"@vueuse/components": "^10.3.0",
|
|
37
|
+
"@vueuse/core": "^10.3.0",
|
|
38
|
+
"@vueuse/head": "^1.3.1",
|
|
39
|
+
"@vueuse/router": "^10.3.0",
|
|
35
40
|
"dayjs": "^1.11.8",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"highcharts
|
|
41
|
+
"floating-vue": "2.0.0-beta.24",
|
|
42
|
+
"flowbite": "^1.8.1",
|
|
43
|
+
"highcharts": "^11.1.0",
|
|
44
|
+
"highcharts-vue": "^1.4.3",
|
|
39
45
|
"lodash": "^4.17.21",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
46
|
+
"nprogress": "^0.2.0",
|
|
47
|
+
"pinia": "^2.1.6",
|
|
48
|
+
"vue": "^3.3.4",
|
|
49
|
+
"vue-demi": "^0.14.5",
|
|
50
|
+
"vue-i18n": "^9.2.2",
|
|
51
|
+
"vue-router": "^4.2.4",
|
|
52
|
+
"vue-search-select": "^3.1.2",
|
|
53
|
+
"vue-toast-notification": "^3",
|
|
54
|
+
"@xcpcio/core": "0.13.0",
|
|
55
|
+
"@xcpcio/types": "0.13.0"
|
|
49
56
|
},
|
|
50
57
|
"devDependencies": {
|
|
58
|
+
"@antfu/eslint-config": "^0.39.8",
|
|
59
|
+
"@iconify/json": "^2.2.102",
|
|
60
|
+
"@intlify/unplugin-vue-i18n": "^0.12.2",
|
|
51
61
|
"@types/lodash": "^4.14.195",
|
|
52
|
-
"@types/
|
|
53
|
-
"@types/
|
|
54
|
-
"@
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
58
|
-
"
|
|
59
|
-
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
|
62
|
+
"@types/markdown-it-link-attributes": "^3.0.1",
|
|
63
|
+
"@types/nprogress": "^0.2.0",
|
|
64
|
+
"@unocss/eslint-config": "^0.53.6",
|
|
65
|
+
"@vitejs/plugin-vue": "^4.2.3",
|
|
66
|
+
"@vue-macros/volar": "^0.12.3",
|
|
67
|
+
"@vue/test-utils": "^2.4.1",
|
|
68
|
+
"critters": "^0.0.19",
|
|
60
69
|
"cross-env": "^7.0.3",
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
70
|
+
"cypress": "^12.17.3",
|
|
71
|
+
"cypress-vite": "^1.4.2",
|
|
72
|
+
"eslint": "^8.47.0",
|
|
73
|
+
"eslint-plugin-cypress": "^2.14.0",
|
|
74
|
+
"https-localhost": "^4.7.1",
|
|
75
|
+
"less": "^4.2.0",
|
|
76
|
+
"markdown-it-link-attributes": "^4.0.1",
|
|
77
|
+
"markdown-it-shiki": "^0.9.0",
|
|
78
|
+
"pnpm": "^8.6.12",
|
|
79
|
+
"shiki": "^0.14.3",
|
|
80
|
+
"taze": "^0.11.2",
|
|
81
|
+
"typescript": "^5.1.6",
|
|
82
|
+
"unocss": "^0.53.6",
|
|
83
|
+
"unplugin-auto-import": "^0.16.6",
|
|
84
|
+
"unplugin-vue-components": "^0.25.1",
|
|
85
|
+
"unplugin-vue-macros": "^2.4.6",
|
|
86
|
+
"vite": "^4.4.9",
|
|
87
|
+
"vite-bundle-visualizer": "^0.8.1",
|
|
88
|
+
"vite-plugin-inspect": "^0.7.38",
|
|
89
|
+
"vite-plugin-pages": "^0.31.0",
|
|
90
|
+
"vite-plugin-pwa": "^0.16.4",
|
|
91
|
+
"vite-plugin-vue-component-preview": "^1.1.6",
|
|
92
|
+
"vite-plugin-vue-devtools": "^0.5.1",
|
|
93
|
+
"vite-plugin-vue-layouts": "^0.8.0",
|
|
94
|
+
"vite-plugin-vue-markdown": "^0.23.8",
|
|
95
|
+
"vite-plugin-webfont-dl": "^3.7.6",
|
|
96
|
+
"vite-ssg": "^0.23.1",
|
|
97
|
+
"vite-ssg-sitemap": "^0.5.1",
|
|
98
|
+
"vitest": "^0.33.0",
|
|
99
|
+
"vue-tsc": "^1.8.8",
|
|
100
|
+
"workbox-build": "^7.0.0",
|
|
101
|
+
"workbox-window": "^7.0.0"
|
|
65
102
|
},
|
|
66
103
|
"scripts": {
|
|
67
|
-
"
|
|
68
|
-
"dev": "
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
104
|
+
"build": "vite-ssg build",
|
|
105
|
+
"dev": "vite --port 3333",
|
|
106
|
+
"lint": "eslint .",
|
|
107
|
+
"lint:fix": "eslint --fix .",
|
|
108
|
+
"preview": "vite preview",
|
|
109
|
+
"preview-https": "serve dist",
|
|
110
|
+
"start": "npm run preview",
|
|
111
|
+
"test": "vitest",
|
|
112
|
+
"test:e2e": "cypress open",
|
|
113
|
+
"test:unit": "vitest",
|
|
114
|
+
"typecheck": "vue-tsc --noEmit",
|
|
115
|
+
"up": "taze major -I",
|
|
116
|
+
"sizecheck": "npx vite-bundle-visualizer"
|
|
73
117
|
}
|
|
74
118
|
}
|
package/public/_headers
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 512 512"><path fill="#888888" d="M391 307.27c32.75-46.35 46.59-101.63 39-155.68C416.47 55.59 327.38-11.54 231.38 2S68.24 104.53 81.73 200.53c7.57 53.89 36.12 103.16 80.37 138.74c26.91 21.64 57.59 36.1 86.05 41.33l-8.36 45.23a8 8 0 0 0 9 9.38L279 431c15.9 35.87 41.65 60.48 78.41 75l14.88 5.88l11.77-29.75l-14.88-5.89c-26.35-10.42-44.48-26.16-57-49.92l21.84-3.07a8 8 0 0 0 6.05-11.49l-20.49-41.16c25.98-12.87 51.49-35.18 71.42-63.33Zm-160.82 15.66c-41.26-16.32-76.3-52.7-91.45-94.94l-5.4-15.06l30.12-10.8l5.4 15.06c14.5 40.44 47.27 65.77 73.1 76l14.88 5.88l-11.77 29.76Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 512 512"><path fill="#888888" d="M391 307.27c32.75-46.35 46.59-101.63 39-155.68C416.47 55.59 327.38-11.54 231.38 2S68.24 104.53 81.73 200.53c7.57 53.89 36.12 103.16 80.37 138.74c26.91 21.64 57.59 36.1 86.05 41.33l-8.36 45.23a8 8 0 0 0 9 9.38L279 431c15.9 35.87 41.65 60.48 78.41 75l14.88 5.88l11.77-29.75l-14.88-5.89c-26.35-10.42-44.48-26.16-57-49.92l21.84-3.07a8 8 0 0 0 6.05-11.49l-20.49-41.16c25.98-12.87 51.49-35.18 71.42-63.33Zm-160.82 15.66c-41.26-16.32-76.3-52.7-91.45-94.94l-5.4-15.06l30.12-10.8l5.4 15.06c14.5 40.44 47.27 65.77 73.1 76l14.88 5.88l-11.77 29.76Z"/></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
3
|
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
4
|
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
|
6
|
+
preserveAspectRatio="xMidYMid meet">
|
|
7
|
+
<metadata>
|
|
8
|
+
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
|
9
|
+
</metadata>
|
|
10
|
+
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
|
11
|
+
fill="#000000" stroke="none">
|
|
12
|
+
<path d="M2916 6015 c-93 -57 -173 -108 -178 -113 -6 -6 7 -36 33 -78 23 -38
|
|
13
|
+
86 -141 139 -229 54 -88 135 -221 180 -295 46 -74 94 -155 108 -180 14 -25 29
|
|
14
|
+
-52 35 -60 7 -12 -9 -45 -62 -130 -39 -63 -85 -140 -103 -170 -18 -30 -117
|
|
15
|
+
-194 -222 -365 -104 -170 -199 -326 -210 -346 -12 -19 -61 -102 -111 -183 -49
|
|
16
|
+
-81 -101 -166 -115 -189 -14 -23 -39 -64 -55 -90 -17 -27 -77 -126 -134 -220
|
|
17
|
+
-57 -95 -127 -210 -156 -257 -194 -315 -325 -533 -325 -541 0 -5 -4 -9 -10 -9
|
|
18
|
+
-5 0 -10 -4 -10 -9 0 -5 -55 -98 -121 -207 -247 -404 -403 -660 -416 -684 -8
|
|
19
|
+
-14 -58 -97 -112 -185 l-98 -160 -189 -2 c-104 -1 -225 -2 -269 -2 l-80 -1 1
|
|
20
|
+
-210 c0 -116 4 -213 8 -218 11 -11 6107 -9 6114 2 8 13 8 406 0 419 -4 7 -88
|
|
21
|
+
10 -265 9 l-259 -2 -50 77 c-27 43 -54 87 -60 98 -6 11 -62 103 -124 205 -62
|
|
22
|
+
102 -120 197 -129 212 -9 16 -85 142 -170 280 -85 139 -160 262 -165 273 -6
|
|
23
|
+
11 -13 22 -16 25 -3 3 -30 46 -59 95 -30 50 -102 169 -161 265 -59 96 -240
|
|
24
|
+
393 -402 660 -163 267 -371 609 -463 760 -92 151 -194 318 -225 370 -31 52
|
|
25
|
+
-101 167 -155 255 l-97 160 27 50 c16 27 32 55 36 61 5 5 38 59 74 120 36 60
|
|
26
|
+
69 116 74 124 5 8 75 122 155 253 81 131 144 242 141 247 -4 7 -114 76 -183
|
|
27
|
+
115 -10 6 -52 32 -95 58 -42 27 -81 46 -87 42 -8 -5 -94 -140 -140 -219 -19
|
|
28
|
+
-33 -221 -365 -246 -404 -15 -22 -18 -18 -111 135 -52 87 -123 203 -157 258
|
|
29
|
+
-67 108 -67 110 -111 184 -16 28 -34 51 -40 50 -5 0 -86 -47 -179 -104z m739
|
|
30
|
+
-1642 c319 -526 519 -854 637 -1046 43 -70 78 -130 78 -133 0 -2 5 -10 10 -17
|
|
31
|
+
6 -7 69 -109 140 -227 72 -118 134 -222 139 -230 5 -8 55 -89 111 -180 56 -91
|
|
32
|
+
105 -172 110 -180 9 -14 52 -84 270 -445 54 -88 135 -221 180 -295 46 -74 91
|
|
33
|
+
-148 100 -165 9 -16 31 -53 48 -81 18 -28 32 -54 32 -57 0 -3 -403 -6 -895 -5
|
|
34
|
+
l-895 0 0 81 c-1 45 -1 439 -1 875 l0 792 -37 1 c-57 1 -344 1 -374 0 l-27 -1
|
|
35
|
+
0 -832 c0 -458 0 -852 0 -875 l-1 -42 -895 1 c-492 0 -895 3 -895 5 0 9 115
|
|
36
|
+
198 122 201 5 2 8 7 8 12 0 5 23 46 51 92 28 46 78 128 112 183 33 55 70 116
|
|
37
|
+
82 135 12 19 132 215 265 435 133 220 266 438 295 485 65 105 206 338 220 362
|
|
38
|
+
6 10 172 284 370 608 198 325 387 635 420 690 33 55 62 100 65 100 3 0 73
|
|
39
|
+
-111 155 -247z"/>
|
|
40
|
+
</g>
|
|
41
|
+
</svg>
|
package/src/App.vue
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
// https://github.com/vueuse/head
|
|
3
|
+
// you can use this to manipulate the document head in any components,
|
|
4
|
+
// they will be rendered correctly in the html results with vite-ssg
|
|
5
|
+
useHead({
|
|
6
|
+
title: "Board - XCPCIO",
|
|
7
|
+
meta: [
|
|
8
|
+
{
|
|
9
|
+
name: "description",
|
|
10
|
+
content: "XCPCIO-Board 主要收录 *CPC 系列竞赛的榜单。",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: "keywords",
|
|
14
|
+
content: "icpc, ccpc, rank, board, standings",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "theme-color",
|
|
18
|
+
content: () => isDark.value ? "#00aba9" : "#ffffff",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
link: [
|
|
22
|
+
{
|
|
23
|
+
rel: "icon",
|
|
24
|
+
type: "image/svg+xml",
|
|
25
|
+
href: () => preferredDark.value ? "/favicon-dark.svg" : "/favicon.svg",
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<template>
|
|
32
|
+
<RouterView />
|
|
33
|
+
</template>
|