@xcpcio/board-app 0.24.0 → 0.25.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 (34) hide show
  1. package/dist/about.html +2 -2
  2. package/dist/assets/{DataSourceInput.vue_vue_type_script_setup_true_lang-031a9b5a.js → DataSourceInput.vue_vue_type_script_setup_true_lang-7dd754fb.js} +1 -1
  3. package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-e650d660.js → TheInput.vue_vue_type_script_setup_true_lang-bd7b9fe6.js} +1 -1
  4. package/dist/assets/{_...all_-65bba7d0.css → _...all_-16dbd7b8.css} +1 -1
  5. package/dist/assets/{_...all_-bfcbbdec.js → _...all_-d6af1410.js} +3 -3
  6. package/dist/assets/{_name_-7ad1abf2.js → _name_-94d749aa.js} +1 -1
  7. package/dist/assets/{about-5252d138.js → about-f01d587e.js} +1 -1
  8. package/dist/assets/{app-d628d0b6.js → app-b6bf8dd1.js} +13 -13
  9. package/dist/assets/{board-layout-765f9dd1.js → board-layout-52e96f00.js} +1 -1
  10. package/dist/assets/en-644e039f.js +1 -0
  11. package/dist/assets/{headless-da33796d.js → headless-e8cc73cd.js} +1 -1
  12. package/dist/assets/{home-1ab30c77.js → home-334a9895.js} +1 -1
  13. package/dist/assets/index-43dadeef.js +1 -0
  14. package/dist/assets/{index-da8e69bb.css → index-7f7e6de0.css} +2 -2
  15. package/dist/assets/{index-layout-57dba2c9.js → index-layout-ad419356.js} +1 -1
  16. package/dist/assets/{test-9d2b0812.js → test-27f85731.js} +1 -1
  17. package/dist/assets/{user-6f8a594a.js → user-b8ba5adf.js} +1 -1
  18. package/dist/assets/{virtual_pwa-register-c84f20da.js → virtual_pwa-register-698ae235.js} +1 -1
  19. package/dist/assets/{zh-CN-534ed2df.js → zh-CN-44b801f0.js} +1 -1
  20. package/dist/balloon.html +1 -1
  21. package/dist/index.html +1 -1
  22. package/dist/sitemap.xml +1 -1
  23. package/dist/ssr-manifest.json +158 -154
  24. package/dist/sw.js +1 -1
  25. package/dist/test.html +1 -1
  26. package/package.json +3 -3
  27. package/src/components/Balloon.vue +2 -2
  28. package/src/components/BalloonBlock.vue +5 -6
  29. package/src/components/board/Board.vue +7 -1
  30. package/src/components/board/BoardTab.vue +35 -0
  31. package/src/components/board/Progress.vue +9 -7
  32. package/src/components.d.ts +1 -0
  33. package/dist/assets/en-4a3e0074.js +0 -1
  34. package/dist/assets/index-f8c1768d.js +0 -1
