@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.
- package/dist/404.html +1 -1
- package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-Ds4ljgE5.js +1 -0
- package/dist/assets/{Board-Cqw_GFPX.js → Board-CDmVknLp.js} +22 -22
- package/dist/assets/ContestStateBadge-2-IqOHtS.js +1 -0
- package/dist/assets/Countdown-behPk5oB.js +1 -0
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-2RH0qEnY.js +1 -0
- package/dist/assets/NavBar-Cyd_3B6z.js +1 -0
- package/dist/assets/{Resolver-odXTcg4v.js → Resolver-CrD0lAgS.js} +4 -4
- package/dist/assets/{RightArrowIcon-BUVB4PcZ.js → RightArrowIcon-BCtV5NaN.js} +1 -1
- package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-CMFAx4px.js +1 -0
- 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
- package/dist/assets/_...all_-BAHZYr8d.js +1 -0
- package/dist/assets/{_...all_-D0T-OXY6.js → _...all_-CJ-wCFRG.js} +1 -1
- package/dist/assets/board-layout-CeOh-ZCs.js +1 -0
- package/dist/assets/constant-DcnmUm-i.js +1 -0
- package/dist/assets/{dayjs-CTwHCgNb.js → dayjs-BTtDHzxO.js} +1 -1
- package/dist/assets/default-Cmhn5CHv.js +1 -0
- package/dist/assets/{headless-Csc7i5Qz.js → headless-B9z-UUTO.js} +1 -1
- package/dist/assets/index-B1073arl.js +71 -0
- package/dist/assets/index-B1MSy4n9.css +5 -0
- package/dist/assets/{index-Bt3Q0cTR.js → index-BR1Jeymt.js} +1 -1
- package/dist/assets/index-CUCowXSF.js +1 -0
- package/dist/assets/index-C_1MUfam.js +1 -0
- package/dist/assets/index-DOBgzkLx.js +1 -0
- package/dist/assets/index-DQeCOqY8.js +1 -0
- package/dist/assets/{index-BgiZ27_2.js → index-_fMCJNi3.js} +2 -2
- package/dist/assets/index-layout-CWkCP9X6.js +1 -0
- package/dist/assets/{pagination-BYgair5F.js → pagination-D1x1HgQB.js} +3 -3
- package/dist/assets/{person-DX7u9Sa0.js → person-BZPbTU5K.js} +1 -1
- package/dist/assets/rank-D-r3krAA.js +1 -0
- package/dist/assets/use-vmodel-BtnCl86J.js +39 -0
- package/dist/index.html +1 -1
- package/dist/sw.js +28 -1
- package/package.json +4 -7
- package/public/sw.js +28 -0
- package/src/components/board/ProblemInfoModal.vue +1 -7
- package/src/components.d.ts +2 -2
- package/src/typed-router.d.ts +3 -18
- package/tsconfig.json +0 -1
- package/vite.config.ts +1 -31
- package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-BIwyaas2.js +0 -1
- package/dist/assets/ContestStateBadge-c8X8TnRM.js +0 -1
- package/dist/assets/Countdown-C8vv8_A7.js +0 -1
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-DDGtS1fZ.js +0 -1
- package/dist/assets/Footer-CsFKhzRo.js +0 -1
- package/dist/assets/NavBar-8MEEHfMi.js +0 -1
- package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-DK_nCS-q.js +0 -1
- package/dist/assets/_...all_-DsrMzm0B.js +0 -1
- package/dist/assets/_name_-Q6uO4OvA.js +0 -1
- package/dist/assets/about-6K4bLjIL.js +0 -5
- package/dist/assets/board-CdxpokP6.js +0 -1
- package/dist/assets/board-layout-DTiKJFhr.js +0 -1
- package/dist/assets/constant-UkUMYS7s.js +0 -1
- package/dist/assets/default-0Dj2gFM3.js +0 -1
- package/dist/assets/home-pqiOmpdS.js +0 -1
- package/dist/assets/index-COAPxWgF.js +0 -1
- package/dist/assets/index-CQ1wUkw4.css +0 -5
- package/dist/assets/index-CQKud_R7.js +0 -1
- package/dist/assets/index-DHuuYClc.js +0 -1
- package/dist/assets/index-YUJOYuUP.js +0 -71
- package/dist/assets/index-layout-EraWOXxf.js +0 -1
- package/dist/assets/query-pqGZ6xxB.js +0 -39
- package/dist/assets/rank-BXdOaS_b.js +0 -1
- package/dist/assets/test-DED1PV_E.js +0 -1
- package/dist/assets/use-vmodel-DoyWYfPP.js +0 -1
- package/dist/assets/useQueryBoardData-DeC81rZB.js +0 -1
- package/dist/assets/user-BSro7P6Z.js +0 -1
- package/dist/assets/virtual_pwa-register-BdcP16Ar.js +0 -1
- package/dist/assets/workbox-window.prod.es5-CwtvwXb3.js +0 -2
- package/dist/manifest.webmanifest +0 -1
- package/dist/pwa-192x192.png +0 -0
- package/dist/pwa-512x512.png +0 -0
- package/dist/safari-pinned-tab.svg +0 -41
- package/dist/workbox-7ee6f867.js +0 -1
- package/public/pwa-192x192.png +0 -0
- package/public/pwa-512x512.png +0 -0
- package/public/safari-pinned-tab.svg +0 -41
- package/src/layouts/home.vue +0 -12
- package/src/modules/README.md +0 -11
- package/src/modules/pwa.ts +0 -15
- package/src/pages/about.md +0 -21
- package/src/pages/hi/[name].vue +0 -50
- package/src/pages/test.vue +0 -65
- /package/src/components/{icon → common}/RightArrowIcon.vue +0 -0
- /package/src/components/{table → common}/TablePagination.vue +0 -0
- /package/src/pages/{board.vue → board/index.vue} +0 -0
package/dist/workbox-7ee6f867.js
DELETED
|
@@ -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}));
|
package/public/pwa-192x192.png
DELETED
|
Binary file
|
package/public/pwa-512x512.png
DELETED
|
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>
|
package/src/layouts/home.vue
DELETED
package/src/modules/README.md
DELETED
|
@@ -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
|
-
```
|
package/src/modules/pwa.ts
DELETED
|
@@ -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
|
-
};
|
package/src/pages/about.md
DELETED
|
@@ -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.
|
package/src/pages/hi/[name].vue
DELETED
|
@@ -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>
|
package/src/pages/test.vue
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|