@xcpcio/board-app 0.55.2 → 0.57.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 (74) hide show
  1. package/dist/404.html +1 -1
  2. package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-BZ_MJL62.js +1 -0
  3. package/dist/assets/{Board-DI2_Xyh3.css → Board-DnZBiplC.css} +1 -1
  4. package/dist/assets/Board-M3nEiC5v.js +1 -0
  5. package/dist/assets/{ContestStateBadge-DawlTsHs.css → ContestStateBadge-BqhxSQpe.css} +1 -1
  6. package/dist/assets/ContestStateBadge-IsAa8PiB.js +1 -0
  7. package/dist/assets/Countdown-BwX0pjKA.js +1 -0
  8. package/dist/assets/{DataSourceInput.vue_vue_type_script_setup_true_lang-J0bb2eXG.js → DataSourceInput.vue_vue_type_script_setup_true_lang-CwVxRE-c.js} +1 -1
  9. package/dist/assets/Footer.vue_vue_type_script_setup_true_lang-MkbrUjXL.js +1 -0
  10. package/dist/assets/NavBar-BmAanNCq.js +1 -0
  11. package/dist/assets/{Resolver-B6m5f_LD.css → Resolver-BTlxgfNF.css} +1 -1
  12. package/dist/assets/Resolver-RnjyvoQY.js +22 -0
  13. package/dist/assets/RightArrowIcon-Dma7noLJ.js +1 -0
  14. package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-DsqG2YZ8.js → TheInput.vue_vue_type_script_setup_true_lang-CX1T1Yaw.js} +1 -1
  15. package/dist/assets/Tooltip.vue_vue_type_script_setup_true_lang-C4y8ve-6.js +27 -0
  16. package/dist/assets/{_...all_-Dkuyof0N.js → _...all_-B68s9hsC.js} +1 -1
  17. package/dist/assets/{_...all_-CWEYFf-1.js → _...all_-mCyltngd.js} +2 -2
  18. package/dist/assets/{_name_-DkCB2ylA.js → _name_-CjfqvPfr.js} +1 -1
  19. package/dist/assets/{about-Bei-zdpH.js → about-C-cjF9jO.js} +2 -2
  20. package/dist/assets/board-DiVdPUVH.js +1 -0
  21. package/dist/assets/{board-layout-K8sw8NsP.js → board-layout-Ddotwr4-.js} +1 -1
  22. package/dist/assets/{constant-2MSuUQN9.js → constant-CGob-gWE.js} +1 -1
  23. package/dist/assets/{default-1E2MOw97.js → default-BV_KbRwY.js} +1 -1
  24. package/dist/assets/{headless-Sa2QJJjX.js → headless-Cxtb9X1L.js} +1 -1
  25. package/dist/assets/{home-CtJUZVCZ.js → home-B31uh5iL.js} +1 -1
  26. package/dist/assets/index-BPqC3WJ9.js +198 -0
  27. package/dist/assets/{index-BNZRV8LR.js → index-BfIZBk7d.js} +1 -1
  28. package/dist/assets/{index-DIl_xwmv.js → index-CAgdB_-E.js} +1 -1
  29. package/dist/assets/{index-D0wLFbYO.css → index-CD2Bzcv5.css} +1 -1
  30. package/dist/assets/{index-BZMvrIyG.css → index-CTdHCzhg.css} +3 -3
  31. package/dist/assets/{index-B15dCUpg.js → index-Cy4xbqNj.js} +1 -1
  32. package/dist/assets/index-DPh0sBpA.js +1 -0
  33. package/dist/assets/{index-DXMw63yv.js → index-DmBTAYlT.js} +1 -1
  34. package/dist/assets/{index-CPJc3gEW.js → index-d753Ov31.js} +2 -2
  35. package/dist/assets/index-hXLRQaA1.js +1 -0
  36. package/dist/assets/index-kacUN_O7.js +67 -0
  37. package/dist/assets/{index-CkWanoDO.css → index-kywOXmCz.css} +1 -1
  38. package/dist/assets/{index-layout-D7MYCKsY.js → index-layout-BaQrY3iI.js} +1 -1
  39. package/dist/assets/pagination-ClXw8clh.js +3 -0
  40. package/dist/assets/query-Chl7pD8x.js +1 -0
  41. package/dist/assets/{test-C0jX_snI.js → test-DKJ99bxw.js} +1 -1
  42. package/dist/assets/{use-vmodel-CT985YGh.js → use-vmodel-DBwTGXRm.js} +1 -1
  43. package/dist/assets/user-DeAJw0vU.js +1 -0
  44. package/dist/assets/virtual_pwa-register-CsMcElxS.js +1 -0
  45. package/dist/assets/workbox-window.prod.es5-CwtvwXb3.js +2 -0
  46. package/dist/index.html +1 -1
  47. package/dist/sw.js +1 -1
  48. package/package.json +47 -47
  49. package/src/auto-imports.d.ts +7 -1
  50. package/src/components/Balloon.vue +1 -1
  51. package/src/components/Resolver.vue +1 -1
  52. package/src/components/board/Board.vue +11 -1
  53. package/src/components/board/Progress.vue +1 -1
  54. package/src/typed-router.d.ts +68 -0
  55. package/vite.config.ts +11 -11
  56. package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-CmkJalmb.js +0 -1
  57. package/dist/assets/Board-Dum-tExZ.js +0 -1
  58. package/dist/assets/ContestStateBadge-hRbbyZ5a.js +0 -1
  59. package/dist/assets/Countdown-DAdiIlkO.js +0 -1
  60. package/dist/assets/Footer.vue_vue_type_script_setup_true_lang-CZWhuawj.js +0 -1
  61. package/dist/assets/NavBar-o7LroIec.js +0 -1
  62. package/dist/assets/Resolver-DQAiggp3.js +0 -25
  63. package/dist/assets/RightArrowIcon-DcfHXHHq.js +0 -1
  64. package/dist/assets/Tooltip.vue_vue_type_script_setup_true_lang-OTaxJAgs.js +0 -27
  65. package/dist/assets/board-DYwZDF6d.js +0 -1
  66. package/dist/assets/index-6jZiIup0.js +0 -1
  67. package/dist/assets/index-BYh7ktqe.js +0 -198
  68. package/dist/assets/index-Biv_orBr.js +0 -1
  69. package/dist/assets/index-CYsJ2gG-.js +0 -67
  70. package/dist/assets/pagination-D1pCU19r.js +0 -3
  71. package/dist/assets/query-DfOnN8jV.js +0 -1
  72. package/dist/assets/user-bpzU-F74.js +0 -1
  73. package/dist/assets/virtual_pwa-register-C3KS-ZjO.js +0 -1
  74. package/dist/assets/workbox-window.prod.es5-B9K5rw8f.js +0 -2