package/dist/test.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" data-critters-container><head><meta charset="UTF-8"><!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> --><link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.24.0/dist/balloon-192x192.png"><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.24.0/dist/balloon-512x512.svg" color="#00aba9"><meta name="msapplication-TileColor" content="#00aba9"><script>function normalizePath(_){for(;_.endsWith("/");)_=_.slice(0,-1);return _+"/"}{let _="__CDN_HOST__";_=normalizePath(_),window.CDN_HOST=_}try{let _=__DATA_HOST__;_=normalizePath(_),window.DATA_HOST=_}catch(_){window.DATA_HOST="/data/"}try{let _=__DATA_REGION__;window.DATA_REGION=_}catch(_){window.DATA_REGION="CN"}</script><script>!function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,t=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===t||e&&"light"!==t)&&document.documentElement.classList.toggle("dark",!0)}()</script><script type="module" async crossorigin src="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.24.0/dist/assets/app-d628d0b6.js"></script><link rel="manifest" href="/manifest.webmanifest"><style></style><link rel="modulepreload" crossorigin href="/assets/home-1ab30c77.js"><link rel="modulepreload" crossorigin href="/assets/test-9d2b0812.js"><title>Board - XCPCIO</title><meta name="description" content="XCPCIO-Board 主要收录 *CPC 系列竞赛的榜单。"><meta name="keywords" content="icpc, ccpc, rank, board, standings"><meta name="theme-color" content="#ffffff"><link rel="icon" type="image/svg+xml" href="/favicon.svg"></head><body class="font-sans"><div id="app" data-server-rendered="true"><main px-4 py-10 text="center gray-700 dark:gray-200"><div flex flex-col justify-center items-center><div text-4xl><div i-carbon-campsite></div></div><p><a rel="noreferrer" href="https://github.com/antfu/vitesse" target="_blank">Vitesse</a></p><p><em text-sm opacity-75>Opinionated Vite Starter Template</em></p><div py-4></div><div w-48><input id="input" value type="text" placeholder="What's your name?" autocomplete="false" p="x-4 y-2" w-full text="center" bg="transparent" border="~ rounded gray-200 dark:gray-700" outline="none active:none"><label class="hidden" for="input">What's your name?</label></div><div><button m-3 text-sm btn disabled="disabled">GO</button></div></div><footer mt-8 py-4 md:py-8 lg:py-10 w-full flex justify-center items-center><div text-center w-full><a href="/" class flex items-center justify-center text-2xl font-semibold text-gray-900 dark:text-white><div i-ion-balloon-sharp mr-4 h-8></div>Get more balloons</a><p my-6 text-gray-500 dark:text-gray-400 w-full flex justify-center>Open-source project of ICPC/CCPC Standings.</p><ul mb-6 w-full flex flex-wrap items-center justify-center text-gray-900 dark:text-white><li><a href="/" class mr-4 md:mr-6 hover:underline>Home</a></li><li><div class="v-popper v-popper--theme-tooltip" w-inherit><!--[--><!--[--><a href="https://github.com/xcpcio/xcpcio" class="mr-4 md:mr-6 hover:underline" rel="noreferrer" target="_blank" title="GitHub">GitHub</a><!--]--><div id="popper_qdp5fyqt_0q11z9" class="v-popper__popper v-popper--theme-tooltip v-popper__popper--hidden v-popper__popper--hide-to" style="position:absolute;transform:translate3d(0,0,0)" aria-hidden="true" data-popper-placement><div class="v-popper__backdrop"></div><div class="v-popper__wrapper" style><div class="v-popper__inner"><!----></div><div class="v-popper__arrow-container" style="left:0;top:0"><div class="v-popper__arrow-outer"></div><div class="v-popper__arrow-inner"></div></div></div></div><!--]--></div></li><li><div class="v-popper v-popper--theme-tooltip" w-inherit><!--[--><!--[--><a href="mailto:hi@dup4.com" mr-4 md:mr-6 hover:underline>Contact</a><!--]--><div id="popper_swa1359j_0q11za" class="v-popper__popper v-popper--theme-tooltip v-popper__popper--hidden v-popper__popper--hide-to" style="position:absolute;transform:translate3d(0,0,0)" aria-hidden="true" data-popper-placement><div class="v-popper__backdrop"></div><div class="v-popper__wrapper" style><div class="v-popper__inner"><!----></div><div class="v-popper__arrow-container" style="left:0;top:0"><div class="v-popper__arrow-outer"></div><div class="v-popper__arrow-inner"></div></div></div></div><!--]--></div></li></ul><span text-sm text-gray-500 sm:text-center dark:text-gray-400 w-full>© 2020-PRESENT <a href="/" class hover:underline>XCPCIO™</a>. All Rights Reserved.</span></div></footer><div mx-auto mt-5 text-center text-sm opacity-50>[Home Layout]</div></main></div><script>window.__INITIAL_STATE__='{"pinia":{"user":{"savedName":""}}}'</script><noscript>This website requires JavaScript to function properly. Please enable JavaScript to continue.</noscript><script>try{var umamiJSUrl=__UMAMI_JS_URL__,umamiWebsiteId=__UMAMI_WEBSITE_ID__;!function(){var e=document.createElement("script"),t=(e.src=umamiJSUrl,e.defer=!0,e.setAttribute("data-website-id",umamiWebsiteId),document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}()}catch(e){}try{var plausibleJSUrl=__PLAUSIBLE_JS_URL__,plausibleDataDomain=__PLAUSIBLE_DATA_DOMAIN__;!function(){var e=document.createElement("script"),t=(e.src=plausibleJSUrl,e.defer=!0,e.setAttribute("data-domain",plausibleDataDomain),document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}()}catch(e){}try{var baiduAnalyticsId=__BAIDU_ANALYTICS_ID__,_hmt=_hmt||[];!function(){var e=document.createElement("script"),t=(e.src="https://hm.baidu.com/hm.js?"+baiduAnalyticsId,document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}()}catch(e){}try{var googleAnalyticsId=__GOOGLE_ANALYTICS_ID__;!function(){var e,t,a,r;location.port||(e=window,r=document,t="script",a="ga",e.GoogleAnalyticsObject=a,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=+new Date,a=r.createElement(t),r=r.getElementsByTagName(t)[0],a.async=1,a.src="//www.google-analytics.com/analytics.js",r.parentNode.insertBefore(a,r),ga("create",""+googleAnalyticsId,"auto"),ga("send","pageview"))}()}catch(e){}</script></body></html>
1
+ <!DOCTYPE html><html lang="en" data-critters-container><head><meta charset="UTF-8"><!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> --><link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.25.0/dist/balloon-192x192.png"><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.25.0/dist/balloon-512x512.svg" color="#00aba9"><meta name="msapplication-TileColor" content="#00aba9"><script>function normalizePath(_){for(;_.endsWith("/");)_=_.slice(0,-1);return _+"/"}{let _="__CDN_HOST__";_=normalizePath(_),window.CDN_HOST=_}try{let _=__DATA_HOST__;_=normalizePath(_),window.DATA_HOST=_}catch(_){window.DATA_HOST="/data/"}try{let _=__DATA_REGION__;window.DATA_REGION=_}catch(_){window.DATA_REGION="CN"}</script><script>!function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,t=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===t||e&&"light"!==t)&&document.documentElement.classList.toggle("dark",!0)}()</script><script type="module" async crossorigin src="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.25.0/dist/assets/app-b6bf8dd1.js"></script><link rel="manifest" href="/manifest.webmanifest"><style></style><link rel="modulepreload" crossorigin href="/assets/home-334a9895.js"><link rel="modulepreload" crossorigin href="/assets/test-27f85731.js"><title>Board - XCPCIO</title><meta name="description" content="XCPCIO-Board 主要收录 *CPC 系列竞赛的榜单。"><meta name="keywords" content="icpc, ccpc, rank, board, standings"><meta name="theme-color" content="#ffffff"><link rel="icon" type="image/svg+xml" href="/favicon.svg"></head><body class="font-sans"><div id="app" data-server-rendered="true"><main px-4 py-10 text="center gray-700 dark:gray-200"><div flex flex-col justify-center items-center><div text-4xl><div i-carbon-campsite></div></div><p><a rel="noreferrer" href="https://github.com/antfu/vitesse" target="_blank">Vitesse</a></p><p><em text-sm opacity-75>Opinionated Vite Starter Template</em></p><div py-4></div><div w-48><input id="input" value type="text" placeholder="What's your name?" autocomplete="false" p="x-4 y-2" w-full text="center" bg="transparent" border="~ rounded gray-200 dark:gray-700" outline="none active:none"><label class="hidden" for="input">What's your name?</label></div><div><button m-3 text-sm btn disabled="disabled">GO</button></div></div><footer mt-8 py-4 md:py-8 lg:py-10 w-full flex justify-center items-center><div text-center w-full><a href="/" class flex items-center justify-center text-2xl font-semibold text-gray-900 dark:text-white><div i-ion-balloon-sharp mr-4 h-8></div>Get more balloons</a><p my-6 text-gray-500 dark:text-gray-400 w-full flex justify-center>Open-source project of ICPC/CCPC Standings.</p><ul mb-6 w-full flex flex-wrap items-center justify-center text-gray-900 dark:text-white><li><a href="/" class mr-4 md:mr-6 hover:underline>Home</a></li><li><div class="v-popper v-popper--theme-tooltip" w-inherit><!--[--><!--[--><a href="https://github.com/xcpcio/xcpcio" class="mr-4 md:mr-6 hover:underline" rel="noreferrer" target="_blank" title="GitHub">GitHub</a><!--]--><div id="popper_x6c9fo2f_299hnp" class="v-popper__popper v-popper--theme-tooltip v-popper__popper--hidden v-popper__popper--hide-to" style="position:absolute;transform:translate3d(0,0,0)" aria-hidden="true" data-popper-placement><div class="v-popper__backdrop"></div><div class="v-popper__wrapper" style><div class="v-popper__inner"><!----></div><div class="v-popper__arrow-container" style="left:0;top:0"><div class="v-popper__arrow-outer"></div><div class="v-popper__arrow-inner"></div></div></div></div><!--]--></div></li><li><div class="v-popper v-popper--theme-tooltip" w-inherit><!--[--><!--[--><a href="mailto:hi@dup4.com" mr-4 md:mr-6 hover:underline>Contact</a><!--]--><div id="popper_47gvscdy_299hnp" class="v-popper__popper v-popper--theme-tooltip v-popper__popper--hidden v-popper__popper--hide-to" style="position:absolute;transform:translate3d(0,0,0)" aria-hidden="true" data-popper-placement><div class="v-popper__backdrop"></div><div class="v-popper__wrapper" style><div class="v-popper__inner"><!----></div><div class="v-popper__arrow-container" style="left:0;top:0"><div class="v-popper__arrow-outer"></div><div class="v-popper__arrow-inner"></div></div></div></div><!--]--></div></li></ul><span text-sm text-gray-500 sm:text-center dark:text-gray-400 w-full>© 2020-PRESENT <a href="/" class hover:underline>XCPCIO™</a>. All Rights Reserved.</span></div></footer><div mx-auto mt-5 text-center text-sm opacity-50>[Home Layout]</div></main></div><script>window.__INITIAL_STATE__='{"pinia":{"user":{"savedName":""}}}'</script><noscript>This website requires JavaScript to function properly. Please enable JavaScript to continue.</noscript><script>try{var umamiJSUrl=__UMAMI_JS_URL__,umamiWebsiteId=__UMAMI_WEBSITE_ID__;!function(){var e=document.createElement("script"),t=(e.src=umamiJSUrl,e.defer=!0,e.setAttribute("data-website-id",umamiWebsiteId),document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}()}catch(e){}try{var plausibleJSUrl=__PLAUSIBLE_JS_URL__,plausibleDataDomain=__PLAUSIBLE_DATA_DOMAIN__;!function(){var e=document.createElement("script"),t=(e.src=plausibleJSUrl,e.defer=!0,e.setAttribute("data-domain",plausibleDataDomain),document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}()}catch(e){}try{var baiduAnalyticsId=__BAIDU_ANALYTICS_ID__,_hmt=_hmt||[];!function(){var e=document.createElement("script"),t=(e.src="https://hm.baidu.com/hm.js?"+baiduAnalyticsId,document.getElementsByTagName("script")[0]);t.parentNode.insertBefore(e,t)}()}catch(e){}try{var googleAnalyticsId=__GOOGLE_ANALYTICS_ID__;!function(){var e,t,a,r;location.port||(e=window,r=document,t="script",a="ga",e.GoogleAnalyticsObject=a,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=+new Date,a=r.createElement(t),r=r.getElementsByTagName(t)[0],a.async=1,a.src="//www.google-analytics.com/analytics.js",r.parentNode.insertBefore(a,r),ga("create",""+googleAnalyticsId,"auto"),ga("send","pageview"))}()}catch(e){}</script></body></html>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xcpcio/board-app",
3
3
  "type": "module",
