@xcpcio/board-app 0.54.0 → 0.55.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/README.md +3 -3
- package/dist/404.html +1 -1
- package/dist/assets/{Balloon.vue_vue_type_script_setup_true_lang-B58P9kc_.js → Balloon.vue_vue_type_script_setup_true_lang-4AVGJCMI.js} +1 -1
- package/dist/assets/{Board-gJRXyNvZ.css → Board-DI2_Xyh3.css} +1 -1
- package/dist/assets/Board-DpMNDnwb.js +1 -0
- package/dist/assets/{ContestStateBadge-kyzEE_y0.js → ContestStateBadge-Dhbid94g.js} +1 -1
- package/dist/assets/Countdown-BvdJWWuk.js +1 -0
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-BdYOS7Pt.js +1 -0
- package/dist/assets/{Footer.vue_vue_type_script_setup_true_lang-CFhhwrFp.js → Footer.vue_vue_type_script_setup_true_lang-DoBaeAhT.js} +1 -1
- package/dist/assets/{NavBar-D-0E9-D6.js → NavBar-B9KggQU-.js} +1 -1
- package/dist/assets/Resolver-B6m5f_LD.css +1 -0
- package/dist/assets/Resolver-CxzATvRW.js +25 -0
- package/dist/assets/{RightArrowIcon-DkTO5M_b.js → RightArrowIcon-UrcrWsjs.js} +1 -1
- package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-C80810Iu.js → TheInput.vue_vue_type_script_setup_true_lang-Fq7AIk4r.js} +1 -1
- package/dist/assets/Tooltip.vue_vue_type_script_setup_true_lang-C9T_K5RC.js +27 -0
- package/dist/assets/_...all_-CpbyYPnu.js +1 -0
- package/dist/assets/{_...all_-D2j5jZRJ.js → _...all_-DizdgePm.js} +2 -2
- package/dist/assets/_name_-CyHYBF6H.js +1 -0
- package/dist/assets/{about-BI-IuMMG.js → about-CfqrcwJT.js} +1 -1
- package/dist/assets/board-layout-DDF2wubP.js +1 -0
- package/dist/assets/board-vgh1WXMi.js +1 -0
- package/dist/assets/{constant-Bp6N_6CR.js → constant-CKMKwY_M.js} +1 -1
- package/dist/assets/default-REGvX7tC.js +1 -0
- package/dist/assets/headless-DedxMF3x.js +1 -0
- package/dist/assets/home-DSppcc6C.js +1 -0
- package/dist/assets/index-B8vw3ErJ.js +198 -0
- package/dist/assets/{index-D5y2RQEx.js → index-BZdyM9Qh.js} +1 -1
- package/dist/assets/index-Bx4d8xqO.js +1 -0
- package/dist/assets/{index-BuqFZWN0.js → index-CaB6yvAO.js} +1 -1
- package/dist/assets/index-Cc2LPl6E.js +50 -0
- package/dist/assets/{index-BP90wE2A.css → index-CkWanoDO.css} +1 -1
- package/dist/assets/index-DLur0B0J.css +5 -0
- package/dist/assets/index-LvyoMonD.js +1 -0
- package/dist/assets/index-Y1YIGHJj.js +1 -0
- package/dist/assets/index-Yf5aNxDp.js +1 -0
- package/dist/assets/{index-aqsbX7cA.js → index-_3n9Ahv3.js} +2 -2
- package/dist/assets/index-layout-qLKsk6Zm.js +1 -0
- package/dist/assets/pagination-zmuISHg-.js +3 -0
- package/dist/assets/query-DymhAP9l.js +1 -0
- package/dist/assets/{test-j9jx5ZPp.js → test-C8r9tN4s.js} +1 -1
- package/dist/assets/{use-vmodel-dRzus2DH.js → use-vmodel-BusQKjfF.js} +1 -1
- package/dist/assets/{user-DCOj5vXR.js → user-B1iInd_U.js} +1 -1
- package/dist/assets/{virtual_pwa-register-DYmC-FJF.js → virtual_pwa-register-Bw1WWEdI.js} +1 -1
- package/dist/assets/{workbox-window.prod.es5-D5gOYdM7.js → workbox-window.prod.es5-B9K5rw8f.js} +2 -2
- package/dist/index.html +1 -1
- package/dist/manifest.webmanifest +1 -1
- package/dist/sw.js +1 -1
- package/dist/{workbox-86deb690.js → workbox-7ee6f867.js} +1 -1
- package/package.json +49 -51
- package/src/auto-imports.d.ts +19 -2
- package/src/components/Resolver.vue +1 -1
- package/src/components/ResolverTeamRow.vue +6 -14
- package/src/components/battle-of-giants/GiantsOptions.vue +2 -1
- package/src/components/board/AnimatedSubmissionBlock.vue +2 -2
- package/src/components/board/AnimatedSubmissionsModal.vue +2 -2
- package/src/components/board/Board.vue +4 -3
- package/src/components/board/HeatMapTooltip.less +4 -2
- package/src/components/board/Progress.less +15 -9
- package/src/components/board/SubmitHeatMap.vue +2 -19
- package/src/components/flowbite/Tooltip.css +25 -23
- package/src/components/rating/rating.less +5 -1
- package/src/components.d.ts +1 -0
- package/src/composables/statistics.ts +2 -1
- package/src/modules/i18n.ts +1 -1
- package/src/modules/nprogress.ts +1 -1
- package/src/modules/pinia.ts +1 -1
- package/src/modules/toast.ts +1 -1
- package/src/styles/color.css +5 -5
- package/src/styles/main.css +4 -4
- package/src/styles/markdown.css +1 -1
- package/src/styles/submission-status-background.css +0 -4
- package/src/styles/submission-status-filter.css +0 -4
- package/src/styles/submission-status.css +31 -34
- package/.eslintrc.json +0 -6
- package/dist/assets/Board-DzGFyq7Y.js +0 -1
- package/dist/assets/Countdown-VhHt93-Y.js +0 -1
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-ItvHR9Qe.js +0 -1
- package/dist/assets/Resolver-DRiWpQTB.css +0 -1
- package/dist/assets/Resolver-Dm29vdoV.js +0 -25
- package/dist/assets/Tooltip.vue_vue_type_script_setup_true_lang-CivUau2c.js +0 -27
- package/dist/assets/_...all_-B-coFtNQ.js +0 -1
- package/dist/assets/_name_-DLnWsOOY.js +0 -1
- package/dist/assets/board-CYpV6N1-.js +0 -1
- package/dist/assets/board-layout-iqYyMbo7.js +0 -1
- package/dist/assets/default-Dua7zuJz.js +0 -1
- package/dist/assets/headless-TXjG73-A.js +0 -1
- package/dist/assets/home-BICvykpJ.js +0 -1
- package/dist/assets/index-BSdw3fii.js +0 -50
- package/dist/assets/index-BjviE8XK.js +0 -1
- package/dist/assets/index-BybaF8un.css +0 -5
- package/dist/assets/index-CElS_fcG.js +0 -1
- package/dist/assets/index-Cc06bvsk.js +0 -198
- package/dist/assets/index-DfYfbXG4.js +0 -1
- package/dist/assets/index-layout-CuYu1LJW.js +0 -1
- package/dist/assets/index-shmFGiVI.js +0 -1
- package/dist/assets/pagination-BeE7gsif.js +0 -3
- package/dist/assets/query-D-g5Deb_.js +0 -1
- /package/dist/assets/{ContestStateBadge-yOXRkC0c.css → ContestStateBadge-DawlTsHs.css} +0 -0
- /package/dist/assets/{Countdown-De6dfmWB.css → Countdown-CGwMuG9S.css} +0 -0
- /package/dist/assets/{NavBar-K1-1c5jR.css → NavBar-C0cqpBnK.css} +0 -0
- /package/dist/assets/{Tooltip-VVqtpO6L.css → Tooltip-DzyPDwbo.css} +0 -0
- /package/dist/assets/{_..-8Wh-Y8sB.css → _..-5I0UWqRG.css} +0 -0
- /package/dist/assets/{index-BerApwlM.css → index-D0wLFbYO.css} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var ut=i=>{throw TypeError(i)};var Y=(i,t,e)=>t.has(i)||ut("Cannot "+e);var s=(i,t,e)=>(Y(i,t,"read from private field"),e?e.call(i):t.get(i)),b=(i,t,e)=>t.has(i)?ut("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e),c=(i,t,e,n)=>(Y(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e),d=(i,t,e)=>(Y(i,t,"access private method"),e);import{a4 as St,a5 as ct,a6 as w,a7 as q,a8 as K,a9 as wt,aa as lt,ab as ft,ac as Ct,ad as It,ae as Tt,af as dt,ag as Et,ah as Qt,ai as Dt,aj as Ut,f as Rt,ak as Ft,al as jt,C as H,am as pt,an as xt,ao as bt,ap as Pt}from"./index-Cc2LPl6E.js";import{a as Lt}from"./constant-CKMKwY_M.js";import{u as gt}from"./index-Y1YIGHJj.js";var v,r,B,y,D,A,T,S,V,_,k,U,F,E,N,u,W,J,X,Z,tt,et,st,it,Ot,vt,Mt=(vt=class extends St{constructor(t,e){super();b(this,u);b(this,v);b(this,r);b(this,B);b(this,y);b(this,D);b(this,A);b(this,T);b(this,S);b(this,V);b(this,_);b(this,k);b(this,U);b(this,F);b(this,E);b(this,N,new Set);this.options=e,c(this,v,t),c(this,S,null),c(this,T,ct()),this.options.experimental_prefetchInRender||s(this,T).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(e)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(s(this,r).addObserver(this),mt(s(this,r),this.options)?d(this,u,W).call(this):this.updateResult(),d(this,u,tt).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return nt(s(this,r),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return nt(s(this,r),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,d(this,u,et).call(this),d(this,u,st).call(this),s(this,r).removeObserver(this)}setOptions(t){const e=this.options,n=s(this,r);if(this.options=s(this,v).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof w(this.options.enabled,s(this,r))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");d(this,u,it).call(this),s(this,r).setOptions(this.options),e._defaulted&&!q(this.options,e)&&s(this,v).getQueryCache().notify({type:"observerOptionsUpdated",query:s(this,r),observer:this});const o=this.hasListeners();o&&yt(s(this,r),n,this.options,e)&&d(this,u,W).call(this),this.updateResult(),o&&(s(this,r)!==n||w(this.options.enabled,s(this,r))!==w(e.enabled,s(this,r))||K(this.options.staleTime,s(this,r))!==K(e.staleTime,s(this,r)))&&d(this,u,J).call(this);const a=d(this,u,X).call(this);o&&(s(this,r)!==n||w(this.options.enabled,s(this,r))!==w(e.enabled,s(this,r))||a!==s(this,E))&&d(this,u,Z).call(this,a)}getOptimisticResult(t){const e=s(this,v).getQueryCache().build(s(this,v),t),n=this.createResult(e,t);return At(this,n)&&(c(this,y,n),c(this,A,this.options),c(this,D,s(this,r).state)),n}getCurrentResult(){return s(this,y)}trackResult(t,e){const n={};return Object.keys(t).forEach(o=>{Object.defineProperty(n,o,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(o),e==null||e(o),t[o])})}),n}trackProp(t){s(this,N).add(t)}getCurrentQuery(){return s(this,r)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=s(this,v).defaultQueryOptions(t),n=s(this,v).getQueryCache().build(s(this,v),e);return n.fetch().then(()=>this.createResult(n,e))}fetch(t){return d(this,u,W).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),s(this,y)))}createResult(t,e){var ht;const n=s(this,r),o=this.options,a=s(this,y),l=s(this,D),R=s(this,A),j=t!==n?t.state:s(this,B),{state:p}=t;let f={...p},Q=!1,h;if(e._optimisticResults){const m=this.hasListeners(),M=!m&&mt(t,e),$=m&&yt(t,n,e,o);(M||$)&&(f={...f,...Tt(p.data,t.options)}),e._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:I,errorUpdatedAt:x,status:g}=f;if(e.select&&f.data!==void 0)if(a&&f.data===(l==null?void 0:l.data)&&e.select===s(this,V))h=s(this,_);else try{c(this,V,e.select),h=e.select(f.data),h=dt(a==null?void 0:a.data,h,e),c(this,_,h),c(this,S,null)}catch(m){c(this,S,m)}else h=f.data;if(e.placeholderData!==void 0&&h===void 0&&g==="pending"){let m;if(a!=null&&a.isPlaceholderData&&e.placeholderData===(R==null?void 0:R.placeholderData))m=a.data;else if(m=typeof e.placeholderData=="function"?e.placeholderData((ht=s(this,k))==null?void 0:ht.state.data,s(this,k)):e.placeholderData,e.select&&m!==void 0)try{m=e.select(m),c(this,S,null)}catch(M){c(this,S,M)}m!==void 0&&(g="success",h=dt(a==null?void 0:a.data,m,e),Q=!0)}s(this,S)&&(I=s(this,S),h=s(this,_),x=Date.now(),g="error");const P=f.fetchStatus==="fetching",L=g==="pending",G=g==="error",rt=L&&P,ot=h!==void 0,O={status:g,fetchStatus:f.fetchStatus,isPending:L,isSuccess:g==="success",isError:G,isInitialLoading:rt,isLoading:rt,data:h,dataUpdatedAt:f.dataUpdatedAt,error:I,errorUpdatedAt:x,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>j.dataUpdateCount||f.errorUpdateCount>j.errorUpdateCount,isFetching:P,isRefetching:P&&!L,isLoadingError:G&&!ot,isPaused:f.fetchStatus==="paused",isPlaceholderData:Q,isRefetchError:G&&ot,isStale:at(t,e),refetch:this.refetch,promise:s(this,T)};if(this.options.experimental_prefetchInRender){const m=z=>{O.status==="error"?z.reject(O.error):O.data!==void 0&&z.resolve(O.data)},M=()=>{const z=c(this,T,O.promise=ct());m(z)},$=s(this,T);switch($.status){case"pending":t.queryHash===n.queryHash&&m($);break;case"fulfilled":(O.status==="error"||O.data!==$.value)&&M();break;case"rejected":(O.status!=="error"||O.error!==$.reason)&&M();break}}return O}updateResult(){const t=s(this,y),e=this.createResult(s(this,r),this.options);if(c(this,D,s(this,r).state),c(this,A,this.options),s(this,D).data!==void 0&&c(this,k,s(this,r)),q(e,t))return;c(this,y,e);const n=()=>{if(!t)return!0;const{notifyOnChangeProps:o}=this.options,a=typeof o=="function"?o():o;if(a==="all"||!a&&!s(this,N).size)return!0;const l=new Set(a??s(this,N));return this.options.throwOnError&&l.add("error"),Object.keys(s(this,y)).some(R=>{const C=R;return s(this,y)[C]!==t[C]&&l.has(C)})};d(this,u,Ot).call(this,{listeners:n()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&d(this,u,tt).call(this)}},v=new WeakMap,r=new WeakMap,B=new WeakMap,y=new WeakMap,D=new WeakMap,A=new WeakMap,T=new WeakMap,S=new WeakMap,V=new WeakMap,_=new WeakMap,k=new WeakMap,U=new WeakMap,F=new WeakMap,E=new WeakMap,N=new WeakMap,u=new WeakSet,W=function(t){d(this,u,it).call(this);let e=s(this,r).fetch(this.options,t);return t!=null&&t.throwOnError||(e=e.catch(wt)),e},J=function(){d(this,u,et).call(this);const t=K(this.options.staleTime,s(this,r));if(lt||s(this,y).isStale||!ft(t))return;const n=Ct(s(this,y).dataUpdatedAt,t)+1;c(this,U,setTimeout(()=>{s(this,y).isStale||this.updateResult()},n))},X=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(s(this,r)):this.options.refetchInterval)??!1},Z=function(t){d(this,u,st).call(this),c(this,E,t),!(lt||w(this.options.enabled,s(this,r))===!1||!ft(s(this,E))||s(this,E)===0)&&c(this,F,setInterval(()=>{(this.options.refetchIntervalInBackground||It.isFocused())&&d(this,u,W).call(this)},s(this,E)))},tt=function(){d(this,u,J).call(this),d(this,u,Z).call(this,d(this,u,X).call(this))},et=function(){s(this,U)&&(clearTimeout(s(this,U)),c(this,U,void 0))},st=function(){s(this,F)&&(clearInterval(s(this,F)),c(this,F,void 0))},it=function(){const t=s(this,v).getQueryCache().build(s(this,v),this.options);if(t===s(this,r))return;const e=s(this,r);c(this,r,t),c(this,B,t.state),this.hasListeners()&&(e==null||e.removeObserver(this),t.addObserver(this))},Ot=function(t){Et.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(s(this,y))}),s(this,v).getQueryCache().notify({query:s(this,r),type:"observerResultsUpdated"})})},vt);function $t(i,t){return w(t.enabled,i)!==!1&&i.state.data===void 0&&!(i.state.status==="error"&&t.retryOnMount===!1)}function mt(i,t){return $t(i,t)||i.state.data!==void 0&&nt(i,t,t.refetchOnMount)}function nt(i,t,e){if(w(t.enabled,i)!==!1){const n=typeof e=="function"?e(i):e;return n==="always"||n!==!1&&at(i,t)}return!1}function yt(i,t,e,n){return(i!==t||w(n.enabled,i)===!1)&&(!e.suspense||i.state.status!=="error")&&at(i,e)}function at(i,t){return w(t.enabled,i)!==!1&&i.isStaleByTime(K(t.staleTime,i))}function At(i,t){return!q(i.getCurrentResult(),t)}function _t(i=""){if(!Qt())throw new Error("vue-query hooks can only be used inside setup() function or functions that support injection context.");const t=Ut(i),e=Dt(t);if(!e)throw new Error("No 'queryClient' found in Vue context, use 'VueQueryPlugin' to properly initialize the library.");return e}function kt(i,t,e){const n=_t(),o=Rt(()=>{const h=Ft(t);typeof h.enabled=="function"&&(h.enabled=h.enabled());const I=n.defaultQueryOptions(h);return I._optimisticResults=n.isRestoring.value?"isRestoring":"optimistic",I}),a=new i(n,o.value),l=jt(a.getCurrentResult());let R=()=>{};H(n.isRestoring,h=>{h||(R(),R=a.subscribe(I=>{pt(l,I)}))},{immediate:!0});const C=()=>{a.setOptions(o.value),pt(l,a.getCurrentResult())};H(o,C),xt(()=>{R()});const j=(...h)=>(C(),l.refetch(...h)),p=()=>new Promise((h,I)=>{let x=()=>{};const g=()=>{if(o.value.enabled!==!1){a.setOptions(o.value);const P=a.getOptimisticResult(o.value);P.isStale?(x(),a.fetchOptimistic(o.value).then(h,L=>{bt(o.value.throwOnError,[L,a.getCurrentQuery()])?I(L):h(a.getCurrentResult())})):(x(),h(P))}};g(),x=H(o,g)});H(()=>l.error,h=>{if(l.isError&&!l.isFetching&&bt(o.value.throwOnError,[h,a.getCurrentQuery()]))throw h});const Q=Pt(l);for(const h in l)typeof l[h]=="function"&&(Q[h]=l[h]);return Q.suspense=p,Q.refetch=j,Q}function Nt(i,t){return kt(Mt,i)}const Wt=3;async function Bt(i,t){const e=i.startsWith("/")?i.slice(1):i;let n=`${window.DATA_HOST}${e}`;const o={allInOne:!1};if(n.includes("#")){const p=new URLSearchParams(n.split("#")[1]);o.allInOne=p.get("allInOne")==="true",n=n.split("#")[0]}i.startsWith("http")&&(n=i),n.endsWith("/")&&(n=n.slice(0,-1));const a=p=>p.includes("?")?`${p}&t=${t??0}`:`${p}?t=${t??0}`,l=o.allInOne?[await fetch(a(n))]:[await fetch(a(`${n}/config.json`)),await fetch(a(`${n}/team.json`)),await fetch(a(`${n}/run.json`))],{status:R,statusText:C}=l[0];if(R>=300||R<200)throw new Error(`fetch data failed. [status=${R}] [statusText=${C}]`);return Promise.all(l.map(p=>p.json())).then(p=>o.allInOne?p[0]:{contest:p[0],teams:p[1],submissions:p[2]})}function Yt(i,t,e=!1){let n=3e4,o=n;const a=Rt(()=>Math.floor(t.value.getTime()/1e3/10));return Lt.value==="I18N"&&(n=10*1e3,o=n),e&&(n=Number.POSITIVE_INFINITY,o=!1),Nt({queryKey:[i,a.value],queryFn:()=>Bt(i,a.value),retry:Wt,staleTime:n,refetchInterval:o})}function qt(){return gt("data-source","",{transform:String})}function Jt(){return gt("battle-of-giants","",{transform:String})}export{Jt as a,qt as g,Yt as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-Fq7AIk4r.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-Cc2LPl6E.js";import{u as k}from"./user-B1iInd_U.js";import{b as l}from"./route-block-B_A1xBdJ.js";import"./use-vmodel-BusQKjfF.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-
|
|
1
|
+
import{aw as c,ax as r}from"./index-Cc2LPl6E.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 +1 @@
|
|
|
1
|
-
import{au as m,p as r,
|
|
1
|
+
import{au as m,p as r,f as t}from"./index-Cc2LPl6E.js";const f=m("user",()=>{const e=r(""),s=r(new Set),u=t(()=>Array.from(s.value)),o=t(()=>u.value.filter(a=>a!==e.value));function n(a){e.value&&s.value.add(e.value),e.value=a}return{setNewName:n,otherNames:o,savedName:e}});export{f as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as u}from"./index-
|
|
1
|
+
import{_ as u}from"./index-Cc2LPl6E.js";function _(c={}){const{immediate:o=!1,onNeedRefresh:p,onOfflineReady:a,onRegistered:r,onRegisteredSW:s,onRegisterError:t}=c;let i,n;const d=async(e=!0)=>{await n};async function l(){if("serviceWorker"in navigator){if(i=await u(async()=>{const{Workbox:e}=await import("./workbox-window.prod.es5-B9K5rw8f.js");return{Workbox:e}},[],import.meta.url).then(({Workbox:e})=>new e("/sw.js",{scope:"/",type:"classic"})).catch(e=>{t==null||t(e)}),!i)return;i.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&window.location.reload()}),i.addEventListener("installed",e=>{e.isUpdate||a==null||a()}),i.register({immediate:o}).then(e=>{s?s("/sw.js",e):r==null||r(e)}).catch(e=>{t==null||t(e)})}}return n=l(),d}export{_ as registerSW};
|
package/dist/assets/{workbox-window.prod.es5-D5gOYdM7.js → workbox-window.prod.es5-B9K5rw8f.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
try{self["workbox:window:7.
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}try{self["workbox:core:7.
|
|
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"
|
|
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.0/dist/balloon-192x192.png"/><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.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.55.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.55.0/dist/assets/index-Cc2LPl6E.js"></script><link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.55.0/dist/assets/index-DLur0B0J.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 +1 @@
|
|
|
1
|
-
{"name":"Board","short_name":"Board","start_url":"/","display":"standalone","background_color":"#ffffff","
|
|
1
|
+
{"name":"Board","short_name":"Board","description":"XCPCIO Board App","start_url":"/","display":"standalone","background_color":"#ffffff","theme_color":"#ffffff","lang":"en","scope":"/","icons":[{"src":"/balloon2-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/balloon2-512x512.png","sizes":"512x512","type":"image/png"},{"src":"/balloon2-512x512.png","sizes":"512x512","type":"image/png","purpose":"any maskable"}]}
|
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,
|
|
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_-CpbyYPnu.js",revision:null},{url:"assets/_...all_-DizdgePm.js",revision:null},{url:"assets/_name_-CyHYBF6H.js",revision:null},{url:"assets/_plugin-vue_export-helper-DlAUqK2U.js",revision:null},{url:"assets/about-CfqrcwJT.js",revision:null},{url:"assets/Balloon.vue_vue_type_script_setup_true_lang-4AVGJCMI.js",revision:null},{url:"assets/Board-DI2_Xyh3.css",revision:null},{url:"assets/Board-DpMNDnwb.js",revision:null},{url:"assets/board-layout-DDF2wubP.js",revision:null},{url:"assets/board-vgh1WXMi.js",revision:null},{url:"assets/constant-CKMKwY_M.js",revision:null},{url:"assets/ContestStateBadge-DawlTsHs.css",revision:null},{url:"assets/ContestStateBadge-Dhbid94g.js",revision:null},{url:"assets/Countdown-BvdJWWuk.js",revision:null},{url:"assets/Countdown-CGwMuG9S.css",revision:null},{url:"assets/DataSourceInput.vue_vue_type_script_setup_true_lang-BdYOS7Pt.js",revision:null},{url:"assets/default-REGvX7tC.js",revision:null},{url:"assets/en-Bjc9Zdq9.js",revision:null},{url:"assets/Footer.vue_vue_type_script_setup_true_lang-DoBaeAhT.js",revision:null},{url:"assets/headless-DedxMF3x.js",revision:null},{url:"assets/home-DSppcc6C.js",revision:null},{url:"assets/index-_3n9Ahv3.js",revision:null},{url:"assets/index-B8vw3ErJ.js",revision:null},{url:"assets/index-Bx4d8xqO.js",revision:null},{url:"assets/index-BZdyM9Qh.js",revision:null},{url:"assets/index-CaB6yvAO.js",revision:null},{url:"assets/index-Cc2LPl6E.js",revision:null},{url:"assets/index-CkWanoDO.css",revision:null},{url:"assets/index-D0wLFbYO.css",revision:null},{url:"assets/index-DLur0B0J.css",revision:null},{url:"assets/index-layout-qLKsk6Zm.js",revision:null},{url:"assets/index-LvyoMonD.js",revision:null},{url:"assets/index-Y1YIGHJj.js",revision:null},{url:"assets/index-Yf5aNxDp.js",revision:null},{url:"assets/NavBar-B9KggQU-.js",revision:null},{url:"assets/NavBar-C0cqpBnK.css",revision:null},{url:"assets/pagination-zmuISHg-.js",revision:null},{url:"assets/query-DymhAP9l.js",revision:null},{url:"assets/Resolver-B6m5f_LD.css",revision:null},{url:"assets/Resolver-CxzATvRW.js",revision:null},{url:"assets/RightArrowIcon-UrcrWsjs.js",revision:null},{url:"assets/route-block-B_A1xBdJ.js",revision:null},{url:"assets/test-C8r9tN4s.js",revision:null},{url:"assets/TheInput.vue_vue_type_script_setup_true_lang-Fq7AIk4r.js",revision:null},{url:"assets/Tooltip-DzyPDwbo.css",revision:null},{url:"assets/Tooltip.vue_vue_type_script_setup_true_lang-C9T_K5RC.js",revision:null},{url:"assets/use-vmodel-BusQKjfF.js",revision:null},{url:"assets/user-B1iInd_U.js",revision:null},{url:"assets/virtual_pwa-register-Bw1WWEdI.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:"2c22e37f24a5bab02d55f4de808a95f3"},{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 +1 @@
|
|
|
1
|
-
define(["exports"],(function(t){"use strict";try{self["workbox:core:7.0.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.0.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return a().registerRoute(o),o}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.0.0"]&&_()}catch(t){}function p(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class g{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let R;async function m(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===R){const t=new Response("");if("body"in t)try{new Response(t.body),R=!0}catch(t){R=!1}R=!1}return R}()?i.body:await i.blob();return new Response(c,o)}function v(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class q{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const U=new Set;try{self["workbox:strategies:7.0.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class b{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new q,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=v(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===v(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of U)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class C{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new b(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class E extends C{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(E.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==E.copyRedirectedCacheableResponsesPlugin&&(n===E.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(E.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}E.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},E.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await m(t):t};class O{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.P=new Map,this.T=new Map,this.l=new E({cacheName:f(t),plugins:[...e,new g({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=p(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.K.set(i,t),this.P.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return d(t,(async()=>{const e=new y;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.T.get(s),i=this.P.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return d(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let x;const N=()=>(x||(x=new O),x);class k extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super((t=>this.j(t)),t),this.M=e,this.S=s}j({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some((t=>t.test(s)))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.createHandlerBoundToURL=function(t){return N().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){N().precache(t)}(t),function(t){const e=N();h(new k(e,t))}(e)},t.registerRoute=h}));
|
|
1
|
+
define(["exports"],(function(t){"use strict";try{self["workbox:core:7.2.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.2.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return a().registerRoute(o),o}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.2.0"]&&_()}catch(t){}function p(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class g{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let R;async function m(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===R){const t=new Response("");if("body"in t)try{new Response(t.body),R=!0}catch(t){R=!1}R=!1}return R}()?i.body:await i.blob();return new Response(c,o)}function v(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class q{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const U=new Set;try{self["workbox:strategies:7.2.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class b{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new q,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=v(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===v(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of U)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class C{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new b(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class E extends C{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(E.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==E.copyRedirectedCacheableResponsesPlugin&&(n===E.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(E.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}E.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},E.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await m(t):t};class O{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.P=new Map,this.T=new Map,this.l=new E({cacheName:f(t),plugins:[...e,new g({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=p(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.K.set(i,t),this.P.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return d(t,(async()=>{const e=new y;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.T.get(s),i=this.P.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return d(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let x;const N=()=>(x||(x=new O),x);class k extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super((t=>this.j(t)),t),this.M=e,this.S=s}j({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some((t=>t.test(s)))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.createHandlerBoundToURL=function(t){return N().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){N().precache(t)}(t),function(t){const e=N();h(new k(e,t))}(e)},t.registerRoute=h}));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xcpcio/board-app",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.55.0",
|
|
5
5
|
"description": "XCPCIO Board App",
|
|
6
6
|
"author": "Dup4 <lyuzhi.pan@gmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -30,80 +30,78 @@
|
|
|
30
30
|
"node": ">=18"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@tanstack/vue-query": "^5.
|
|
34
|
-
"@unhead/vue": "^
|
|
35
|
-
"@unocss/reset": "^0.
|
|
36
|
-
"@vueuse/components": "^
|
|
37
|
-
"@vueuse/core": "^
|
|
33
|
+
"@tanstack/vue-query": "^5.70.0",
|
|
34
|
+
"@unhead/vue": "^2.0.2",
|
|
35
|
+
"@unocss/reset": "^66.0.0",
|
|
36
|
+
"@vueuse/components": "^13.0.0",
|
|
37
|
+
"@vueuse/core": "^13.0.0",
|
|
38
38
|
"@vueuse/head": "^2.0.0",
|
|
39
|
-
"@vueuse/router": "^
|
|
39
|
+
"@vueuse/router": "^13.0.0",
|
|
40
40
|
"dayjs": "^1.11.13",
|
|
41
41
|
"file-saver": "^2.0.5",
|
|
42
42
|
"floating-vue": "5.2.2",
|
|
43
|
-
"flowbite": "^
|
|
44
|
-
"gsap": "^3.12.
|
|
45
|
-
"highcharts": "^
|
|
43
|
+
"flowbite": "^3.1.2",
|
|
44
|
+
"gsap": "^3.12.7",
|
|
45
|
+
"highcharts": "^12.1.2",
|
|
46
46
|
"highcharts-vue": "^2.0.1",
|
|
47
47
|
"lodash": "^4.17.21",
|
|
48
48
|
"nprogress": "^0.2.0",
|
|
49
|
-
"pinia": "^
|
|
49
|
+
"pinia": "^3.0.1",
|
|
50
50
|
"sleep-promise": "^9.1.0",
|
|
51
|
-
"vue": "^3.5.
|
|
51
|
+
"vue": "^3.5.13",
|
|
52
52
|
"vue-demi": "^0.14.10",
|
|
53
|
-
"vue-i18n": "^10.0.
|
|
54
|
-
"vue-router": "^4.
|
|
53
|
+
"vue-i18n": "^10.0.6",
|
|
54
|
+
"vue-router": "^4.5.0",
|
|
55
55
|
"vue-search-select": "^3.2.0",
|
|
56
56
|
"vue-toast-notification": "^3.1.3",
|
|
57
|
-
"@xcpcio/core": "0.
|
|
58
|
-
"@xcpcio/types": "0.
|
|
57
|
+
"@xcpcio/core": "0.55.0",
|
|
58
|
+
"@xcpcio/types": "0.55.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@
|
|
64
|
-
"@shikijs/markdown-it": "^1.22.0",
|
|
61
|
+
"@iconify/json": "^2.2.321",
|
|
62
|
+
"@intlify/unplugin-vue-i18n": "^6.0.5",
|
|
63
|
+
"@shikijs/markdown-it": "^3.2.1",
|
|
65
64
|
"@types/file-saver": "^2.0.7",
|
|
66
|
-
"@types/lodash": "^4.17.
|
|
65
|
+
"@types/lodash": "^4.17.16",
|
|
67
66
|
"@types/markdown-it-link-attributes": "^3.0.5",
|
|
68
67
|
"@types/nprogress": "^0.2.3",
|
|
69
|
-
"@
|
|
70
|
-
"@
|
|
71
|
-
"@vue-macros/volar": "^0.30.3",
|
|
68
|
+
"@vitejs/plugin-vue": "^5.2.3",
|
|
69
|
+
"@vue-macros/volar": "^0.30.15",
|
|
72
70
|
"@vue/test-utils": "^2.4.6",
|
|
73
|
-
"critters": "^0.0.
|
|
71
|
+
"critters": "^0.0.25",
|
|
74
72
|
"cross-env": "^7.0.3",
|
|
75
|
-
"cypress": "^
|
|
76
|
-
"cypress-vite": "^1.
|
|
77
|
-
"eslint": "^9.
|
|
78
|
-
"eslint-plugin-cypress": "^
|
|
79
|
-
"eslint-plugin-format": "^0.1
|
|
73
|
+
"cypress": "^14.2.1",
|
|
74
|
+
"cypress-vite": "^1.6.0",
|
|
75
|
+
"eslint": "^9.23.0",
|
|
76
|
+
"eslint-plugin-cypress": "^4.2.0",
|
|
77
|
+
"eslint-plugin-format": "^1.0.1",
|
|
80
78
|
"https-localhost": "^4.7.1",
|
|
81
|
-
"less": "^4.2.
|
|
79
|
+
"less": "^4.2.2",
|
|
82
80
|
"markdown-it-link-attributes": "^4.0.1",
|
|
83
|
-
"rollup": "^4.
|
|
84
|
-
"shiki": "^
|
|
85
|
-
"taze": "^0.
|
|
86
|
-
"typescript": "^5.
|
|
87
|
-
"unocss": "^0.
|
|
88
|
-
"unplugin-auto-import": "^
|
|
89
|
-
"unplugin-vue-components": "^
|
|
90
|
-
"unplugin-vue-macros": "^2.
|
|
91
|
-
"unplugin-vue-markdown": "^
|
|
92
|
-
"unplugin-vue-router": "^0.
|
|
93
|
-
"vite": "^5.4.
|
|
81
|
+
"rollup": "^4.38.0",
|
|
82
|
+
"shiki": "^3.2.1",
|
|
83
|
+
"taze": "^19.0.4",
|
|
84
|
+
"typescript": "^5.8.2",
|
|
85
|
+
"unocss": "^66.0.0",
|
|
86
|
+
"unplugin-auto-import": "^19.1.2",
|
|
87
|
+
"unplugin-vue-components": "^28.4.1",
|
|
88
|
+
"unplugin-vue-macros": "^2.14.5",
|
|
89
|
+
"unplugin-vue-markdown": "^28.3.1",
|
|
90
|
+
"unplugin-vue-router": "^0.12.0",
|
|
91
|
+
"vite": "^5.4.15",
|
|
94
92
|
"vite-bundle-visualizer": "^1.2.1",
|
|
95
93
|
"vite-plugin-html": "^3.2.2",
|
|
96
|
-
"vite-plugin-inspect": "^0.
|
|
97
|
-
"vite-plugin-pwa": "^0.
|
|
98
|
-
"vite-plugin-vue-devtools": "^7.
|
|
94
|
+
"vite-plugin-inspect": "^11.0.0",
|
|
95
|
+
"vite-plugin-pwa": "^1.0.0",
|
|
96
|
+
"vite-plugin-vue-devtools": "^7.7.2",
|
|
99
97
|
"vite-plugin-vue-layouts": "^0.11.0",
|
|
100
|
-
"vite-plugin-webfont-dl": "^3.
|
|
101
|
-
"vite-ssg": "^
|
|
98
|
+
"vite-plugin-webfont-dl": "^3.10.4",
|
|
99
|
+
"vite-ssg": "^26.1.1",
|
|
102
100
|
"vite-ssg-sitemap": "^0.8.1",
|
|
103
|
-
"vitest": "^
|
|
104
|
-
"vue-tsc": "^2.
|
|
105
|
-
"workbox-build": "^7.
|
|
106
|
-
"workbox-window": "^7.
|
|
101
|
+
"vitest": "^3.0.9",
|
|
102
|
+
"vue-tsc": "^2.2.8",
|
|
103
|
+
"workbox-build": "^7.3.0",
|
|
104
|
+
"workbox-window": "^7.3.0"
|
|
107
105
|
},
|
|
108
106
|
"scripts": {
|
|
109
107
|
"build": "vite build",
|
package/src/auto-imports.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ declare global {
|
|
|
37
37
|
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
|
|
38
38
|
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
|
|
39
39
|
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
|
|
40
|
+
const createRef: typeof import('@vueuse/core')['createRef']
|
|
40
41
|
const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate']
|
|
41
42
|
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
|
|
42
43
|
const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise']
|
|
@@ -83,6 +84,7 @@ declare global {
|
|
|
83
84
|
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
|
84
85
|
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
|
|
85
86
|
const onDeactivated: typeof import('vue')['onDeactivated']
|
|
87
|
+
const onElementRemoval: typeof import('@vueuse/core')['onElementRemoval']
|
|
86
88
|
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
|
87
89
|
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
|
|
88
90
|
const onLongPress: typeof import('@vueuse/core')['onLongPress']
|
|
@@ -169,6 +171,7 @@ declare global {
|
|
|
169
171
|
const useCloned: typeof import('@vueuse/core')['useCloned']
|
|
170
172
|
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
|
171
173
|
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
|
|
174
|
+
const useCountdown: typeof import('@vueuse/core')['useCountdown']
|
|
172
175
|
const useCounter: typeof import('@vueuse/core')['useCounter']
|
|
173
176
|
const useCssModule: typeof import('vue')['useCssModule']
|
|
174
177
|
const useCssVar: typeof import('@vueuse/core')['useCssVar']
|
|
@@ -254,6 +257,7 @@ declare global {
|
|
|
254
257
|
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
|
|
255
258
|
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
|
|
256
259
|
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
|
|
260
|
+
const usePreferredReducedTransparency: typeof import('@vueuse/core')['usePreferredReducedTransparency']
|
|
257
261
|
const usePrevious: typeof import('@vueuse/core')['usePrevious']
|
|
258
262
|
const useQueryBoardData: typeof import('./composables/useQueryBoardData')['useQueryBoardData']
|
|
259
263
|
const useRafFn: typeof import('@vueuse/core')['useRafFn']
|
|
@@ -262,6 +266,7 @@ declare global {
|
|
|
262
266
|
const useRoute: typeof import('vue-router')['useRoute']
|
|
263
267
|
const useRouteQueryForBattleOfGiants: typeof import('./composables/query')['useRouteQueryForBattleOfGiants']
|
|
264
268
|
const useRouter: typeof import('vue-router')['useRouter']
|
|
269
|
+
const useSSRWidth: typeof import('@vueuse/core')['useSSRWidth']
|
|
265
270
|
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
|
|
266
271
|
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
|
|
267
272
|
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
|
|
@@ -336,9 +341,16 @@ declare global {
|
|
|
336
341
|
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
|
337
342
|
import('vue')
|
|
338
343
|
// @ts-ignore
|
|
339
|
-
export type {
|
|
344
|
+
export type { Pagination } from './composables/pagination'
|
|
345
|
+
import('./composables/pagination')
|
|
346
|
+
// @ts-ignore
|
|
347
|
+
export type { LastBlockDisplayType, AnimatedSubmissionBlockItem } from './composables/type'
|
|
340
348
|
import('./composables/type')
|
|
349
|
+
// @ts-ignore
|
|
350
|
+
export type { BoardData } from './composables/useQueryBoardData'
|
|
351
|
+
import('./composables/useQueryBoardData')
|
|
341
352
|
}
|
|
353
|
+
|
|
342
354
|
// for vue template auto import
|
|
343
355
|
import { UnwrapRef } from 'vue'
|
|
344
356
|
declare module 'vue' {
|
|
@@ -371,6 +383,7 @@ declare module 'vue' {
|
|
|
371
383
|
readonly createGlobalState: UnwrapRef<typeof import('@vueuse/core')['createGlobalState']>
|
|
372
384
|
readonly createInjectionState: UnwrapRef<typeof import('@vueuse/core')['createInjectionState']>
|
|
373
385
|
readonly createReactiveFn: UnwrapRef<typeof import('@vueuse/core')['createReactiveFn']>
|
|
386
|
+
readonly createRef: UnwrapRef<typeof import('@vueuse/core')['createRef']>
|
|
374
387
|
readonly createReusableTemplate: UnwrapRef<typeof import('@vueuse/core')['createReusableTemplate']>
|
|
375
388
|
readonly createSharedComposable: UnwrapRef<typeof import('@vueuse/core')['createSharedComposable']>
|
|
376
389
|
readonly createTemplatePromise: UnwrapRef<typeof import('@vueuse/core')['createTemplatePromise']>
|
|
@@ -416,6 +429,7 @@ declare module 'vue' {
|
|
|
416
429
|
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
|
417
430
|
readonly onClickOutside: UnwrapRef<typeof import('@vueuse/core')['onClickOutside']>
|
|
418
431
|
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
|
432
|
+
readonly onElementRemoval: UnwrapRef<typeof import('@vueuse/core')['onElementRemoval']>
|
|
419
433
|
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
|
420
434
|
readonly onKeyStroke: UnwrapRef<typeof import('@vueuse/core')['onKeyStroke']>
|
|
421
435
|
readonly onLongPress: UnwrapRef<typeof import('@vueuse/core')['onLongPress']>
|
|
@@ -500,6 +514,7 @@ declare module 'vue' {
|
|
|
500
514
|
readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
|
|
501
515
|
readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
|
|
502
516
|
readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
|
|
517
|
+
readonly useCountdown: UnwrapRef<typeof import('@vueuse/core')['useCountdown']>
|
|
503
518
|
readonly useCounter: UnwrapRef<typeof import('@vueuse/core')['useCounter']>
|
|
504
519
|
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
|
505
520
|
readonly useCssVar: UnwrapRef<typeof import('@vueuse/core')['useCssVar']>
|
|
@@ -584,6 +599,7 @@ declare module 'vue' {
|
|
|
584
599
|
readonly usePreferredDark: UnwrapRef<typeof import('@vueuse/core')['usePreferredDark']>
|
|
585
600
|
readonly usePreferredLanguages: UnwrapRef<typeof import('@vueuse/core')['usePreferredLanguages']>
|
|
586
601
|
readonly usePreferredReducedMotion: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedMotion']>
|
|
602
|
+
readonly usePreferredReducedTransparency: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedTransparency']>
|
|
587
603
|
readonly usePrevious: UnwrapRef<typeof import('@vueuse/core')['usePrevious']>
|
|
588
604
|
readonly useQueryBoardData: UnwrapRef<typeof import('./composables/useQueryBoardData')['useQueryBoardData']>
|
|
589
605
|
readonly useRafFn: UnwrapRef<typeof import('@vueuse/core')['useRafFn']>
|
|
@@ -592,6 +608,7 @@ declare module 'vue' {
|
|
|
592
608
|
readonly useRoute: UnwrapRef<typeof import('vue-router')['useRoute']>
|
|
593
609
|
readonly useRouteQueryForBattleOfGiants: UnwrapRef<typeof import('./composables/query')['useRouteQueryForBattleOfGiants']>
|
|
594
610
|
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
|
|
611
|
+
readonly useSSRWidth: UnwrapRef<typeof import('@vueuse/core')['useSSRWidth']>
|
|
595
612
|
readonly useScreenOrientation: UnwrapRef<typeof import('@vueuse/core')['useScreenOrientation']>
|
|
596
613
|
readonly useScreenSafeArea: UnwrapRef<typeof import('@vueuse/core')['useScreenSafeArea']>
|
|
597
614
|
readonly useScriptTag: UnwrapRef<typeof import('@vueuse/core')['useScriptTag']>
|
|
@@ -660,4 +677,4 @@ declare module 'vue' {
|
|
|
660
677
|
readonly watchWithFilter: UnwrapRef<typeof import('@vueuse/core')['watchWithFilter']>
|
|
661
678
|
readonly whenever: UnwrapRef<typeof import('@vueuse/core')['whenever']>
|
|
662
679
|
}
|
|
663
|
-
}
|
|
680
|
+
}
|
|
@@ -90,7 +90,7 @@ onMounted(() => {
|
|
|
90
90
|
const clientHeight = resolverRef.value.clientHeight;
|
|
91
91
|
|
|
92
92
|
gsap.to(resolverRef.value, {
|
|
93
|
-
duration: Math.round(resolver.value.teams.length * 0.
|
|
93
|
+
duration: Math.round(resolver.value.teams.length * 0.2),
|
|
94
94
|
scrollTop: scrollHeight - clientHeight,
|
|
95
95
|
ease: "power1.inOut",
|
|
96
96
|
onComplete: () => {
|
|
@@ -49,20 +49,12 @@ function showTeamName(team: Team) {
|
|
|
49
49
|
<div
|
|
50
50
|
flex flex-1 flex-col justify-center items-start gap-y-3
|
|
51
51
|
>
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
</div>
|
|
59
|
-
<template #popper>
|
|
60
|
-
<div>
|
|
61
|
-
{{ showTeamName(team) }}
|
|
62
|
-
</div>
|
|
63
|
-
</template>
|
|
64
|
-
</Tooltip>
|
|
65
|
-
|
|
52
|
+
<div
|
|
53
|
+
class="resolver-team-name"
|
|
54
|
+
truncate overflow-hidden
|
|
55
|
+
>
|
|
56
|
+
{{ showTeamName(team) }}
|
|
57
|
+
</div>
|
|
66
58
|
<div
|
|
67
59
|
flex flex-row text-sm items-start gap-x-2
|
|
68
60
|
>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import type { Giants, Rank, SelectOptionItem } from "@xcpcio/core";
|
|
3
|
+
import { GiantsType } from "@xcpcio/core";
|
|
3
4
|
import { MultiSelect } from "vue-search-select";
|
|
4
5
|
|
|
5
6
|
const props = defineProps<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import type { AnimatedSubmissionBlockItem } from "~/composables/type";
|
|
3
3
|
|
|
4
|
+
import { SubmissionStatusToSimpleString } from "@xcpcio/types";
|
|
4
5
|
import { getMedalColor } from "~/composables/color";
|
|
5
|
-
import type { AnimatedSubmissionBlockItem } from "~/composables/type";
|
|
6
6
|
import { LastBlockDisplayType } from "~/composables/type";
|
|
7
7
|
|
|
8
8
|
const props = defineProps<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { Rank } from "@xcpcio/core";
|
|
3
|
-
import { Submission } from "@xcpcio/core";
|
|
4
|
-
|
|
5
3
|
import type { AnimatedSubmissionBlockItem } from "~/composables/type";
|
|
4
|
+
|
|
5
|
+
import { Submission } from "@xcpcio/core";
|
|
6
6
|
import { LastBlockDisplayType } from "~/composables/type";
|
|
7
7
|
|
|
8
8
|
const props = defineProps<{
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { Contest, Submissions, Teams } from "@xcpcio/core";
|
|
3
|
+
import type { Contest as IContest, Submissions as ISubmissions, Teams as ITeams } from "@xcpcio/types";
|
|
4
|
+
import type { Item } from "~/components/board/SecondLevelMenu.vue";
|
|
5
|
+
|
|
3
6
|
import { onKeyStroke, useDocumentVisibility, useIntervalFn, useNow } from "@vueuse/core";
|
|
4
7
|
import { useRouteQuery } from "@vueuse/router";
|
|
5
8
|
|
|
6
9
|
import { createContest, createSubmissions, createTeams, getImageSource, getTimeDiff, Rank, RankOptions } from "@xcpcio/core";
|
|
7
|
-
import { ContestState
|
|
8
|
-
|
|
10
|
+
import { ContestState } from "@xcpcio/types";
|
|
9
11
|
import _ from "lodash";
|
|
10
|
-
import type { Item } from "~/components/board/SecondLevelMenu.vue";
|
|
11
12
|
|
|
12
13
|
import { TITLE_SUFFIX } from "~/composables/constant";
|
|
13
14
|
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
text-align: center;
|
|
13
13
|
opacity: 0;
|
|
14
14
|
visibility: hidden;
|
|
15
|
-
transition:
|
|
15
|
+
transition:
|
|
16
|
+
opacity 0.3s,
|
|
17
|
+
visibility 0.3s;
|
|
16
18
|
white-space: nowrap;
|
|
17
19
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
18
20
|
pointer-events: none;
|
|
@@ -29,7 +31,7 @@
|
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
.tooltip::after {
|
|
32
|
-
content:
|
|
34
|
+
content: "";
|
|
33
35
|
position: absolute;
|
|
34
36
|
width: 0;
|
|
35
37
|
height: 0;
|