@xcpcio/board-app 0.69.5 → 0.70.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.
Files changed (58) hide show
  1. package/dist/404.html +1 -1
  2. package/dist/assets/{Balloon.vue_vue_type_script_setup_true_lang-DfbwZnd2.js → Balloon.vue_vue_type_script_setup_true_lang-oEmN2FUH.js} +1 -1
  3. package/dist/assets/{Board-BMeYlAwA.js → Board-Bhkqgu1Y.js} +97 -97
  4. package/dist/assets/{Board-C89Lc-cb.css → Board-tx1moXfi.css} +1 -1
  5. package/dist/assets/{ContestStateBadge-DoEREwpQ.js → ContestStateBadge-CvO-EMgm.js} +1 -1
  6. package/dist/assets/{Countdown-_PA1hqgx.js → Countdown-TVEha-GX.js} +1 -1
  7. package/dist/assets/{DataSourceInput.vue_vue_type_script_setup_true_lang-eUwkTVcq.js → DataSourceInput.vue_vue_type_script_setup_true_lang-DPoc3DXZ.js} +1 -1
  8. package/dist/assets/{Footer-BWt3hS1p.js → Footer-D8toReDQ.js} +1 -1
  9. package/dist/assets/{NavBar-DBduFBvK.js → NavBar-o5bwwfFh.js} +1 -1
  10. package/dist/assets/{Resolver-DYqdxinL.js → Resolver-DHnKaMVV.js} +1 -1
  11. package/dist/assets/{RightArrowIcon-CLEfqdYw.js → RightArrowIcon-DYbq8Bub.js} +1 -1
  12. package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-BToUgLKT.js → TheInput.vue_vue_type_script_setup_true_lang-BdUca1-n.js} +1 -1
  13. package/dist/assets/{Tooltip.vue_vue_type_script_setup_true_lang-DDqugeXb.js → Tooltip.vue_vue_type_script_setup_true_lang-JtL4ZY65.js} +1 -1
  14. package/dist/assets/{_...all_-Cw819WoH.js → _...all_-CtqfVkht.js} +1 -1
  15. package/dist/assets/{_...all_-FGT9N2sj.js → _...all_-DMSafAfm.js} +1 -1
  16. package/dist/assets/{_name_-CuQ3cIKi.js → _name_-BmEIkMG7.js} +1 -1
  17. package/dist/assets/{about-BAhmu_eA.js → about-BR3jUE0_.js} +1 -1
  18. package/dist/assets/{board-layout-GCp2jR8Y.js → board-layout-DbzTYtb3.js} +1 -1
  19. package/dist/assets/board-q5on1RUR.js +1 -0
  20. package/dist/assets/constant-Ds9q2BQF.js +1 -0
  21. package/dist/assets/{dayjs-BswMS1T6.js → dayjs-DRRP86hV.js} +1 -1
  22. package/dist/assets/{default-BSnA2z3z.js → default--P8qjAUG.js} +1 -1
  23. package/dist/assets/en-Bc_VXYkH.js +1 -0
  24. package/dist/assets/{headless-DaRP-RlQ.js → headless---RphLCU.js} +1 -1
  25. package/dist/assets/{home-CQ7J5jfy.js → home-CRBm3f13.js} +1 -1
  26. package/dist/assets/{index-D_YfgkHi.js → index-BJ0B1S7n.js} +5 -5
  27. package/dist/assets/{index-BLzpiSXU.js → index-BKVhu7Tw.js} +1 -1
  28. package/dist/assets/{index-BGJAeisZ.css → index-CBwoaX68.css} +1 -1
  29. package/dist/assets/index-D7Dv5u2i.js +1 -0
  30. package/dist/assets/index-DDXtBC57.js +1 -0
  31. package/dist/assets/{index-BShKuYMv.js → index-DF3noR7O.js} +1 -1
  32. package/dist/assets/index-DwDo-flU.js +1 -0
  33. package/dist/assets/{index-layout-Dzd9pPBi.js → index-layout-DpgBAC2O.js} +1 -1
  34. package/dist/assets/{pagination-4SkVHmrY.js → pagination-CCDih46R.js} +1 -1
  35. package/dist/assets/{person-BqGZA5vO.js → person-wOxxwhEX.js} +1 -1
  36. package/dist/assets/{query-951tnQE0.js → query-Cwkn7-aW.js} +1 -1
  37. package/dist/assets/{rank-D0grINCt.js → rank-CzKFUPaY.js} +1 -1
  38. package/dist/assets/{test-BXOoffz6.js → test-2P7EDOc4.js} +1 -1
  39. package/dist/assets/{use-vmodel-B2gtAybe.js → use-vmodel-eKIPpK5B.js} +1 -1
  40. package/dist/assets/{useQueryBoardData-Bo2tfx6C.js → useQueryBoardData-BxZkFBMO.js} +1 -1
  41. package/dist/assets/{user-B76vXuTP.js → user-CgerVobA.js} +1 -1
  42. package/dist/assets/{virtual_pwa-register-DAgoMBVn.js → virtual_pwa-register-CeNObX1m.js} +1 -1
  43. package/dist/assets/zh-CN-DJPqkv-M.js +1 -0
  44. package/dist/index.html +1 -1
  45. package/dist/sw.js +1 -1
  46. package/package.json +3 -3
  47. package/src/components/board/{TeamInfoModal.vue → TeamModal.vue} +2 -13
  48. package/src/components/board/{TeamInfo.vue → TeamOverview.vue} +38 -0
  49. package/src/components/board/TeamUI.vue +7 -7
  50. package/src/components.d.ts +2 -3
  51. package/dist/assets/board-B2-AY2i9.js +0 -1
  52. package/dist/assets/constant-CglMAQbu.js +0 -1
  53. package/dist/assets/en-2FPgP2UC.js +0 -1
  54. package/dist/assets/index-B57ZqXF4.js +0 -1
  55. package/dist/assets/index-BhnYlDUf.js +0 -1
  56. package/dist/assets/index-Bo0N8sE9.js +0 -1
  57. package/dist/assets/zh-CN-HUuGZsB1.js +0 -1
  58. package/src/components/board/TeamAwards.vue +0 -121
