-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathroute-scoreboard.chunk.f3202.esm.js
1 lines (1 loc) · 12.6 KB
/
route-scoreboard.chunk.f3202.esm.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{"FrX+":function(e,t,n){"use strict";function r(e){return Object(o.h)(l.a,{...e,glyph:"clock",viewBox:"0 0 24 24"})}n.d(t,"a",(function(){return r}));var o=n("sL3o"),a=n("ziER"),i=n.n(a),c=n("5JeM"),s=n.n(c),l=n("VXtC");const u=new i.a({id:"clock",use:"clock-usage",viewBox:"0 0 24 24",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#ffffff" id="clock"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" /><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z" /></symbol>'});s.a.add(u)},JXlG:function(e,t,n){"use strict";(function(e){function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=n("sL3o"),l=n("+mXV"),u=n("C+Gs"),d=n("obyI"),p=n("Xjb4");const b=({minX:e,maxX:t,time:n,width:r})=>(n-e)/(t-e)*r,f=e=>{const t=parseInt(e.slice(-12),16)+1;return`rgba(186, ${89*t%128}, ${53*t%128}, 0.8)`},g=Object(p.b)(t=>{let{points:n,onTooltipIn:r,onMouseMove:o,onMouseOut:a,name:l,currentScore:u}=t,d=c(t,["points","onTooltipIn","onMouseMove","onMouseOut","name","currentScore"]);return e(s.Fragment,null,e("polyline",i({},d,{points:n,"stroke-width":2,"stroke-linecap":"round",fill:"transparent","pointer-events":"none"})),e("polyline",{"stroke-width":12,points:n,"stroke-linecap":"round",fill:"transparent","pointer-events":"stroke",onMouseOver:r(`${l} - ${u} points`),onMouseMove:o,onMouseOut:a}))});t.a=Object(u.a)({root:{marginBottom:"20px",background:"#222","& .frame__body":{padding:"20px"}},tooltip:{position:"fixed",pointerEvents:"none",background:"#fff",color:"#222",padding:"5px 10px",borderRadius:"5px",margin:"5px",top:"0",left:"0"}},(function({graphData:t,classes:n}){const r=Object(l.i)(null),[a,i]=Object(l.j)(window.innerWidth),c=Object(l.a)(()=>{null!==r.current&&i(r.current.getBoundingClientRect().width)},[]),[u,p]=Object(l.j)({x:0,y:0,content:""});Object(l.f)(()=>{c()},[c]),Object(l.d)(()=>{function e(){c()}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[c]);const{polylines:m,labels:O}=Object(l.g)(()=>{if(!t||0===t.length)return{polylines:[],labels:[]};const e=d.a.startTime,n=Math.min(Date.now(),d.a.endTime);let r=0;t.graph.forEach(e=>{e.points.forEach(e=>{e.score>r&&(r=e.score)})});const o=(({minX:e,maxX:t,width:n})=>{const r=[],o=864e5*Math.ceil((t-e)/n*200/864e5);let a=new Date(e).setHours(0,0,0,0);a%o!=0&&(a+=o);for(let i=a;i<=t;i+=o)r.push({label:new Date(i).toLocaleDateString(),x:b({minX:e,maxX:t,time:i,width:n})});return r})({minX:e,maxX:n,width:a});return{polylines:t.graph.map(t=>(({id:e,name:t,currentScore:n,points:r,maxX:o,minX:a,maxY:i,width:c})=>{const s=r.map(e=>`${b({minX:a,maxX:o,time:e.time,width:c})} ${400*(1-e.score/i)}`);return{color:f(e),name:t,currentScore:n,points:s.join(",")}})({points:t.points,id:t.id,name:t.name,currentScore:t.points[0].score,maxX:n,minX:e,maxY:r,width:a})),labels:o}},[t,a]),y=Object(l.a)(e=>()=>{p(t=>o(o({},t),{},{content:e}))},[]),v=Object(l.a)(e=>{p(t=>o(o({},t),{},{x:e.clientX,y:e.clientY}))},[]),h=Object(l.a)(()=>{p(e=>o(o({},e),{},{content:""}))},[]);return null===t?null:e("div",{class:"frame "+n.root},e("div",{class:"frame__body"},e("svg",{ref:r,viewBox:`-22 -2 ${a+4+20} 444`},e(s.Fragment,null,m.map(({points:t,color:n,name:r,currentScore:o},a)=>e(g,{key:a,stroke:n,points:t,name:r,currentScore:o,onMouseMove:v,onMouseOut:h,onTooltipIn:y}))),e(s.Fragment,null,O.map((t,n)=>e("text",{x:t.x,y:440,key:n,fill:"#fff"},t.label))),e("line",{x1:-20,y1:420,x2:a,y2:420,stroke:"var(--cirrus-bg)","stroke-linecap":"round","stroke-width":2}),e("line",{x1:-20,y1:"0",x2:-20,y2:420,stroke:"var(--cirrus-bg)","stroke-linecap":"round","stroke-width":2}))),u.content&&e("div",{class:n.tooltip,style:{transform:`translate(${u.x}px, ${u.y}px)`}},u.content))}))}).call(this,n("sL3o").h)},VXtC:function(e,t,n){"use strict";(function(e){function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function a(t){let{glyph:n,viewBox:a}=t,i=o(t,["glyph","viewBox"]);return e("svg",r({},i,{viewBox:a,xmlns:"http://www.w3.org/2000/svg"}),e("use",{xlinkHref:"#"+n}))}n.d(t,"a",(function(){return a}))}).call(this,n("sL3o").h)},WX8x:function(e,t,n){"use strict";(function(e){function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function a(t){let{onClick:n,disabled:a,selected:c,children:s,tabindex:l}=t,u=o(t,["onClick","disabled","selected","children","tabindex"]);const d=u.class||"";delete u.class;const p=Object(i.a)(e=>{e.preventDefault(),n()},[n]);return e("div",r({class:`pagination-item short ${d}${c?" selected":""}`},u),e("a",{disabled:a,href:n&&"#",onClick:p,tabindex:l},s))}var i=n("+mXV"),c=n("sL3o"),s=n("C+Gs");const l=Object(s.a)({noHover:{backgroundColor:"transparent !important"},ellipses:{paddingLeft:"0.1em !important",paddingRight:"0.1em !important"}},({classes:t})=>{const n=Object(i.a)(e=>e.target.blur(),[]);return e("div",{class:"pagination-item short "+t.noHover},e("a",{class:"ellipses "+t.ellipses,tabindex:"-1",onFocus:n},"…"))});t.a=function({totalItems:t,pageSize:n,page:r,setPage:o,numVisiblePages:s}){s=s||9;const u=Math.ceil(t/n),{pages:d,startPage:p,endPage:b}=Object(i.g)(()=>{let e,t;u<=s?(e=1,t=u):(e=r-Math.ceil((s-1)/2),t=r+Math.floor((s-1)/2),e<1?(e=1,t=s):t>u&&(t=u,e=u-s+1),e>1&&(e+=2),t<u&&(t-=2));const n=[];for(let r=e;r<=t;r++)n.push(r);return{pages:n,startPage:e,endPage:t}},[u,r,s]),f=Object(i.g)(()=>{const e=[];for(let t=1;t<=u;t++)e.push(()=>o(t));return e},[o,u]);return e("div",{class:"pagination u-center"},e(a,{disabled:1===r,key:"<",onClick:f[r-1-1]},"<"),p>1&&e(c.Fragment,null,e(a,{key:1,onClick:f[0]},"1"),e(l,{key:".<"})),d.map(t=>e(a,{selected:t===r,key:t,onClick:f[t-1]},t)),b<u&&e(c.Fragment,null,e(l,{key:".>"}),e(a,{key:u,onClick:f[u-1]},u)),e(a,{disabled:r===u,key:">",onClick:f[r+1-1]},">"))}}).call(this,n("sL3o").h)},"YM+X":function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}));const r=async({division:e,offset:t=0})=>(await fetch(`/json/leaderboard/${null!=e?e:"all"}/now-${t}.json`)).json(),o=async({division:e})=>(await fetch(`/json/leaderboard/${null!=e?e:"all"}/graph.json`)).json()},obyI:function(e,t){"use strict";const n=JSON.parse(document.head.querySelector("meta[name=rctf-config]").content);t.a=n},pEbl:function(e,t,n){"use strict";(function(e){var r=n("C+Gs"),o=n("FrX+"),a=n("obyI");const i=Object(r.a)({card:{background:"#222",padding:"30px !important",flexDirection:"column"},icon:{width:"60px"}},({classes:t})=>e("div",{class:"row"},e("div",{class:"card u-center col-6 "+t.card},e("div",{class:t.icon},e(o.a,null)),e("h4",null,a.a.ctfName," has not started yet."))));t.a=i}).call(this,n("sL3o").h)},uRlC:function(e,t,n){"use strict";n.r(t),function(e){function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c=n("+mXV"),s=n("obyI"),l=n("C+Gs"),u=n("WX8x"),d=n("JXlG"),p=n("pEbl"),b=n("YM+X");const f=0,g=1,m=2,O=Object(l.a)({frame:{paddingBottom:"1.5em",paddingTop:"2.125em",background:"#222","& .frame__subtitle":{color:"#fff"},"& button, & select, & option":{background:"#111",color:"#fff"}},tableFrame:{paddingTop:"1.5em"},selected:{backgroundColor:"rgba(216,216,216,.07)","&:hover":{backgroundColor:"rgba(216,216,216,.20) !important"}},table:{tableLayout:"fixed","& tbody td":{overflow:"hidden",whiteSpace:"nowrap"}}},({classes:t})=>{const n=Object(c.g)(()=>{const e=JSON.parse(localStorage.getItem("scoreboardPageState")||"{}"),t=new URLSearchParams(location.search),n={};if(t.has("page")){const e=parseInt(t.get("page"));isNaN(e)||(n.page=e)}return t.has("division")&&(n.division=t.get("division")),a(a({},e),n)},[]),[o,i]=Object(c.j)([]),[l,O]=Object(c.j)(null),[y,v]=Object(c.j)(n.division||"all"),[h,j]=Object(c.j)(n.page||1),[w,k]=Object(c.j)(0),[x,P]=Object(c.j)(f),[S,X]=Object(c.j)(f),M=Object(c.a)(e=>{v(e),j(1)},[v,j]);Object(c.d)(()=>{localStorage.setItem("scoreboardPageState",JSON.stringify({pageSize:100,division:y}))},[100,y]),Object(c.d)(()=>{1===h&&""===location.search||history.replaceState({},"",`?page=${h}&division=${encodeURIComponent(y)}`)},[100,y,h]);const C=Object(c.a)(e=>M(e.target.value),[M]);return Object(c.d)(()=>{document.title="Scoreboard | "+s.a.ctfName},[]),Object(c.d)(()=>{(async()=>{const e="all"===y?void 0:y,{kind:t,data:n}=await Object(b.b)({division:e,offset:100*(h-1),limit:100});P("badNotStarted"===t?g:m),"goodLeaderboard"===t&&(i(n.leaderboard.map((e,t)=>a(a({},e),{},{rank:t+1+100*(h-1)}))),k(n.total))})()},[y,h,100]),Object(c.d)(()=>{(async()=>{const e="all"===y?void 0:y,{kind:t,data:n}=await Object(b.a)({division:e});X("badNotStarted"===t?g:m),"goodLeaderboard"===t&&O(n)})()},[y]),x===f||S===f?null:x===g||S===g?e(p.a,null):e("div",{class:"row u-center",style:"align-items: initial !important"},e("div",{class:"col-12 u-center"},e("div",{class:"col-8"},e(d.a,{graphData:l}))),e("div",{class:"col-3"},e("div",{class:"frame "+t.frame},e("div",{class:"frame__body"},e("div",{class:"frame__subtitle"},"Filter by division"),e("div",{class:"input-control"},e("select",{required:!0,class:"select",name:"division",value:y,onChange:C},e("option",{value:"all",selected:!0},"All"),Object.entries(s.a.divisions).map(([t,n])=>e("option",{key:t,value:t},n))))))),e("div",{class:"col-6"},e("div",{class:`frame ${t.frame} ${t.tableFrame}`},e("div",{class:"frame__body"},e("table",{class:"table small "+t.table},e("thead",null,e("tr",null,e("th",{style:"width: 3.5em"},"#"),e("th",null,"Team"),e("th",{style:"width: 5em"},"Points"))),e("tbody",null,o.map(({id:t,name:n,score:r,rank:o})=>e("tr",{key:t},e("td",null,o),e("td",null,e("a",{href:"/profile/"+t},n)),e("td",null,r)))))),w>100&&e(u.a,r({totalItems:w,pageSize:100,page:h,setPage:j},{numVisiblePages:9})))))});t.default=O}.call(this,n("sL3o").h)}}]);