@@ -0,0 +1 @@
1
+ import{a4 as V,a5 as j,a6 as d,a7 as D,a8 as w,a9 as z,aa as k,ab as M,ac as H,ad as T,ae as K,af as G,ag as L,ah as Y,ai as J,aj as X,ak as Z,f as W,al as q,am as tt,an as et,C as Q,ao as $,ap as st,aq as A,ar as it,as as nt,at as rt}from"./index-kacUN_O7.js";import{a as at}from"./constant-CGob-gWE.js";import{u as B}from"./index-DmBTAYlT.js";var ot=class extends V{constructor(t,e){super(),this.options=e,this.#s=t,this.#n=null,this.#i=j(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#a;#l;#i;#n;#b;#c;#f;#o;#h;#r;#d=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),_(this.#t,this.options)?this.#u():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return U(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return U(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#g(),this.#O(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,i=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof d(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#w(),this.#t.setOptions(this.options),e._defaulted&&!D(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const s=this.hasListeners();s&&N(this.#t,i,this.options,e)&&this.#u(),this.updateResult(),s&&(this.#t!==i||d(this.options.enabled,this.#t)!==d(e.enabled,this.#t)||w(this.options.staleTime,this.#t)!==w(e.staleTime,this.#t))&&this.#v();const n=this.#m();s&&(this.#t!==i||d(this.options.enabled,this.#t)!==d(e.enabled,this.#t)||n!==this.#r)&&this.#R(n)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),i=this.createResult(e,t);return ut(this,i)&&(this.#e=i,this.#l=this.options,this.#a=this.#t.state),i}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(i,s)=>(this.trackProp(s),e?.(s),s==="promise"&&!this.options.experimental_prefetchInRender&&this.#i.status==="pending"&&this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled")),Reflect.get(i,s))})}trackProp(t){this.#d.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),i=this.#s.getQueryCache().build(this.#s,e);return i.fetch().then(()=>this.createResult(i,e))}fetch(t){return this.#u({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#u(t){this.#w();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(z)),e}#v(){this.#g();const t=w(this.options.staleTime,this.#t);if(k||this.#e.isStale||!M(t))return;const i=H(this.#e.dataUpdatedAt,t)+1;this.#o=T.setTimeout(()=>{this.#e.isStale||this.updateResult()},i)}#m(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#R(t){this.#O(),this.#r=t,!(k||d(this.options.enabled,this.#t)===!1||!M(this.#r)||this.#r===0)&&(this.#h=T.setInterval(()=>{(this.options.refetchIntervalInBackground||K.isFocused())&&this.#u()},this.#r))}#y(){this.#v(),this.#R(this.#m())}#g(){this.#o&&(T.clearTimeout(this.#o),this.#o=void 0)}#O(){this.#h&&(T.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const i=this.#t,s=this.options,n=this.#e,a=this.#a,u=this.#l,v=t!==i?t.state:this.#p,{state:g}=t;let r={...g},S=!1,h;if(e._optimisticResults){const c=this.hasListeners(),C=!c&&_(t,e),y=c&&N(t,i,e,s);(C||y)&&(r={...r,...G(g.data,t.options)}),e._optimisticResults==="isRestoring"&&(r.fetchStatus="idle")}let{error:o,errorUpdatedAt:b,status:f}=r;h=r.data;let O=!1;if(e.placeholderData!==void 0&&h===void 0&&f==="pending"){let c;n?.isPlaceholderData&&e.placeholderData===u?.placeholderData?(c=n.data,O=!0):c=typeof e.placeholderData=="function"?e.placeholderData(this.#f?.state.data,this.#f):e.placeholderData,c!==void 0&&(f="success",h=L(n?.data,c,e),S=!0)}if(e.select&&h!==void 0&&!O)if(n&&h===a?.data&&e.select===this.#b)h=this.#c;else try{this.#b=e.select,h=e.select(h),h=L(n?.data,h,e),this.#c=h,this.#n=null}catch(c){this.#n=c}this.#n&&(o=this.#n,h=this.#c,b=Date.now(),f="error");const m=r.fetchStatus==="fetching",R=f==="pending",E=f==="error",P=R&&m,x=h!==void 0,p={status:f,fetchStatus:r.fetchStatus,isPending:R,isSuccess:f==="success",isError:E,isInitialLoading:P,isLoading:P,data:h,dataUpdatedAt:r.dataUpdatedAt,error:o,errorUpdatedAt:b,failureCount:r.fetchFailureCount,failureReason:r.fetchFailureReason,errorUpdateCount:r.errorUpdateCount,isFetched:r.dataUpdateCount>0||r.errorUpdateCount>0,isFetchedAfterMount:r.dataUpdateCount>v.dataUpdateCount||r.errorUpdateCount>v.errorUpdateCount,isFetching:m,isRefetching:m&&!R,isLoadingError:E&&!x,isPaused:r.fetchStatus==="paused",isPlaceholderData:S,isRefetchError:E&&x,isStale:F(t,e),refetch:this.refetch,promise:this.#i,isEnabled:d(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const c=I=>{p.status==="error"?I.reject(p.error):p.data!==void 0&&I.resolve(p.data)},C=()=>{const I=this.#i=p.promise=j();c(I)},y=this.#i;switch(y.status){case"pending":t.queryHash===i.queryHash&&c(y);break;case"fulfilled":(p.status==="error"||p.data!==y.value)&&C();break;case"rejected":(p.status!=="error"||p.error!==y.reason)&&C();break}}return p}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#l=this.options,this.#a.data!==void 0&&(this.#f=this.#t),D(e,t))return;this.#e=e;const i=()=>{if(!t)return!0;const{notifyOnChangeProps:s}=this.options,n=typeof s=="function"?s():s;if(n==="all"||!n&&!this.#d.size)return!0;const a=new Set(n??this.#d);return this.options.throwOnError&&a.add("error"),Object.keys(this.#e).some(u=>{const l=u;return this.#e[l]!==t[l]&&a.has(l)})};this.#S({listeners:i()})}#w(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#S(t){Y.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function ht(t,e){return d(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function _(t,e){return ht(t,e)||t.state.data!==void 0&&U(t,e,e.refetchOnMount)}function U(t,e,i){if(d(e.enabled,t)!==!1&&w(e.staleTime,t)!=="static"){const s=typeof i=="function"?i(t):i;return s==="always"||s!==!1&&F(t,e)}return!1}function N(t,e,i,s){return(t!==e||d(s.enabled,t)===!1)&&(!i.suspense||t.state.status!=="error")&&F(t,i)}function F(t,e){return d(e.enabled,t)!==!1&&t.isStaleByTime(w(e.staleTime,t))}function ut(t,e){return!D(t.getCurrentResult(),e)}function lt(t=""){if(!J())throw new Error("vue-query hooks can only be used inside setup() function or functions that support injection context.");const e=Z(t),i=X(e);if(!i)throw new Error("No 'queryClient' found in Vue context, use 'VueQueryPlugin' to properly initialize the library.");return i}function ct(t,e,i){const s=lt(),n=W(()=>{const o=q(e);typeof o.enabled=="function"&&(o.enabled=o.enabled());const b=s.defaultQueryOptions(o);return b._optimisticResults=s.isRestoring?.value?"isRestoring":"optimistic",b}),a=new t(s,n.value),u=n.value.shallow?tt(a.getCurrentResult()):et(a.getCurrentResult());let l=()=>{};s.isRestoring&&Q(s.isRestoring,o=>{o||(l(),l=a.subscribe(b=>{$(u,b)}))},{immediate:!0});const v=()=>{a.setOptions(n.value),$(u,a.getCurrentResult())};Q(n,v),st(()=>{l()});const g=(...o)=>(v(),u.refetch(...o)),r=()=>new Promise((o,b)=>{let f=()=>{};const O=()=>{if(n.value.enabled!==!1){a.setOptions(n.value);const m=a.getOptimisticResult(n.value);m.isStale?(f(),a.fetchOptimistic(n.value).then(o,R=>{A(n.value.throwOnError,[R,a.getCurrentQuery()])?b(R):o(a.getCurrentResult())})):(f(),o(m))}};O(),f=Q(n,O)});Q(()=>u.error,o=>{if(u.isError&&!u.isFetching&&A(n.value.throwOnError,[o,a.getCurrentQuery()]))throw o});const S=n.value.shallow?it(u):nt(u),h=rt(S);for(const o in u)typeof u[o]=="function"&&(h[o]=u[o]);return h.suspense=r,h.refetch=g,h}function ft(t,e){return ct(ot,t)}const dt=3;async function pt(t,e){const i=t.startsWith("/")?t.slice(1):t;let s=`${window.DATA_HOST}${i}`;const n={allInOne:!1};if(s.includes("#")){const r=new URLSearchParams(s.split("#")[1]);n.allInOne=r.get("allInOne")==="true",s=s.split("#")[0]}t.startsWith("http")&&(s=t),s.endsWith("/")&&(s=s.slice(0,-1));const a=r=>r.includes("?")?`${r}&t=${e??0}`:`${r}?t=${e??0}`,u=n.allInOne?[await fetch(a(s))]:[await fetch(a(`${s}/config.json`)),await fetch(a(`${s}/team.json`)),await fetch(a(`${s}/run.json`))],{status:l,statusText:v}=u[0];if(l>=300||l<200)throw new Error(`fetch data failed. [status=${l}] [statusText=${v}]`);return Promise.all(u.map(r=>r.json())).then(r=>n.allInOne?r[0]:{contest:r[0],teams:r[1],submissions:r[2]})}function yt(t,e,i=!1){let s=3e4,n=s;const a=W(()=>Math.floor(e.value.getTime()/1e3/10));return at.value==="I18N"&&(s=10*1e3,n=s),i&&(s=Number.POSITIVE_INFINITY,n=!1),ft({queryKey:[t,a.value],queryFn:()=>pt(t,a.value),retry:dt,staleTime:s,refetchInterval:n})}function gt(){return B("data-source","",{transform:String})}function Ot(){return B("battle-of-giants","",{transform:String})}export{Ot as a,gt as g,yt as u};
@@ -1 +1 @@
1
- import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-DsqG2YZ8.js";import{d as c,p as f,H as _,u as b,c as h,o as v,b as e,k as a,h as s,a as x,O as y,z as g}from"./index-CYsJ2gG-.js";import{u as k}from"./user-bpzU-F74.js";import{b as l}from"./route-block-B_A1xBdJ.js";import"./use-vmodel-CT985YGh.js";const V={flex:"","flex-col":"","justify-center":"","items-center":""},w={"text-sm":"","opacity-75":""},I={"w-48":""},B={class:"hidden",for:"input"},C=["disabled"],N=c({name:"IndexPage",__name:"test",setup(R){const i=k(),o=f(i.savedName),u=_();function r(){o.value&&u.push(`/hi/${encodeURIComponent(o.value)}`)}const{t:n}=b();return(U,t)=>{const d=p;return v(),h("div",V,[t[1]||(t[1]=e("div",{"text-4xl":""},[e("div",{"i-carbon-campsite":""})],-1)),t[2]||(t[2]=e("p",null,[e("a",{rel:"noreferrer",href:"https://github.com/antfu/vitesse",target:"_blank"}," Vitesse ")],-1)),e("p",null,[e("em",w,a(s(n)("intro.desc")),1)]),t[3]||(t[3]=e("div",{"py-4":""},null,-1)),e("div",I,[x(d,{modelValue:s(o),"onUpdate:modelValue":t[0]||(t[0]=m=>g(o)?o.value=m:null),placeholder:s(n)("intro.whats-your-name"),autocomplete:"false",onKeydown:y(r,["enter"])},null,8,["modelValue","placeholder"]),e("label",B,a(s(n)("intro.whats-your-name")),1)]),e("div",null,[e("button",{"m-3":"","text-sm":"",btn:"",disabled:!s(o),onClick:r},a(s(n)("button.go")),9,C)])])}}});typeof l=="function"&&l(N);export{N as default};
1
+ import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-CX1T1Yaw.js";import{d as c,m as f,H as _,u as b,c as h,o as v,b as e,k as a,h as s,a as x,O as y,z as g}from"./index-kacUN_O7.js";import{u as k}from"./user-DeAJw0vU.js";import{b as l}from"./route-block-B_A1xBdJ.js";import"./use-vmodel-DBwTGXRm.js";const V={flex:"","flex-col":"","justify-center":"","items-center":""},w={"text-sm":"","opacity-75":""},I={"w-48":""},B={class:"hidden",for:"input"},C=["disabled"],N=c({name:"IndexPage",__name:"test",setup(R){const i=k(),o=f(i.savedName),u=_();function r(){o.value&&u.push(`/hi/${encodeURIComponent(o.value)}`)}const{t:n}=b();return(U,t)=>{const d=p;return v(),h("div",V,[t[1]||(t[1]=e("div",{"text-4xl":""},[e("div",{"i-carbon-campsite":""})],-1)),t[2]||(t[2]=e("p",null,[e("a",{rel:"noreferrer",href:"https://github.com/antfu/vitesse",target:"_blank"}," Vitesse ")],-1)),e("p",null,[e("em",w,a(s(n)("intro.desc")),1)]),t[3]||(t[3]=e("div",{"py-4":""},null,-1)),e("div",I,[x(d,{modelValue:s(o),"onUpdate:modelValue":t[0]||(t[0]=m=>g(o)?o.value=m:null),placeholder:s(n)("intro.whats-your-name"),autocomplete:"false",onKeydown:y(r,["enter"])},null,8,["modelValue","placeholder"]),e("label",B,a(s(n)("intro.whats-your-name")),1)]),e("div",null,[e("button",{"m-3":"","text-sm":"",btn:"",disabled:!s(o),onClick:r},a(s(n)("button.go")),9,C)])])}}});typeof l=="function"&&l(N);export{N as default};
@@ -1 +1 @@
1
- import{aw as c,ax as r}from"./index-CYsJ2gG-.js";const d=(...p)=>{const s=c().proxy.$props,t=Object.create(null);for(const e of p)if(typeof e=="string")t[e]=r(s,e,void 0,{eventName:`update:${e}`,passive:!0});else{const[o,n=o,a=`update:${o}`,u={}]=e;t[o]=r(s,n,void 0,{eventName:a,passive:!0,...u})}return t};export{d as _};
1
+ import{aA as c,aB as r}from"./index-kacUN_O7.js";const d=(...p)=>{const s=c().proxy.$props,t=Object.create(null);for(const e of p)if(typeof e=="string")t[e]=r(s,e,void 0,{eventName:`update:${e}`,passive:!0});else{const[o,n=o,a=`update:${o}`,u={}]=e;t[o]=r(s,n,void 0,{eventName:a,passive:!0,...u})}return t};export{d as _};
@@ -0,0 +1 @@
1
+ import{ay as n,m as r,f as t}from"./index-kacUN_O7.js";const f=n("user",()=>{const e=r(""),s=r(new Set),o=t(()=>Array.from(s.value)),u=t(()=>o.value.filter(a=>a!==e.value));function m(a){e.value&&s.value.add(e.value),e.value=a}return{setNewName:m,otherNames:u,savedName:e}});export{f as u};
@@ -0,0 +1 @@
1
+ import{_ as f}from"./index-kacUN_O7.js";function p(n={}){const{immediate:s=!1,onNeedRefresh:u,onOfflineReady:o,onRegistered:d,onRegisteredSW:r,onRegisterError:i}=n;let t,a;const c=async(e=!0)=>{await a};async function l(){if("serviceWorker"in navigator){if(t=await f(async()=>{const{Workbox:e}=await import("./workbox-window.prod.es5-CwtvwXb3.js");return{Workbox:e}},[],import.meta.url).then(({Workbox:e})=>new e("/sw.js",{scope:"/",type:"classic"})).catch(e=>{i?.(e)}),!t)return;t.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&window.location.reload()}),t.addEventListener("installed",e=>{e.isUpdate||o?.()}),t.register({immediate:s}).then(e=>{r?r("/sw.js",e):d?.(e)}).catch(e=>{i?.(e)})}}return a=l(),c}export{p as registerSW};
@@ -0,0 +1,2 @@
1
+ try{self["workbox:window:7.2.0"]&&_()}catch{}function E(n,r){return new Promise((function(t){var i=new MessageChannel;i.port1.onmessage=function(c){t(c.data)},n.postMessage(r,[i.port2])}))}function W(n){var r=(function(t,i){if(typeof t!="object"||!t)return t;var c=t[Symbol.toPrimitive];if(c!==void 0){var h=c.call(t,i);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)})(n,"string");return typeof r=="symbol"?r:r+""}function k(n,r){for(var t=0;t<r.length;t++){var i=r[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,W(i.key),i)}}function P(n,r){return P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t},P(n,r)}function j(n,r){(r==null||r>n.length)&&(r=n.length);for(var t=0,i=new Array(r);t<r;t++)i[t]=n[t];return i}function L(n,r){var t=typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t)return(t=t.call(n)).next.bind(t);if(Array.isArray(n)||(t=(function(c,h){if(c){if(typeof c=="string")return j(c,h);var l=Object.prototype.toString.call(c).slice(8,-1);return l==="Object"&&c.constructor&&(l=c.constructor.name),l==="Map"||l==="Set"?Array.from(c):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?j(c,h):void 0}})(n))||r){t&&(n=t);var i=0;return function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}try{self["workbox:core:7.2.0"]&&_()}catch{}var w=function(){var n=this;this.promise=new Promise((function(r,t){n.resolve=r,n.reject=t}))};function b(n,r){var t=location.href;return new URL(n,t).href===new URL(r,t).href}var g=function(n,r){this.type=n,Object.assign(this,r)};function d(n,r,t){return t?r?r(n):n:(n&&n.then||(n=Promise.resolve(n)),r?n.then(r):n)}function O(){}var x={type:"SKIP_WAITING"};function S(n,r){return n&&n.then?n.then(O):Promise.resolve()}var U=(function(n){function r(v,u){var e,o;return u===void 0&&(u={}),(e=n.call(this)||this).nn={},e.tn=0,e.rn=new w,e.en=new w,e.on=new w,e.un=0,e.an=new Set,e.cn=function(){var s=e.fn,a=s.installing;e.tn>0||!b(a.scriptURL,e.sn.toString())||performance.now()>e.un+6e4?(e.vn=a,s.removeEventListener("updatefound",e.cn)):(e.hn=a,e.an.add(a),e.rn.resolve(a)),++e.tn,a.addEventListener("statechange",e.ln)},e.ln=function(s){var a=e.fn,f=s.target,p=f.state,m=f===e.vn,y={sw:f,isExternal:m,originalEvent:s};!m&&e.mn&&(y.isUpdate=!0),e.dispatchEvent(new g(p,y)),p==="installed"?e.wn=self.setTimeout((function(){p==="installed"&&a.waiting===f&&e.dispatchEvent(new g("waiting",y))}),200):p==="activating"&&(clearTimeout(e.wn),m||e.en.resolve(f))},e.yn=function(s){var a=e.hn,f=a!==navigator.serviceWorker.controller;e.dispatchEvent(new g("controlling",{isExternal:f,originalEvent:s,sw:a,isUpdate:e.mn})),f||e.on.resolve(a)},e.gn=(o=function(s){var a=s.data,f=s.ports,p=s.source;return d(e.getSW(),(function(){e.an.has(p)&&e.dispatchEvent(new g("message",{data:a,originalEvent:s,ports:f,sw:p}))}))},function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];try{return Promise.resolve(o.apply(this,s))}catch(f){return Promise.reject(f)}}),e.sn=v,e.nn=u,navigator.serviceWorker.addEventListener("message",e.gn),e}var t,i;i=n,(t=r).prototype=Object.create(i.prototype),t.prototype.constructor=t,P(t,i);var c,h,l=r.prototype;return l.register=function(v){var u=(v===void 0?{}:v).immediate,e=u!==void 0&&u;try{var o=this;return d((function(s,a){var f=s();return f&&f.then?f.then(a):a(f)})((function(){if(!e&&document.readyState!=="complete")return S(new Promise((function(s){return window.addEventListener("load",s)})))}),(function(){return o.mn=!!navigator.serviceWorker.controller,o.dn=o.pn(),d(o.bn(),(function(s){o.fn=s,o.dn&&(o.hn=o.dn,o.en.resolve(o.dn),o.on.resolve(o.dn),o.dn.addEventListener("statechange",o.ln,{once:!0}));var a=o.fn.waiting;return a&&b(a.scriptURL,o.sn.toString())&&(o.hn=a,Promise.resolve().then((function(){o.dispatchEvent(new g("waiting",{sw:a,wasWaitingBeforeRegister:!0}))})).then((function(){}))),o.hn&&(o.rn.resolve(o.hn),o.an.add(o.hn)),o.fn.addEventListener("updatefound",o.cn),navigator.serviceWorker.addEventListener("controllerchange",o.yn),o.fn}))})))}catch(s){return Promise.reject(s)}},l.update=function(){try{return this.fn?d(S(this.fn.update())):d()}catch(v){return Promise.reject(v)}},l.getSW=function(){return this.hn!==void 0?Promise.resolve(this.hn):this.rn.promise},l.messageSW=function(v){try{return d(this.getSW(),(function(u){return E(u,v)}))}catch(u){return Promise.reject(u)}},l.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&E(this.fn.waiting,x)},l.pn=function(){var v=navigator.serviceWorker.controller;return v&&b(v.scriptURL,this.sn.toString())?v:void 0},l.bn=function(){try{var v=this;return d((function(u,e){try{var o=u()}catch(s){return e(s)}return o&&o.then?o.then(void 0,e):o})((function(){return d(navigator.serviceWorker.register(v.sn,v.nn),(function(u){return v.un=performance.now(),u}))}),(function(u){throw u})))}catch(u){return Promise.reject(u)}},c=r,(h=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}])&&k(c.prototype,h),Object.defineProperty(c,"prototype",{writable:!1}),c})((function(){function n(){this.Pn=new Map}var r=n.prototype;return r.addEventListener=function(t,i){this.jn(t).add(i)},r.removeEventListener=function(t,i){this.jn(t).delete(i)},r.dispatchEvent=function(t){t.target=this;for(var i,c=L(this.jn(t.type));!(i=c()).done;)(0,i.value)(t)},r.jn=function(t){return this.Pn.has(t)||this.Pn.set(t,new Set),this.Pn.get(t)},n})());export{U as Workbox,g as WorkboxEvent,E as messageSW};
package/dist/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="UTF-8"/><link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.2/dist/balloon-192x192.png"/><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.2/dist/balloon-512x512.svg" color="#00aba9"/><meta name="msapplication-TileColor" content="#00aba9"/><script>function normalizePath(_){for(;_.endsWith("/");)_=_.slice(0,-1);return`${_}/`}{let _="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.2/dist";_=normalizePath(_),window.CDN_HOST=_,window.__toAssetUrl=_=>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"}try{let _=__DEFAULT_LANG__;window.DEFAULT_LANG=_}catch(_){window.DEFAULT_LANG="en"}</script><script>!function(){localStorage.getItem("vueuse-color-scheme")||localStorage.setItem("vueuse-color-scheme","light");const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,o=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===o||e&&"light"!==o)&&document.documentElement.classList.toggle("dark",!0)}()</script><script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.2/dist/assets/index-CYsJ2gG-.js"></script><link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.2/dist/assets/index-BZMvrIyG.css"><link rel="manifest" href="/manifest.webmanifest"></head><body class="font-sans"><div id="app"></div><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");e.src=umamiJSUrl,e.defer=!0,e.setAttribute("data-website-id",umamiWebsiteId);var t=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");e.src=plausibleJSUrl,e.defer=!0,e.setAttribute("data-domain",plausibleDataDomain);var t=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");e.src=`https://hm.baidu.com/hm.js?${baiduAnalyticsId}`;var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var googleAnalyticsId=__GOOGLE_ANALYTICS_ID__;!function(){var e,t,a,r,c,n;location.port||(e=window,t=document,a="script",r="ga",e.GoogleAnalyticsObject=r,e[r]=e[r]||function(){(e[r].q=e[r].q||[]).push(arguments)},e[r].l=1*new Date,c=t.createElement(a),n=t.getElementsByTagName(a)[0],c.async=1,c.src="//www.google-analytics.com/analytics.js",n.parentNode.insertBefore(c,n),ga("create",`${googleAnalyticsId}`,"auto"),ga("send","pageview"))}()}catch(e){}</script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"/><link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.57.0/dist/balloon-192x192.png"/><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.57.0/dist/balloon-512x512.svg" color="#00aba9"/><meta name="msapplication-TileColor" content="#00aba9"/><script>function normalizePath(_){for(;_.endsWith("/");)_=_.slice(0,-1);return`${_}/`}{let _="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.57.0/dist";_=normalizePath(_),window.CDN_HOST=_,window.__toAssetUrl=_=>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"}try{let _=__DEFAULT_LANG__;window.DEFAULT_LANG=_}catch(_){window.DEFAULT_LANG="en"}</script><script>!function(){localStorage.getItem("vueuse-color-scheme")||localStorage.setItem("vueuse-color-scheme","light");const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,o=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===o||e&&"light"!==o)&&document.documentElement.classList.toggle("dark",!0)}()</script><script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.57.0/dist/assets/index-kacUN_O7.js"></script><link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.57.0/dist/assets/index-CTdHCzhg.css"><link rel="manifest" href="/manifest.webmanifest"></head><body class="font-sans"><div id="app"></div><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");e.src=umamiJSUrl,e.defer=!0,e.setAttribute("data-website-id",umamiWebsiteId);var t=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");e.src=plausibleJSUrl,e.defer=!0,e.setAttribute("data-domain",plausibleDataDomain);var t=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");e.src=`https://hm.baidu.com/hm.js?${baiduAnalyticsId}`;var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var googleAnalyticsId=__GOOGLE_ANALYTICS_ID__;!function(){var e,t,a,r,c,n;location.port||(e=window,t=document,a="script",r="ga",e.GoogleAnalyticsObject=r,e[r]=e[r]||function(){(e[r].q=e[r].q||[]).push(arguments)},e[r].l=1*new Date,c=t.createElement(a),n=t.getElementsByTagName(a)[0],c.async=1,c.src="//www.google-analytics.com/analytics.js",n.parentNode.insertBefore(c,n),ga("create",`${googleAnalyticsId}`,"auto"),ga("send","pageview"))}()}catch(e){}</script></body></html>
package/dist/sw.js CHANGED
@@ -1 +1 @@
1
- if(!self.define){let s,e={};const l=(l,n)=>(l=new URL(l+".js",n).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(n,r)=>{const i=s||("document"in self?document.currentScript.src:"")||location.href;if(e[i])return;let u={};const t=s=>l(s,i),o={module:{uri:i},exports:u,require:t};e[i]=Promise.all(n.map((s=>o[s]||t(s)))).then((s=>(r(...s),u)))}}define(["./workbox-7ee6f867"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/_..-5I0UWqRG.css",revision:null},{url:"assets/_...all_-CWEYFf-1.js",revision:null},{url:"assets/_...all_-Dkuyof0N.js",revision:null},{url:"assets/_name_-DkCB2ylA.js",revision:null},{url:"assets/_plugin-vue_export-helper-DlAUqK2U.js",revision:null},{url:"assets/about-Bei-zdpH.js",revision:null},{url:"assets/Balloon.vue_vue_type_script_setup_true_lang-CmkJalmb.js",revision:null},{url:"assets/Board-DI2_Xyh3.css",revision:null},{url:"assets/Board-Dum-tExZ.js",revision:null},{url:"assets/board-DYwZDF6d.js",revision:null},{url:"assets/board-layout-K8sw8NsP.js",revision:null},{url:"assets/constant-2MSuUQN9.js",revision:null},{url:"assets/ContestStateBadge-DawlTsHs.css",revision:null},{url:"assets/ContestStateBadge-hRbbyZ5a.js",revision:null},{url:"assets/Countdown-CGwMuG9S.css",revision:null},{url:"assets/Countdown-DAdiIlkO.js",revision:null},{url:"assets/DataSourceInput.vue_vue_type_script_setup_true_lang-J0bb2eXG.js",revision:null},{url:"assets/default-1E2MOw97.js",revision:null},{url:"assets/en-Bjc9Zdq9.js",revision:null},{url:"assets/Footer.vue_vue_type_script_setup_true_lang-CZWhuawj.js",revision:null},{url:"assets/headless-Sa2QJJjX.js",revision:null},{url:"assets/home-CtJUZVCZ.js",revision:null},{url:"assets/index-6jZiIup0.js",revision:null},{url:"assets/index-B15dCUpg.js",revision:null},{url:"assets/index-Biv_orBr.js",revision:null},{url:"assets/index-BNZRV8LR.js",revision:null},{url:"assets/index-BYh7ktqe.js",revision:null},{url:"assets/index-BZMvrIyG.css",revision:null},{url:"assets/index-CkWanoDO.css",revision:null},{url:"assets/index-CPJc3gEW.js",revision:null},{url:"assets/index-CYsJ2gG-.js",revision:null},{url:"assets/index-D0wLFbYO.css",revision:null},{url:"assets/index-DIl_xwmv.js",revision:null},{url:"assets/index-DXMw63yv.js",revision:null},{url:"assets/index-layout-D7MYCKsY.js",revision:null},{url:"assets/NavBar-C0cqpBnK.css",revision:null},{url:"assets/NavBar-o7LroIec.js",revision:null},{url:"assets/pagination-D1pCU19r.js",revision:null},{url:"assets/query-DfOnN8jV.js",revision:null},{url:"assets/Resolver-B6m5f_LD.css",revision:null},{url:"assets/Resolver-DQAiggp3.js",revision:null},{url:"assets/RightArrowIcon-DcfHXHHq.js",revision:null},{url:"assets/route-block-B_A1xBdJ.js",revision:null},{url:"assets/test-C0jX_snI.js",revision:null},{url:"assets/TheInput.vue_vue_type_script_setup_true_lang-DsqG2YZ8.js",revision:null},{url:"assets/Tooltip-DzyPDwbo.css",revision:null},{url:"assets/Tooltip.vue_vue_type_script_setup_true_lang-OTaxJAgs.js",revision:null},{url:"assets/use-vmodel-CT985YGh.js",revision:null},{url:"assets/user-bpzU-F74.js",revision:null},{url:"assets/virtual_pwa-register-C3KS-ZjO.js",revision:null},{url:"assets/workbox-window.prod.es5-B9K5rw8f.js",revision:null},{url:"assets/zh-CN-BgAN9IOl.js",revision:null},{url:"index.html",revision:"635a4b3e34730b1b6ef21d02fe381f7a"},{url:"balloon2-192x192.png",revision:"c857ae6d9dfae118ab4397d4358422bd"},{url:"balloon2-512x512.png",revision:"065594f4f743fe3884793c03d3fe7d9e"},{url:"favicon.svg",revision:"5a744f4ccbb122d4a0575be779ddcd43"},{url:"safari-pinned-tab.svg",revision:"5eaf74d1c43d30e0af743b68a3f48504"},{url:"manifest.webmanifest",revision:"e3e2be135eb58ab7933fee8cff2fd3b4"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
1
+ if(!self.define){let s,e={};const l=(l,n)=>(l=new URL(l+".js",n).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(n,i)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let u={};const t=s=>l(s,r),o={module:{uri:r},exports:u,require:t};e[r]=Promise.all(n.map((s=>o[s]||t(s)))).then((s=>(i(...s),u)))}}define(["./workbox-7ee6f867"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/_..-5I0UWqRG.css",revision:null},{url:"assets/_...all_-B68s9hsC.js",revision:null},{url:"assets/_...all_-mCyltngd.js",revision:null},{url:"assets/_name_-CjfqvPfr.js",revision:null},{url:"assets/_plugin-vue_export-helper-DlAUqK2U.js",revision:null},{url:"assets/about-C-cjF9jO.js",revision:null},{url:"assets/Balloon.vue_vue_type_script_setup_true_lang-BZ_MJL62.js",revision:null},{url:"assets/board-DiVdPUVH.js",revision:null},{url:"assets/Board-DnZBiplC.css",revision:null},{url:"assets/board-layout-Ddotwr4-.js",revision:null},{url:"assets/Board-M3nEiC5v.js",revision:null},{url:"assets/constant-CGob-gWE.js",revision:null},{url:"assets/ContestStateBadge-BqhxSQpe.css",revision:null},{url:"assets/ContestStateBadge-IsAa8PiB.js",revision:null},{url:"assets/Countdown-BwX0pjKA.js",revision:null},{url:"assets/Countdown-CGwMuG9S.css",revision:null},{url:"assets/DataSourceInput.vue_vue_type_script_setup_true_lang-CwVxRE-c.js",revision:null},{url:"assets/default-BV_KbRwY.js",revision:null},{url:"assets/en-Bjc9Zdq9.js",revision:null},{url:"assets/Footer.vue_vue_type_script_setup_true_lang-MkbrUjXL.js",revision:null},{url:"assets/headless-Cxtb9X1L.js",revision:null},{url:"assets/home-B31uh5iL.js",revision:null},{url:"assets/index-BfIZBk7d.js",revision:null},{url:"assets/index-BPqC3WJ9.js",revision:null},{url:"assets/index-CAgdB_-E.js",revision:null},{url:"assets/index-CD2Bzcv5.css",revision:null},{url:"assets/index-CTdHCzhg.css",revision:null},{url:"assets/index-Cy4xbqNj.js",revision:null},{url:"assets/index-d753Ov31.js",revision:null},{url:"assets/index-DmBTAYlT.js",revision:null},{url:"assets/index-DPh0sBpA.js",revision:null},{url:"assets/index-hXLRQaA1.js",revision:null},{url:"assets/index-kacUN_O7.js",revision:null},{url:"assets/index-kywOXmCz.css",revision:null},{url:"assets/index-layout-BaQrY3iI.js",revision:null},{url:"assets/NavBar-BmAanNCq.js",revision:null},{url:"assets/NavBar-C0cqpBnK.css",revision:null},{url:"assets/pagination-ClXw8clh.js",revision:null},{url:"assets/query-Chl7pD8x.js",revision:null},{url:"assets/Resolver-BTlxgfNF.css",revision:null},{url:"assets/Resolver-RnjyvoQY.js",revision:null},{url:"assets/RightArrowIcon-Dma7noLJ.js",revision:null},{url:"assets/route-block-B_A1xBdJ.js",revision:null},{url:"assets/test-DKJ99bxw.js",revision:null},{url:"assets/TheInput.vue_vue_type_script_setup_true_lang-CX1T1Yaw.js",revision:null},{url:"assets/Tooltip-DzyPDwbo.css",revision:null},{url:"assets/Tooltip.vue_vue_type_script_setup_true_lang-C4y8ve-6.js",revision:null},{url:"assets/use-vmodel-DBwTGXRm.js",revision:null},{url:"assets/user-DeAJw0vU.js",revision:null},{url:"assets/virtual_pwa-register-CsMcElxS.js",revision:null},{url:"assets/workbox-window.prod.es5-CwtvwXb3.js",revision:null},{url:"assets/zh-CN-BgAN9IOl.js",revision:null},{url:"index.html",revision:"930b90e4e2ccf19ea09280599239e4fb"},{url:"balloon2-192x192.png",revision:"c857ae6d9dfae118ab4397d4358422bd"},{url:"balloon2-512x512.png",revision:"065594f4f743fe3884793c03d3fe7d9e"},{url:"favicon.svg",revision:"5a744f4ccbb122d4a0575be779ddcd43"},{url:"safari-pinned-tab.svg",revision:"5eaf74d1c43d30e0af743b68a3f48504"},{url:"manifest.webmanifest",revision:"e3e2be135eb58ab7933fee8cff2fd3b4"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xcpcio/board-app",
3
3
  "type": "module",
4
- "version": "0.55.2",
4
+ "version": "0.57.0",
5
5
  "description": "XCPCIO Board App",
6
6
  "author": "Dup4 <lyuzhi.pan@gmail.com>",
7
7
  "license": "MIT",
@@ -27,79 +27,79 @@
27
27
  "src"
28
28
  ],
29
29
  "engines": {
30
- "node": ">=18"
30
+ "node": ">=20"
31
31
  },
32
32
  "dependencies": {
33
- "@tanstack/vue-query": "^5.73.0",
34
- "@unhead/vue": "^2.0.5",
35
- "@unocss/reset": "^66.1.0-beta.11",
36
- "@vueuse/components": "^13.1.0",
37
- "@vueuse/core": "^13.1.0",
33
+ "@tanstack/vue-query": "^5.87.1",
34
+ "@unhead/vue": "^2.0.14",
35
+ "@unocss/reset": "^66.5.0",
36
+ "@vueuse/components": "^13.9.0",
37
+ "@vueuse/core": "^13.9.0",
38
38
  "@vueuse/head": "^2.0.0",
39
- "@vueuse/router": "^13.1.0",
40
- "dayjs": "^1.11.13",
39
+ "@vueuse/router": "^13.9.0",
40
+ "dayjs": "^1.11.18",
41
41
  "file-saver": "^2.0.5",
42
42
  "floating-vue": "5.2.2",
43
43
  "flowbite": "^3.1.2",
44
- "gsap": "^3.12.7",
45
- "highcharts": "^12.2.0",
44
+ "gsap": "^3.13.0",
45
+ "highcharts": "^12.4.0",
46
46
  "highcharts-vue": "^2.0.1",
47
47
  "lodash": "^4.17.21",
48
48
  "nprogress": "^0.2.0",
49
- "pinia": "^3.0.2",
49
+ "pinia": "^3.0.3",
50
50
  "sleep-promise": "^9.1.0",
51
- "vue": "^3.5.13",
51
+ "vue": "^3.5.21",
52
52
  "vue-demi": "^0.14.10",
53
- "vue-i18n": "^11.1.3",
54
- "vue-router": "^4.5.0",
53
+ "vue-i18n": "^11.1.12",
54
+ "vue-router": "^4.5.1",
55
55
  "vue-search-select": "^3.2.0",
56
56
  "vue-toast-notification": "^3.1.3",
57
- "@xcpcio/core": "0.55.2",
58
- "@xcpcio/types": "0.55.2"
57
+ "@xcpcio/core": "0.57.0",
58
+ "@xcpcio/types": "0.57.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@iconify/json": "^2.2.326",
62
- "@intlify/unplugin-vue-i18n": "^6.0.5",
63
- "@shikijs/markdown-it": "^3.2.2",
61
+ "@iconify/json": "^2.2.381",
62
+ "@intlify/unplugin-vue-i18n": "^11.0.0",
63
+ "@shikijs/markdown-it": "^3.12.2",
64
64
  "@types/file-saver": "^2.0.7",
65
- "@types/lodash": "^4.17.16",
65
+ "@types/lodash": "^4.17.20",
66
66
  "@types/markdown-it-link-attributes": "^3.0.5",
67
67
  "@types/nprogress": "^0.2.3",
68
- "@vitejs/plugin-vue": "^5.2.3",
69
- "@vue-macros/volar": "^3.0.0-beta.8",
68
+ "@vitejs/plugin-vue": "^6.0.1",
69
+ "@vue-macros/volar": "^3.0.0-beta.23",
70
70
  "@vue/test-utils": "^2.4.6",
71
71
  "critters": "^0.0.25",
72
- "cross-env": "^7.0.3",
73
- "cypress": "^14.3.0",
74
- "cypress-vite": "^1.6.0",
75
- "eslint": "^9.24.0",
76
- "eslint-plugin-cypress": "^4.2.1",
72
+ "cross-env": "^10.0.0",
73
+ "cypress": "^15.1.0",
74
+ "cypress-vite": "^1.7.0",
75
+ "eslint": "^9.35.0",
76
+ "eslint-plugin-cypress": "^5.1.1",
77
77
  "eslint-plugin-format": "^1.0.1",
78
78
  "https-localhost": "^4.7.1",
79
- "less": "^4.3.0",
79
+ "less": "^4.4.1",
80
80
  "markdown-it-link-attributes": "^4.0.1",
81
- "rollup": "^4.39.0",
82
- "shiki": "^3.2.2",
83
- "taze": "^19.0.4",
84
- "typescript": "^5.8.3",
85
- "unocss": "^66.1.0-beta.11",
86
- "unplugin-auto-import": "^19.1.2",
87
- "unplugin-vue-components": "^28.4.1",
81
+ "rollup": "^4.50.0",
82
+ "shiki": "^3.12.2",
83
+ "taze": "^19.5.0",
84
+ "typescript": "^5.9.2",
85
+ "unocss": "^66.5.0",
86
+ "unplugin-auto-import": "^20.1.0",
87
+ "unplugin-vue-components": "^29.0.0",
88
88
  "unplugin-vue-macros": "^2.14.5",
89
- "unplugin-vue-markdown": "^28.3.1",
90
- "unplugin-vue-router": "^0.12.0",
91
- "vite": "^6.2.6",
89
+ "unplugin-vue-markdown": "^29.1.0",
90
+ "unplugin-vue-router": "^0.15.0",
91
+ "vite": "^7.1.4",
92
92
  "vite-bundle-visualizer": "^1.2.1",
93
93
  "vite-plugin-html": "^3.2.2",
94
- "vite-plugin-inspect": "^11.0.0",
95
- "vite-plugin-pwa": "^1.0.0",
96
- "vite-plugin-vue-devtools": "^7.7.2",
94
+ "vite-plugin-inspect": "^11.3.3",
95
+ "vite-plugin-pwa": "^1.0.3",
96
+ "vite-plugin-vue-devtools": "^8.0.1",
97
97
  "vite-plugin-vue-layouts": "^0.11.0",
98
- "vite-plugin-webfont-dl": "^3.10.4",
99
- "vite-ssg": "^26.1.1",
100
- "vite-ssg-sitemap": "^0.8.1",
101
- "vitest": "^3.1.1",
102
- "vue-tsc": "^2.2.8",
98
+ "vite-plugin-webfont-dl": "^3.11.1",
99
+ "vite-ssg": "^28.1.0",
100
+ "vite-ssg-sitemap": "^0.10.0",
101
+ "vitest": "^3.2.4",
102
+ "vue-tsc": "^3.0.6",
103
103
  "workbox-build": "^7.3.0",
104
104
  "workbox-window": "^7.3.0"
105
105
  },
@@ -52,6 +52,7 @@ declare global {
52
52
  const extendRef: typeof import('@vueuse/core')['extendRef']
53
53
  const getCurrentInstance: typeof import('vue')['getCurrentInstance']
54
54
  const getCurrentScope: typeof import('vue')['getCurrentScope']
55
+ const getCurrentWatcher: typeof import('vue')['getCurrentWatcher']
55
56
  const getDataSourceUrl: typeof import('./composables/query')['getDataSourceUrl']
56
57
  const getLocalStorageKeyForFilterOrganizations: typeof import('./composables/useLocalStorage')['getLocalStorageKeyForFilterOrganizations']
57
58
  const getLocalStorageKeyForFilterTeams: typeof import('./composables/useLocalStorage')['getLocalStorageKeyForFilterTeams']
@@ -74,6 +75,7 @@ declare global {
74
75
  const isReactive: typeof import('vue')['isReactive']
75
76
  const isReadonly: typeof import('vue')['isReadonly']
76
77
  const isRef: typeof import('vue')['isRef']
78
+ const isShallow: typeof import('vue')['isShallow']
77
79
  const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
78
80
  const markRaw: typeof import('vue')['markRaw']
79
81
  const nextTick: typeof import('vue')['nextTick']
@@ -299,6 +301,7 @@ declare global {
299
301
  const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
300
302
  const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
301
303
  const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
304
+ const useTimeAgoIntl: typeof import('@vueuse/core')['useTimeAgoIntl']
302
305
  const useTimeout: typeof import('@vueuse/core')['useTimeout']
303
306
  const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
304
307
  const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
@@ -343,7 +346,7 @@ declare global {
343
346
  // for type re-export
344
347
  declare global {
345
348
  // @ts-ignore
346
- export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
349
+ export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, ShallowRef, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
347
350
  import('vue')
348
351
  // @ts-ignore
349
352
  export type { Pagination } from './composables/pagination'
@@ -403,6 +406,7 @@ declare module 'vue' {
403
406
  readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']>
404
407
  readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
405
408
  readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
409
+ readonly getCurrentWatcher: UnwrapRef<typeof import('vue')['getCurrentWatcher']>
406
410
  readonly getDataSourceUrl: UnwrapRef<typeof import('./composables/query')['getDataSourceUrl']>
407
411
  readonly getLocalStorageKeyForFilterOrganizations: UnwrapRef<typeof import('./composables/useLocalStorage')['getLocalStorageKeyForFilterOrganizations']>
408
412
  readonly getLocalStorageKeyForFilterTeams: UnwrapRef<typeof import('./composables/useLocalStorage')['getLocalStorageKeyForFilterTeams']>
@@ -424,6 +428,7 @@ declare module 'vue' {
424
428
  readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
425
429
  readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
426
430
  readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
431
+ readonly isShallow: UnwrapRef<typeof import('vue')['isShallow']>
427
432
  readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']>
428
433
  readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
429
434
  readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
@@ -646,6 +651,7 @@ declare module 'vue' {
646
651
  readonly useThrottleFn: UnwrapRef<typeof import('@vueuse/core')['useThrottleFn']>
647
652
  readonly useThrottledRefHistory: UnwrapRef<typeof import('@vueuse/core')['useThrottledRefHistory']>
648
653
  readonly useTimeAgo: UnwrapRef<typeof import('@vueuse/core')['useTimeAgo']>
654
+ readonly useTimeAgoIntl: UnwrapRef<typeof import('@vueuse/core')['useTimeAgoIntl']>
649
655
  readonly useTimeout: UnwrapRef<typeof import('@vueuse/core')['useTimeout']>
650
656
  readonly useTimeoutFn: UnwrapRef<typeof import('@vueuse/core')['useTimeoutFn']>
651
657
  readonly useTimeoutPoll: UnwrapRef<typeof import('@vueuse/core')['useTimeoutPoll']>
@@ -35,7 +35,7 @@ watch(data, async () => {
35
35
  title.value = `${contestData.value.name} | ${BALLOON_TITLE_SUFFIX}`;
36
36
 
37
37
  teamsData.value = createTeams(data.value?.teams as ITeams);
38
- submissionsData.value = createSubmissions(data.value?.submissions as ISubmissions);
38
+ submissionsData.value = createSubmissions(data.value?.submissions as ISubmissions, contestData.value);
39
39
 
40
40
  reBuildBalloons();
41
41
 
@@ -40,7 +40,7 @@ watch(data, async () => {
40
40
  title.value = `${contest.value.name} | ${RESOLVER_TITLE_SUFFIX}`;
41
41
 
42
42
  teams.value = createTeams(data.value?.teams as ITeams);
43
- submissions.value = createSubmissions(data.value?.submissions as ISubmissions);
43
+ submissions.value = createSubmissions(data.value?.submissions as ISubmissions, contest.value);
44
44
 
45
45
  reBuildResolver();
46
46
 
@@ -110,7 +110,7 @@ watch(data, async () => {
110
110
  title.value = `${contestData.value.name} | ${TITLE_SUFFIX}`;
111
111
 
112
112
  teamsData.value = createTeams(data.value?.teams as ITeams);
113
- submissionsData.value = createSubmissions(data.value?.submissions as ISubmissions);
113
+ submissionsData.value = createSubmissions(data.value?.submissions as ISubmissions, contestData.value);
114
114
 
115
115
  if (rankOptions.value.enableFilterSubmissionsByTimestamp) {
116
116
  return;
@@ -239,6 +239,15 @@ function clearAutoScrollInterval() {
239
239
  }
240
240
 
241
241
  onKeyStroke("S", (_e) => {
242
+ if (!isHiddenOptionsModal.value) {
243
+ return;
244
+ }
245
+
246
+ const activeElement = document.activeElement;
247
+ if (activeElement?.matches("input, textarea, select, [contenteditable]")) {
248
+ return;
249
+ }
250
+
242
251
  enableAutoScroll.value = !enableAutoScroll.value;
243
252
 
244
253
  if (enableAutoScroll.value === true) {
@@ -360,6 +369,7 @@ const widthClass = "sm:w-[1260px] xl:w-screen";
360
369
  <div class="max-w-[92%]">
361
370
  <img
362
371
  :src="getImageSource(rank.contest.banner, `${DATA_HOST}${fixPath(route.path).slice(1)}`)"
372
+ class="w-screen"
363
373
  alt="banner"
364
374
  >
365
375
  </div>
@@ -68,7 +68,7 @@ function startDrag(event: MouseEvent) {
68
68
  barLeft = Math.min(barLeft, scroll.value.offsetWidth - bar.value.offsetWidth);
69
69
 
70
70
  const maskWidth
71
- = scroll.value.offsetWidth * Number.parseInt(mask.value.style?.width) * 0.01;
71
+ = scroll.value.offsetWidth * Number.parseInt(mask.value.style?.width) * 0.01;
72
72
 
73
73
  // When dragging beyond the current time bar,
74
74
  // then automatic updating resumes
@@ -30,4 +30,72 @@ declare module 'vue-router/auto-routes' {
30
30
  '/resolver/': RouteRecordInfo<'/resolver/', '/resolver', Record<never, never>, Record<never, never>>,
31
31
  '/test': RouteRecordInfo<'/test', '/test', Record<never, never>, Record<never, never>>,
32
32
  }
33
+
34
+ /**
35
+ * Route file to route info map by unplugin-vue-router.
36
+ * Used by the volar plugin to automatically type useRoute()
37
+ *
38
+ * Each key is a file path relative to the project root with 2 properties:
39
+ * - routes: union of route names of the possible routes when in this page (passed to useRoute<...>())
40
+ * - views: names of nested views (can be passed to <RouterView name="...">)
41
+ *
42
+ * @internal
43
+ */
44
+ export interface _RouteFileInfoMap {
45
+ 'src/pages/index.vue': {
46
+ routes: '/'
47
+ views: never
48
+ }
49
+ 'src/pages/[...all].vue': {
50
+ routes: '/[...all]'
51
+ views: never
52
+ }
53
+ 'src/pages/about.md': {
54
+ routes: '/about'
55
+ views: never
56
+ }
57
+ 'src/pages/balloon/index.vue': {
58
+ routes: '/balloon/'
59
+ views: never
60
+ }
61
+ 'src/pages/board.vue': {
62
+ routes: '/board'
63
+ views: never
64
+ }
65
+ 'src/pages/countdown/index.vue': {
66
+ routes: '/countdown/'
67
+ views: never
68
+ }
69
+ 'src/pages/hi/[name].vue': {
70
+ routes: '/hi/[name]'
71
+ views: never
72
+ }
73
+ 'src/pages/rating/index.vue': {
74
+ routes: '/rating/'
75
+ views: never
76
+ }
77
+ 'src/pages/rating/[...all].vue': {
78
+ routes: '/rating/[...all]'
79
+ views: never
80
+ }
81
+ 'src/pages/resolver/index.vue': {
82
+ routes: '/resolver/'
83
+ views: never
84
+ }
85
+ 'src/pages/test.vue': {
86
+ routes: '/test'
87
+ views: never
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Get a union of possible route names in a certain route component file.
93
+ * Used by the volar plugin to automatically type useRoute()
94
+ *
95
+ * @internal
96
+ */
97
+ export type _RouteNamesForFilePath<FilePath extends string> =
98
+ _RouteFileInfoMap extends Record<FilePath, infer Info>
99
+ ? Info['routes']
100
+ : keyof RouteNamedMap
33
101
  }
package/vite.config.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import process from "node:process";
2
3
  import VueI18n from "@intlify/unplugin-vue-i18n/vite";
3
4
  import Shiki from "@shikijs/markdown-it";
4
5
  import { unheadVueComposablesImports } from "@unhead/vue";
@@ -22,8 +23,7 @@ import generateSitemap from "vite-ssg-sitemap";
22
23
  import "vitest/config";
23
24
 
24
25
  const proxyConfig = {
25
- target: "https://board.xcpcio.com",
26
- // target: "http://127.0.0.1:8080",
26
+ target: process.env.PROXY_TARGET || "https://board.xcpcio.com",
27
27
  changeOrigin: true,
28
28
  };
29
29
 
@@ -35,6 +35,12 @@ export default defineConfig({
35
35
  },
36
36
 
37
37
  plugins: [
38
+ // https://github.com/posva/unplugin-vue-router
39
+ VueRouter({
40
+ extensions: [".vue", ".md"],
41
+ dts: "src/typed-router.d.ts",
42
+ }),
43
+
38
44
  VueMacros({
39
45
  plugins: {
40
46
  vue: Vue({
@@ -43,12 +49,6 @@ export default defineConfig({
43
49
  },
44
50
  }),
45
51
 
46
- // https://github.com/posva/unplugin-vue-router
47
- VueRouter({
48
- extensions: [".vue", ".md"],
49
- dts: "src/typed-router.d.ts",
50
- }),
51
-
52
52
  // https://github.com/JohnCampionJr/vite-plugin-vue-layouts
53
53
  Layouts(),
54
54
 
@@ -147,12 +147,12 @@ export default defineConfig({
147
147
  include: [path.resolve(__dirname, "locales/**")],
148
148
  }),
149
149
 
150
- // https://github.com/feat-agency/vite-plugin-webfont-dl
151
- WebfontDownload(),
152
-
153
150
  // https://github.com/webfansplz/vite-plugin-vue-devtools
154
151
  VueDevTools(),
155
152
 
153
+ // https://github.com/feat-agency/vite-plugin-webfont-dl
154
+ WebfontDownload(),
155
+
156
156
  // https://github.com/vbenjs/vite-plugin-html
157
157
  createHtmlPlugin({
158
158
  minify: {
@@ -1 +0,0 @@
1
- import{d as C,f as b,p as i,q as E,c as n,o as s,s as j,h as e,n as L,b as o,K as w,k as f,A as N,u as F,m as V,C as z,F as I,E as R,G as U}from"./index-CYsJ2gG-.js";import{a as A,b as O,d as q,B as G,R as K}from"./index-BYh7ktqe.js";import{B as g}from"./constant-2MSuUQN9.js";import{u as M}from"./query-DfOnN8jV.js";const Q={flex:"","flex-1":"","flex-col":"","justify-center":"","items-start":""},X={class:"resolver-team-name",truncate:"","overflow-hidden":""},H={"w-32":"",flex:"","flex-shrink-0":"","flex-row":"","justify-start":"","items-center":""},J=C({__name:"BalloonBlock",props:{index:null,balloon:null},setup(p){const v=p,k=b(()=>v.index),l=b(()=>v.balloon),c=i(null),u=E(c);function _(t){return[t.location,t.organization,t.name].filter(y=>y).join(" - ")}const m=b(()=>l.value.problem.balloonColor);return(t,d)=>(s(),n("div",{ref_key:"el",ref:c,"h-24":""},[e(u)?(s(),n("div",{key:0,"h-24":"",flex:"","flex-row":"","gap-x-4":"","font-mono":"","text-4xl":"",class:L([e(k)%2===0?"bg-resolver-bg-0":"bg-resolver-bg-1"])},[o("div",{"w-20":"",flex:"","flex-shrink-0":"","justify-center":"","items-center":"",style:w({backgroundColor:e(m).background_color})},[o("div",{style:w({color:e(m).color})},f(e(l).problem.label),5)],4),o("div",Q,[o("div",X,f(_(e(l).team)),1),d[0]||(d[0]=o("div",{flex:"","flex-row":"","text-sm":"","items-start":"","gap-x-2":""},null,-1))]),o("div",H,f(e(l).submission.timestampToMinute),1)],2)):j("",!0)],512))}}),P={class:"bg-[#323443]","text-gray-200":"","w-screen":"","h-screen":""},W={key:0},Y={flex:"","flex-col":"","justify-center":"","items-center":"","w-screen":"","h-screen":"","text-xl":"",italic:""},Z={key:0},ee={key:1},oe={flex:"","flex-col":"","justify-between":""},ae=C({__name:"Balloon",props:{dataSourceUrl:null},setup(p){const v=p,k=N(g),{t:l}=F(),c=i(!1),u=i({}),_=i([]),m=i([]),t=i({}),d=V();function y(){const r=new K(u.value,_.value,m.value);r.buildBalloons(),t.value=r}const{data:a,isError:S,error:T}=M(v.dataSourceUrl,d);z(a,async()=>{var r,h,x;a.value===null||a.value===void 0||(u.value=A((r=a.value)==null?void 0:r.contest),k.value=`${u.value.name} | ${g}`,_.value=O((h=a.value)==null?void 0:h.teams),m.value=q((x=a.value)==null?void 0:x.submissions),y(),c.value=!0)},{immediate:!0});const $=b(()=>t.value.balloons.sort(G.compare).reverse().slice(0,256));return(r,h)=>{const x=J;return s(),n("div",P,[e(c)?(s(),n("div",ee,[o("div",oe,[(s(!0),n(I,null,R(e($),(B,D)=>(s(),U(x,{key:B.key,index:D,balloon:B},null,8,["index","balloon"]))),128))])])):(s(),n("div",W,[o("div",Y,[o("div",null,f(e(l)("common.loading"))+"... ",1),e(S)?(s(),n("div",Z,f(e(T)),1)):j("",!0)])]))])}}});export{ae as _};