@@ -1,121 +0,0 @@
1
- <script setup lang="ts">
2
- import type { Rank, Team } from "@xcpcio/core";
3
- import { MedalType } from "@xcpcio/core";
4
-
5
- const props = defineProps<{
6
- team: Team;
7
- rank: Rank;
8
- }>();
9
-
10
- const team = computed(() => props.team);
11
- const rank = computed(() => props.rank);
12
-
13
- const firstSolvedProblems = computed(() => {
14
- return props.team.problemStatistics.filter((p) => {
15
- if (p.isFirstSolved) {
16
- return true;
17
- }
18
-
19
- return false;
20
- }).map(p => p.problem.label).join(",");
21
- });
22
-
23
- interface Medal {
24
- text: string;
25
- }
26
-
27
- const medal = computed((): Medal | null => {
28
- const awards = props.team.awards;
29
-
30
- if (awards.includes(MedalType.GOLD)) {
31
- return {
32
- text: "Gold",
33
- };
34
- }
35
-
36
- if (awards.includes(MedalType.SILVER)) {
37
- return {
38
- text: "Silver",
39
- };
40
- }
41
-
42
- if (awards.includes(MedalType.BRONZE)) {
43
- return {
44
- text: "Bronze",
45
- };
46
- }
47
-
48
- if (awards.includes(MedalType.HONORABLE)) {
49
- return {
50
- text: "Honorable",
51
- };
52
- }
53
-
54
- return null;
55
- });
56
-
57
- const place = computed(() => {
58
- let r = team.value.rank;
59
-
60
- if (rank.value.contest.organization) {
61
- r = team.value.organizationRank;
62
- }
63
-
64
- if (r === 1) {
65
- return "1st Place";
66
- }
67
-
68
- if (r === 2) {
69
- return "2nd Place";
70
- }
71
-
72
- if (r === 3) {
73
- return "3rd Place";
74
- }
75
-
76
- return "";
77
- });
78
- </script>
79
-
80
- <template>
81
- <div
82
- text-gray-900 dark:text-white
83
- text-xl
84
- font-mono font-semibold italic
85
- flex flex-col gap-2
86
- justify-center items-center
87
- >
88
- <div
89
- flex flex-col
90
- items-start
91
- gap-y-2
92
- >
93
- <div
94
- v-if="medal"
95
- >
96
- {{ medal.text }} Medalist
97
- </div>
98
-
99
- <div
100
- v-if="place.length > 0"
101
- >
102
- {{ place }}
103
- </div>
104
-
105
- <div
106
- v-if="firstSolvedProblems.length"
107
- flex flex-col gap-2
108
- >
109
- <div>
110
- First Solved Problem {{ firstSolvedProblems }}
111
- </div>
112
- </div>
113
-
114
- <div
115
- v-if="team.solvedProblemNum > 0"
116
- >
117
- Solved {{ team.solvedProblemNum }} {{ team.solvedProblemNum > 1 ? 'Problems' : 'Problem' }}
118
- </div>
119
- </div>
120
- </div>
121
- </template>