@xcpcio/board-app 0.73.1 → 0.74.1

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 (86) hide show
  1. package/dist/404.html +1 -1
  2. package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-Ds4ljgE5.js +1 -0
  3. package/dist/assets/{Board-Cqw_GFPX.js → Board-CDmVknLp.js} +22 -22
  4. package/dist/assets/ContestStateBadge-2-IqOHtS.js +1 -0
  5. package/dist/assets/Countdown-behPk5oB.js +1 -0
  6. package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-2RH0qEnY.js +1 -0
  7. package/dist/assets/NavBar-Cyd_3B6z.js +1 -0
  8. package/dist/assets/{Resolver-odXTcg4v.js → Resolver-CrD0lAgS.js} +4 -4
  9. package/dist/assets/{RightArrowIcon-BUVB4PcZ.js → RightArrowIcon-BCtV5NaN.js} +1 -1
  10. package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-CMFAx4px.js +1 -0
  11. package/dist/assets/{Tooltip.vue_vue_type_script_setup_true_lang-vH11Q1Kc.js → Tooltip.vue_vue_type_script_setup_true_lang-BnfvXkQl.js} +1 -1
  12. package/dist/assets/_...all_-BAHZYr8d.js +1 -0
  13. package/dist/assets/{_...all_-D0T-OXY6.js → _...all_-CJ-wCFRG.js} +1 -1
  14. package/dist/assets/board-layout-CeOh-ZCs.js +1 -0
  15. package/dist/assets/constant-DcnmUm-i.js +1 -0
  16. package/dist/assets/{dayjs-CTwHCgNb.js → dayjs-BTtDHzxO.js} +1 -1
  17. package/dist/assets/default-Cmhn5CHv.js +1 -0
  18. package/dist/assets/{headless-Csc7i5Qz.js → headless-B9z-UUTO.js} +1 -1
  19. package/dist/assets/index-B1073arl.js +71 -0
  20. package/dist/assets/index-B1MSy4n9.css +5 -0
  21. package/dist/assets/{index-Bt3Q0cTR.js → index-BR1Jeymt.js} +1 -1
  22. package/dist/assets/index-CUCowXSF.js +1 -0
  23. package/dist/assets/index-C_1MUfam.js +1 -0
  24. package/dist/assets/index-DOBgzkLx.js +1 -0
  25. package/dist/assets/index-DQeCOqY8.js +1 -0
  26. package/dist/assets/{index-BgiZ27_2.js → index-_fMCJNi3.js} +2 -2
  27. package/dist/assets/index-layout-CWkCP9X6.js +1 -0
  28. package/dist/assets/{pagination-BYgair5F.js → pagination-D1x1HgQB.js} +3 -3
  29. package/dist/assets/{person-DX7u9Sa0.js → person-BZPbTU5K.js} +1 -1
  30. package/dist/assets/rank-D-r3krAA.js +1 -0
  31. package/dist/assets/use-vmodel-BtnCl86J.js +39 -0
  32. package/dist/index.html +1 -1
  33. package/dist/sw.js +28 -1
  34. package/package.json +4 -7
  35. package/public/sw.js +28 -0
  36. package/src/components/board/ProblemInfoModal.vue +1 -7
  37. package/src/components.d.ts +2 -2
  38. package/src/typed-router.d.ts +3 -18
  39. package/tsconfig.json +0 -1
  40. package/vite.config.ts +1 -31
  41. package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-BIwyaas2.js +0 -1
  42. package/dist/assets/ContestStateBadge-c8X8TnRM.js +0 -1
  43. package/dist/assets/Countdown-C8vv8_A7.js +0 -1
  44. package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-DDGtS1fZ.js +0 -1
  45. package/dist/assets/Footer-CsFKhzRo.js +0 -1
  46. package/dist/assets/NavBar-8MEEHfMi.js +0 -1
  47. package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-DK_nCS-q.js +0 -1
  48. package/dist/assets/_...all_-DsrMzm0B.js +0 -1
  49. package/dist/assets/_name_-Q6uO4OvA.js +0 -1
  50. package/dist/assets/about-6K4bLjIL.js +0 -5
  51. package/dist/assets/board-CdxpokP6.js +0 -1
  52. package/dist/assets/board-layout-DTiKJFhr.js +0 -1
  53. package/dist/assets/constant-UkUMYS7s.js +0 -1
  54. package/dist/assets/default-0Dj2gFM3.js +0 -1
  55. package/dist/assets/home-pqiOmpdS.js +0 -1
  56. package/dist/assets/index-COAPxWgF.js +0 -1
  57. package/dist/assets/index-CQ1wUkw4.css +0 -5
  58. package/dist/assets/index-CQKud_R7.js +0 -1
  59. package/dist/assets/index-DHuuYClc.js +0 -1
  60. package/dist/assets/index-YUJOYuUP.js +0 -71
  61. package/dist/assets/index-layout-EraWOXxf.js +0 -1
  62. package/dist/assets/query-pqGZ6xxB.js +0 -39
  63. package/dist/assets/rank-BXdOaS_b.js +0 -1
  64. package/dist/assets/test-DED1PV_E.js +0 -1
  65. package/dist/assets/use-vmodel-DoyWYfPP.js +0 -1
  66. package/dist/assets/useQueryBoardData-DeC81rZB.js +0 -1
  67. package/dist/assets/user-BSro7P6Z.js +0 -1
  68. package/dist/assets/virtual_pwa-register-BdcP16Ar.js +0 -1
  69. package/dist/assets/workbox-window.prod.es5-CwtvwXb3.js +0 -2
  70. package/dist/manifest.webmanifest +0 -1
  71. package/dist/pwa-192x192.png +0 -0
  72. package/dist/pwa-512x512.png +0 -0
  73. package/dist/safari-pinned-tab.svg +0 -41
  74. package/dist/workbox-7ee6f867.js +0 -1
  75. package/public/pwa-192x192.png +0 -0
  76. package/public/pwa-512x512.png +0 -0
  77. package/public/safari-pinned-tab.svg +0 -41
  78. package/src/layouts/home.vue +0 -12
  79. package/src/modules/README.md +0 -11
  80. package/src/modules/pwa.ts +0 -15
  81. package/src/pages/about.md +0 -21
  82. package/src/pages/hi/[name].vue +0 -50
  83. package/src/pages/test.vue +0 -65
  84. /package/src/components/{icon → common}/RightArrowIcon.vue +0 -0
  85. /package/src/components/{table → common}/TablePagination.vue +0 -0
  86. /package/src/pages/{board.vue → board/index.vue} +0 -0