4
- "version": "0.24.0",
4
+ "version": "0.25.0",
5
5
  "description": "XCPCIO Board App",
6
6
  "author": "Dup4 <lyuzhi.pan@gmail.com>",
7
7
  "license": "MIT",
@@ -53,8 +53,8 @@
53
53
  "vue-router": "^4.2.4",
54
54
  "vue-search-select": "^3.1.2",
55
55
  "vue-toast-notification": "^3",
56
- "@xcpcio/types": "0.24.0",
57
- "@xcpcio/core": "0.24.0"
56
+ "@xcpcio/core": "0.25.0",
57
+ "@xcpcio/types": "0.25.0"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@antfu/eslint-config": "^0.39.8",
@@ -85,11 +85,11 @@ onUnmounted(() => {
85
85
  flex flex-col justify-between
86
86
  >
87
87
  <template
88
- v-for="(b, ix) in balloons"
88
+ v-for="(b, index) in balloons"
89
89
  :key="b.key"
90
90
  >
91
91
  <BalloonBlock
92
- :index="ix"
92
+ :index="index"
93
93
  :balloon="b"
94
94
  />
95
95
  </template>
@@ -7,9 +7,8 @@ const props = defineProps<{
7
7
  balloon: Balloon,
8
8
  }>();
9
9
 
10
- const balloon = computed(() => {
11
- return props.balloon;
12
- });
10
+ const index = computed(() => props.index);
11
+ const balloon = computed(() => props.balloon);
13
12
 
14
13
  const el = ref(null);
15
14
  const isVisible = useElementVisibility(el);
@@ -42,18 +41,18 @@ function getColor(c: ThemeColor): string {
42
41
  h-24
43
42
  flex flex-row gap-x-4
44
43
  font-mono text-4xl
45
- :class="[props.index % 2 === 0 ? 'bg-resolver-bg-zero' : 'bg-resolver-bg-one']"
44
+ :class="[index % 2 === 0 ? 'bg-resolver-bg-zero' : 'bg-resolver-bg-one']"
46
45
  >
47
46
  <div
48
47
  w-20
49
48
  flex flex-shrink-0 justify-center items-center
50
49
  :style="{
51
- backgroundColor: getColor(balloon.problem!.balloonColor!.background_color),
50
+ backgroundColor: getColor(balloon.problem?.balloonColor?.background_color ?? 'rgba(0, 0, 0, 0.5)'),
52
51
  }"
53
52
  >
54
53
  <div
55
54
  :style="{
56
- color: getColor(balloon.problem!.balloonColor!.color),
55
+ color: getColor(balloon.problem?.balloonColor?.color ?? '#fff'),
57
56
  }"
58
57
  >
59
58
  {{ balloon.problem.label }}
@@ -325,9 +325,15 @@ const widthClass = "sm:w-[1260px] xl:w-screen";
325
325
  </div>
326
326
  </div>
327
327
 
328
+ <div mt-1>
329
+ <BoardTab
330
+ :rank="rank"
331
+ />
332
+ </div>
333
+
328
334
  <div
329
335
  :class="[widthClass]"
330
- mt-4
336
+ mt-1
331
337
  flex flex-row justify-center
332
338
  >
333
339
  <div class="w-[92%]">
@@ -0,0 +1,35 @@
1
+ <script setup lang="ts">
2
+ import type { Rank } from "@xcpcio/core";
3
+
4
+ const props = defineProps<{
5
+ rank: Rank,
6
+ }>();
7
+
8
+ const rank = computed(() => props.rank);
9
+
10
+ const { t } = useI18n();
11
+ </script>
12
+
13
+ <template>
14
+ <div>
15
+ <VTooltip
16
+ w-inherit
17
+ >
18
+ <div
19
+ text-lg
20
+ >
21
+ <div i-material-symbols-info-outline text-lg />
22
+ </div>
23
+
24
+ <template #popper>
25
+ <div
26
+ flex
27
+ >
28
+ <div>
29
+ {{ t("standings.options.calculation_of_penalty") }}: {{ t(`standings.options.${rank.contest.options?.calculationOfPenalty}`) }}
30
+ </div>
31
+ </div>
32
+ </template>
33
+ </VTooltip>
34
+ </div>
35
+ </template>
@@ -146,13 +146,15 @@ function barWidthInStyle() {
146
146
  }
147
147
 
148
148
  onMounted(() => {
149
- scroll.value.onmouseenter = () => {
150
- tooltip.value.classList.add("in");
151
- };
152
-
153
- scroll.value.onmouseleave = () => {
154
- tooltip.value.classList.remove("in");
155
- };
149
+ if (props.needScroll === true) {
150
+ scroll.value.onmouseenter = () => {
151
+ tooltip.value.classList.add("in");
152
+ };
153
+
154
+ scroll.value.onmouseleave = () => {
155
+ tooltip.value.classList.remove("in");
156
+ };
157
+ }
156
158
 
157
159
  if (progressRatio.value !== -1) {
158
160
  pauseUpdate.value = true;
@@ -11,6 +11,7 @@ declare module 'vue' {
11
11
  Balloon: typeof import('./components/Balloon.vue')['default']
12
12
  BalloonBlock: typeof import('./components/BalloonBlock.vue')['default']
13
13
  Board: typeof import('./components/board/Board.vue')['default']
14
+ BoardTab: typeof import('./components/board/BoardTab.vue')['default']
14
15
  BottomStatistics: typeof import('./components/board/BottomStatistics.vue')['default']
15
16
  ContestIndexUI: typeof import('./components/ContestIndexUI.vue')['default']
16
17
  ContestStateBadge: typeof import('./components/board/ContestStateBadge.vue')['default']
@@ -1 +0,0 @@
1
- const t={button:{about:n=>{const{normalize:r}=n;return r(["About"])},back:n=>{const{normalize:r}=n;return r(["Back"])},go:n=>{const{normalize:r}=n;return r(["GO"])},home:n=>{const{normalize:r}=n;return r(["Home"])},confirm:n=>{const{normalize:r}=n;return r(["Confirm"])},cancel:n=>{const{normalize:r}=n;return r(["Cancel"])},toggle_dark:n=>{const{normalize:r}=n;return r(["Toggle dark mode"])},toggle_langs:n=>{const{normalize:r}=n;return r(["Change languages"])}},intro:{desc:n=>{const{normalize:r}=n;return r(["Opinionated Vite Starter Template"])},"dynamic-route":n=>{const{normalize:r}=n;return r(["Demo of dynamic route"])},hi:n=>{const{normalize:r,interpolate:e,named:o}=n;return r(["Hi, ",e(o("name")),"!"])},aka:n=>{const{normalize:r}=n;return r(["Also known as"])},"whats-your-name":n=>{const{normalize:r}=n;return r(["What's your name?"])}},"not-found":n=>{const{normalize:r}=n;return r(["Not found"])},common:{loading:n=>{const{normalize:r}=n;return r(["Loading"])},colon:n=>{const{normalize:r}=n;return r([":"])}},index:{start:n=>{const{normalize:r}=n;return r(["StartTime"])},duration:n=>{const{normalize:r}=n;return r(["Duration"])}},type_menu:{rank:n=>{const{normalize:r}=n;return r(["Rank"])},submissions:n=>{const{normalize:r}=n;return r(["Submissions"])},statistics:n=>{const{normalize:r}=n;return r(["Statistics"])},balloon:n=>{const{normalize:r}=n;return r(["Balloon"])},export:n=>{const{normalize:r}=n;return r(["Export"])},resolver:n=>{const{normalize:r}=n;return r(["Resolver"])},options:n=>{const{normalize:r}=n;return r(["Options"])},awards:n=>{const{normalize:r}=n;return r(["Awards"])},utility:n=>{const{normalize:r}=n;return r(["Utility"])}},standings:{start_time:n=>{const{normalize:r}=n;return r(["Start"])},end_time:n=>{const{normalize:r}=n;return r(["End"])},elapsed:n=>{const{normalize:r}=n;return r(["Elapsed"])},remaining:n=>{const{normalize:r}=n;return r(["Remaining"])},place:n=>{const{normalize:r}=n;return r(["Place"])},team:n=>{const{normalize:r}=n;return r(["Team"])},solved:n=>{const{normalize:r}=n;return r(["Solved"])},penalty:n=>{const{normalize:r}=n;return r(["Penalty"])},dirt:n=>{const{normalize:r}=n;return r(["Dirt"])},statistics:{submitted:n=>{const{normalize:r}=n;return r(["Submitted"])},attempted:n=>{const{normalize:r}=n;return r(["Attempted"])},accepted:n=>{const{normalize:r}=n;return r(["Accepted"])},dirt:n=>{const{normalize:r}=n;return r(["Dirt"])},first_solved:n=>{const{normalize:r}=n;return r(["First Solved"])},last_solved:n=>{const{normalize:r}=n;return r(["Last Solved"])},head_data:{problems:n=>{const{normalize:r}=n;return r(["Problems"])},teams:n=>{const{normalize:r}=n;return r(["Teams"])},submissions:n=>{const{normalize:r}=n;return r(["Submissions"])}}}},submissions:{total_submissions:n=>{const{normalize:r}=n;return r(["Total Submissions"])}}};export{t as default};
@@ -1 +0,0 @@
1
- import{g,h as D,i as c,u as V,o,c as n,j as t,n as E,d as a,k as w,t as v,l as h,m as F,p as R,B as $,q as A,w as O,s as q,v as M,x as Q,y as X,F as S,z as G,A as H,R as J,b as y,a as K,C}from"./app-d628d0b6.js";import{u as P,g as W,_ as Y}from"./DataSourceInput.vue_vue_type_script_setup_true_lang-031a9b5a.js";import"./TheInput.vue_vue_type_script_setup_true_lang-e650d660.js";const Z={flex:"","flex-1":"","flex-col":"","justify-center":"","items-start":""},ee={class:"resolver-team-name",truncate:"","overflow-hidden":""},te=a("div",{flex:"","flex-row":"","text-sm":"","items-start":"","gap-x-2":""},null,-1),oe={"w-32":"",flex:"","flex-shrink-0":"","flex-row":"","justify-start":"","items-center":""},ne=g({__name:"BalloonBlock",props:{index:{},balloon:{}},setup(d){const l=d,s=D(()=>l.balloon),m=c(null),i=V(m);function r(e){return[e.location,e.organization,e.name].filter(x=>x).join(" - ")}function f(e){return typeof e=="string"?e:F&&(e!=null&&e.dark)?e.dark:e.light}return(e,p)=>(o(),n("div",{ref_key:"el",ref:m,"h-24":""},[t(i)?(o(),n("div",{key:0,"h-24":"",flex:"","flex-row":"","gap-x-4":"","font-mono":"","text-4xl":"",class:E([l.index%2===0?"bg-resolver-bg-zero":"bg-resolver-bg-one"])},[a("div",{"w-20":"",flex:"","flex-shrink-0":"","justify-center":"","items-center":"",style:w({backgroundColor:f(t(s).problem.balloonColor.background_color)})},[a("div",{style:w({color:f(t(s).problem.balloonColor.color)})},v(t(s).problem.label),5)],4),a("div",Z,[a("div",ee,v(r(t(s).team)),1),te]),a("div",oe,v(t(s).submission.timestampToMinute),1)],2)):h("",!0)],512))}}),se={class:"bg-[#323443]","text-gray-200":""},ae={key:0},le={flex:"","flex-col":"","justify-center":"","items-center":"","w-screen":"","h-screen":"","text-xl":"",italic:""},re={key:0},ce={key:1},ie={flex:"","flex-col":"","justify-between":""},ue=g({__name:"Balloon",props:{dataSourceUrl:null},setup(d){const l=d,s=R($),{t:m}=A(),i=c(!1),r=c({}),f=c([]),e=c([]),p=c({}),x=c(new Date);function j(){const _=new J(r.value,f.value,e.value);_.buildBalloons(),p.value=_}const{data:u,isError:N,error:T}=P(l.dataSourceUrl,x);O(u,async()=>{var _,k,b;u.value===null||u.value===void 0||(r.value=q((_=u.value)==null?void 0:_.contest),s.value=`${r.value.name} | ${$}`,f.value=M((k=u.value)==null?void 0:k.teams),e.value=Q((b=u.value)==null?void 0:b.submissions),j(),i.value=!0)});const U=D(()=>p.value.balloons),z=setInterval(()=>{x.value=new Date},1e3);return X(()=>{clearInterval(z)}),(_,k)=>{const b=ne;return o(),n("div",se,[t(i)?(o(),n("div",ce,[a("div",ie,[(o(!0),n(S,null,G(t(U),(B,L)=>(o(),H(b,{key:B.key,index:L,balloon:B},null,8,["index","balloon"]))),128))])])):(o(),n("div",ae,[a("div",le,[a("div",null,v(t(m)("common.loading"))+"... ",1),t(N)?(o(),n("div",re,v(t(T)),1)):h("",!0)])]))])}}}),_e={key:0},de={"mt-20":""},me={key:1},fe=g({__name:"CustomBalloon",setup(d){const l=W();return(s,m)=>{const i=Y,r=ue;return o(),n(S,null,[t(l).length===0?(o(),n("div",_e,[a("div",de,[y(i)])])):h("",!0),t(l).length>0?(o(),n("div",me,[y(r,{"data-source-url":t(l)},null,8,["data-source-url"])])):h("",!0)],64)}}}),I={};function ve(d,l){const s=fe;return o(),n("div",null,[y(s)])}typeof C=="function"&&C(I);const he=K(I,[["render",ve]]);export{he as default};