@@ -1 +0,0 @@
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}));
Binary file
Binary file
@@ -1,41 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
- "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
- <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
- width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
6
- preserveAspectRatio="xMidYMid meet">
7
- <metadata>
8
- Created by potrace 1.11, written by Peter Selinger 2001-2013
9
- </metadata>
10
- <g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
11
- fill="#000000" stroke="none">
12
- <path d="M2916 6015 c-93 -57 -173 -108 -178 -113 -6 -6 7 -36 33 -78 23 -38
13
- 86 -141 139 -229 54 -88 135 -221 180 -295 46 -74 94 -155 108 -180 14 -25 29
14
- -52 35 -60 7 -12 -9 -45 -62 -130 -39 -63 -85 -140 -103 -170 -18 -30 -117
15
- -194 -222 -365 -104 -170 -199 -326 -210 -346 -12 -19 -61 -102 -111 -183 -49
16
- -81 -101 -166 -115 -189 -14 -23 -39 -64 -55 -90 -17 -27 -77 -126 -134 -220
17
- -57 -95 -127 -210 -156 -257 -194 -315 -325 -533 -325 -541 0 -5 -4 -9 -10 -9
18
- -5 0 -10 -4 -10 -9 0 -5 -55 -98 -121 -207 -247 -404 -403 -660 -416 -684 -8
19
- -14 -58 -97 -112 -185 l-98 -160 -189 -2 c-104 -1 -225 -2 -269 -2 l-80 -1 1
20
- -210 c0 -116 4 -213 8 -218 11 -11 6107 -9 6114 2 8 13 8 406 0 419 -4 7 -88
21
- 10 -265 9 l-259 -2 -50 77 c-27 43 -54 87 -60 98 -6 11 -62 103 -124 205 -62
22
- 102 -120 197 -129 212 -9 16 -85 142 -170 280 -85 139 -160 262 -165 273 -6
23
- 11 -13 22 -16 25 -3 3 -30 46 -59 95 -30 50 -102 169 -161 265 -59 96 -240
24
- 393 -402 660 -163 267 -371 609 -463 760 -92 151 -194 318 -225 370 -31 52
25
- -101 167 -155 255 l-97 160 27 50 c16 27 32 55 36 61 5 5 38 59 74 120 36 60
26
- 69 116 74 124 5 8 75 122 155 253 81 131 144 242 141 247 -4 7 -114 76 -183
27
- 115 -10 6 -52 32 -95 58 -42 27 -81 46 -87 42 -8 -5 -94 -140 -140 -219 -19
28
- -33 -221 -365 -246 -404 -15 -22 -18 -18 -111 135 -52 87 -123 203 -157 258
29
- -67 108 -67 110 -111 184 -16 28 -34 51 -40 50 -5 0 -86 -47 -179 -104z m739
30
- -1642 c319 -526 519 -854 637 -1046 43 -70 78 -130 78 -133 0 -2 5 -10 10 -17
31
- 6 -7 69 -109 140 -227 72 -118 134 -222 139 -230 5 -8 55 -89 111 -180 56 -91
32
- 105 -172 110 -180 9 -14 52 -84 270 -445 54 -88 135 -221 180 -295 46 -74 91
33
- -148 100 -165 9 -16 31 -53 48 -81 18 -28 32 -54 32 -57 0 -3 -403 -6 -895 -5
34
- l-895 0 0 81 c-1 45 -1 439 -1 875 l0 792 -37 1 c-57 1 -344 1 -374 0 l-27 -1
35
- 0 -832 c0 -458 0 -852 0 -875 l-1 -42 -895 1 c-492 0 -895 3 -895 5 0 9 115
36
- 198 122 201 5 2 8 7 8 12 0 5 23 46 51 92 28 46 78 128 112 183 33 55 70 116
37
- 82 135 12 19 132 215 265 435 133 220 266 438 295 485 65 105 206 338 220 362
38
- 6 10 172 284 370 608 198 325 387 635 420 690 33 55 62 100 65 100 3 0 73
39
- -111 155 -247z"/>
40
- </g>
41
- </svg>
@@ -1,12 +0,0 @@
1
- <template>
2
- <main
3
- px-4 py-10
4
- text="center gray-700 dark:gray-200"
5
- >
6
- <RouterView />
7
- <Footer />
8
- <div mx-auto mt-5 text-center text-sm opacity-50>
9
- [Home Layout]
10
- </div>
11
- </main>
12
- </template>
@@ -1,11 +0,0 @@
1
- # Modules
2
-
3
- A custom user module system. Place a `.ts` file with the following template, it will be installed automatically.
4
-
5
- ```ts
6
- import type { UserModule } from "@board/types";
7
-
8
- export const install: UserModule = ({ app, router, isClient }) => {
9
- // do something
10
- };
11
- ```
@@ -1,15 +0,0 @@
1
- import type { UserModule } from "@board/types";
2
-
3
- // https://github.com/antfu/vite-plugin-pwa#automatic-reload-when-new-content-available
4
- export const install: UserModule = ({ isClient, router }) => {
5
- if (!isClient) {
6
- return;
7
- }
8
-
9
- router.isReady()
10
- .then(async () => {
11
- const { registerSW } = await import("virtual:pwa-register");
12
- registerSW({ immediate: true });
13
- })
14
- .catch(() => {});
15
- };
@@ -1,21 +0,0 @@
1
- ---
2
- title: About
3
- ---
4
-
5
- <div class="text-center">
6
- <!-- You can use Vue components inside markdown -->
7
- <div i-carbon-dicom-overlay class="text-4xl -mb-6 m-auto" />
8
- <h3>About</h3>
9
- </div>
10
-
11
- [Board - XCPCIO](https://github.com/xcpcio/xcpcio) is an opinionated ICPC/CCPC Board made by [@dup4](https://github.com/dup4).
12
-
13
- ```js
14
- // syntax highlighting example
15
- function board() {
16
- const foo = "bar";
17
- console.log(foo);
18
- }
19
- ```
20
-
21
- Check out the [GitHub repo](https://github.com/xcpcio/xcpcio) for more details.
@@ -1,50 +0,0 @@
1
- <script setup lang="ts">
2
- const props = defineProps<{ name: string }>();
3
- const router = useRouter();
4
- const user = useUserStore();
5
- const { t } = useI18n();
6
-
7
- watchEffect(() => {
8
- user.setNewName(props.name);
9
- });
10
- </script>
11
-
12
- <template>
13
- <div
14
- w-full
15
- flex flex-col justify-center items-center
16
- >
17
- <div text-4xl>
18
- <div i-carbon-pedestrian inline-block />
19
- </div>
20
- <p>
21
- {{ t('intro.hi', { name: props.name }) }}
22
- </p>
23
-
24
- <p text-sm opacity-75>
25
- <em>{{ t('intro.dynamic-route') }}</em>
26
- </p>
27
-
28
- <template v-if="user.otherNames.length">
29
- <p mt-4 text-sm>
30
- <span opacity-75>{{ t('intro.aka') }}:</span>
31
- <ul>
32
- <li v-for="otherName in user.otherNames" :key="otherName">
33
- <RouterLink :to="`/hi/${otherName}`" replace>
34
- {{ otherName }}
35
- </RouterLink>
36
- </li>
37
- </ul>
38
- </p>
39
- </template>
40
-
41
- <div>
42
- <button
43
- m="3 t6" text-sm btn
44
- @click="router.back()"
45
- >
46
- {{ t('button.back') }}
47
- </button>
48
- </div>
49
- </div>
50
- </template>
@@ -1,65 +0,0 @@
1
- <script setup lang="ts">
2
- defineOptions({
3
- name: "IndexPage",
4
- });
5
- const user = useUserStore();
6
- const name = ref(user.savedName);
7
-
8
- const router = useRouter();
9
- function go() {
10
- if (name.value) {
11
- router.push(`/hi/${encodeURIComponent(name.value)}`);
12
- }
13
- }
14
-
15
- const { t } = useI18n();
16
- </script>
17
-
18
- <template>
19
- <div
20
- flex flex-col justify-center items-center
21
- >
22
- <div text-4xl>
23
- <div i-carbon-campsite />
24
- </div>
25
- <p>
26
- <a rel="noreferrer" href="https://github.com/antfu/vitesse" target="_blank">
27
- Vitesse
28
- </a>
29
- </p>
30
- <p>
31
- <em text-sm opacity-75>{{ t('intro.desc') }}</em>
32
- </p>
33
-
34
- <div py-4 />
35
-
36
- <div
37
- w-48
38
- >
39
- <TheInput
40
- v-model="name"
41
- :placeholder="t('intro.whats-your-name')"
42
- autocomplete="false"
43
- @keydown.enter="go"
44
- />
45
- <label class="hidden" for="input">
46
- {{ t('intro.whats-your-name') }}
47
- </label>
48
- </div>
49
-
50
- <div>
51
- <button
52
- m-3 text-sm btn
53
- :disabled="!name"
54
- @click="go"
55
- >
56
- {{ t('button.go') }}
57
- </button>
58
- </div>
59
- </div>
60
- </template>
61
-
62
- <route lang="yaml">
63
- meta:
64
- layout: home
65
- </route>
File without changes