diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index dc3bc09..0000000 --- a/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -> 1% -last 2 versions -not dead -not ie 11 diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7053c49..0000000 --- a/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 905c914..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - extends: [ - 'plugin:vue/vue3-essential', - '@vue/standard', - '@vue/typescript/recommended' - ], - parserOptions: { - ecmaVersion: 2020 - }, - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' - } -} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ff3fdc4..0000000 --- a/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -.DS_Store -node_modules -/dist - - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -dist \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 074faef..0000000 --- a/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# toneapi_webclient - -Tone is an API that allows Northstar players to track their kill statistics : https://toneapi.github.io/ToneAPI_webclient/ - -If you want your server to appear on this website, you can download the server side mod from [here](https://github.com/ToneAPI/ToneAPI_servermod) - -The server side mod will send kills data to Tone API, which will then process them. - -You will have to set a personal token for the mod to work, please ask me for one on Discord - -Alternatively, you can selfhost your own backend [here](https://github.com/ToneAPI/ToneAPI_backend) - -## Project setup -``` -npm install -``` - -### Compiles and hot-reloads for development -``` -npm run serve -``` - -### Compiles and minifies for production -``` -npm run build -``` - -### Lints and fixes files -``` -npm run lint -``` - -### Customize configuration -See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/css/855.b59c8833.css b/css/855.b59c8833.css new file mode 100644 index 0000000..c28768d --- /dev/null +++ b/css/855.b59c8833.css @@ -0,0 +1 @@ +.vlist[data-v-d1645486]{overflow-y:auto}.vlist[data-v-d1645486],.vscroll[data-v-d1645486]{height:calc(100% - 3em)}.inactive[data-v-12531736],.offline[data-v-12531736]{color:var(--comment)}.serverView[data-v-12531736]{margin:0 1rem 1rem 1rem;overflow:auto}.serverList[data-v-12531736]{overflow-y:auto;height:100%}.serverHeaders[data-v-12531736],.serverRow[data-v-12531736]{box-sizing:border-box;display:grid;grid-template-columns:4ch 178px 20ch 8ch 8ch 8ch 1fr;background:var(--bg-color);text-align:left;cursor:pointer;margin:0;transition:border .25s;height:100px}.serverHeaders[data-v-12531736]{height:3em;background:var(--current-line)}.serverHeaders>span[data-v-12531736]{padding:.5em .8em 0 .25em}.serverRow.odd[data-v-12531736]{background:var(--accent)}.serverRow.uneven[data-v-12531736]{background:var(--bg-color)}.serverRow[data-v-12531736]:hover{background:var(--current-line)}.serverRow>div[data-v-12531736]{padding:.5em .8em 0 .25em}.serverRow>div[data-v-12531736]:not(:last-child){border-right:solid var(--bg-color) 2px}img[data-v-12531736]{-o-object-fit:contain;object-fit:contain;height:100%} \ No newline at end of file diff --git a/css/981.7a3bc7bc.css b/css/981.7a3bc7bc.css new file mode 100644 index 0000000..216b65b --- /dev/null +++ b/css/981.7a3bc7bc.css @@ -0,0 +1 @@ +.vlist[data-v-d1645486]{overflow-y:auto}.vlist[data-v-d1645486],.vscroll[data-v-d1645486]{height:calc(100% - 3em)}.loadingComponent[data-v-eeb48308]{display:flex;align-items:center;justify-content:center;height:calc(100% - 3em)}.playerTable *{box-sizing:border-box}.playerTable{grid-area:list;margin-right:1rem;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.playerHeaders,.playerRow{box-sizing:border-box;display:grid;grid-template-columns:6ch 20ch 6ch 6ch 6ch 10ch 1fr;background:var(--bg-color);text-align:left;cursor:pointer;margin:0;transition:border .25s;height:2em}.playerRow.odd{background:var(--accent)}.playerRow.uneven{background:var(--bg-color)}.playerRow:hover{background:var(--current-line)}.playerRow>div:not(:last-child){border-right:solid var(--bg-color) 2px}.playerRow>div{padding:.5em .8em 0 .25em;overflow:hidden}.playerHeaders{position:sticky;top:0;height:3em}.playerHeaders>span{padding:.5em .8em 0 .25em}.playerHeaders{background:var(--current-line)}.playerHeaders div:hover{background:var(--bg-color)}.playerHeaders>div:not(:last-child){border-right:solid var(--bg-color) 2px}.playerHeaders>span:last-child{width:100%}@media only screen and (max-width:600px){.playerHeaders>span:nth-child(6),.playerHeaders>span:nth-child(7),.playerRow>div:nth-child(6),.playerRow>div:nth-child(7){display:none}.playerHeaders,.playerRow{grid-template-columns:6ch 20ch 6ch 6ch 1fr}}.player span{pointer-events:none}.selected{background:var(--comment)!important}canvas[data-v-558358e6]{background:var(--accent)}.playerChart[data-v-558358e6]{position:relative}#refreshChart[data-v-558358e6]{position:absolute;top:0;left:0}@media only screen and (max-width:922px){canvas[data-v-558358e6]{display:none!important}}.weaponChart[data-v-5c4ecc3d]{width:calc(min(50vw, 50vh) - 3em);height:calc(min(50vw, 50vh) - 3em)}@media only screen and (max-width:922px){canvas[data-v-5c4ecc3d]{display:none!important}}fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 12px 0;padding-right:30px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.multiselect[data-v-24065b86]{margin:0 .5em 1em .5em}.multiselect-wrapper[data-v-24065b86]{display:flex}.multiselect-wrapper button[data-v-24065b86]{margin:0 0 1em 0;font-size:16px}#playerView[data-v-24065b86]{margin:0 1rem 1rem 1rem;display:grid;overflow:auto;grid-template-areas:"list chart" "list info";grid-template-columns:50% 50%;grid-template-rows:50% 50%}@media only screen and (max-width:922px){#playerView[data-v-24065b86]{margin:0 1rem 1rem 1rem;display:grid;overflow:auto;grid-template-areas:"list list";grid-template-columns:100%;grid-template-rows:100%;width:calc(100vw - 1em);margin:0 0 1rem 1rem}.multiselect-wrapper button[data-v-24065b86]{margin:0 .5em 1em 0}.multiselect[data-v-24065b86]{width:calc(100% - 1em)}.playerChart[data-v-24065b86],.weaponChart[data-v-24065b86]{display:none}}#filters[data-v-24065b86]{grid-area:filters} \ No newline at end of file diff --git a/css/index.85c03c07.css b/css/index.85c03c07.css new file mode 100644 index 0000000..0e0a4c2 --- /dev/null +++ b/css/index.85c03c07.css @@ -0,0 +1 @@ +:root{--bg-color:#282a36;--accent:#353744;--current-line:#44475a;--comment:#6272a4;--foreground:#f8f8f2;--orange:#ffb86c;--cyan:#8be9fd;--green:#50fa7b;--pink:#ff79c6;--purple:#bd93f9;--red:#f55;--yellow:#f1fa8c}body{background:var(--bg-color);margin:0}#app{height:100vh;width:100vw;font-family:Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:var(--foreground);display:grid;grid-template-areas:"header header" "filters body " "stats body " "footer body ";grid-template-columns:1fr 5fr;grid-template-rows:auto 1fr auto auto}@media only screen and (max-width:922px){#app{grid-template-areas:"header header" "filters filters" "body body ";grid-template-rows:auto auto 1fr}}@media only screen and (max-width:600px){.github-link{display:none}}header{grid-area:header;height:64px;background:var(--bg-color);color:var(--foreground)}nav{display:flex;flex-direction:row;text-align:center;vertical-align:middle}nav a{font-weight:700;color:var(--foreground)}nav a.router-link-exact-active{color:var(--orange)}.navbar-logo img{height:48px;padding:8px 24px}.navbar-element{text-align:center;line-height:16px;padding:24px 32px}.navbar-element:hover,.navbar-logo:hover{background:var(--current-line)}.spacer{width:100%} \ No newline at end of file diff --git a/css/server.85c03c07.css b/css/server.85c03c07.css new file mode 100644 index 0000000..0e0a4c2 --- /dev/null +++ b/css/server.85c03c07.css @@ -0,0 +1 @@ +:root{--bg-color:#282a36;--accent:#353744;--current-line:#44475a;--comment:#6272a4;--foreground:#f8f8f2;--orange:#ffb86c;--cyan:#8be9fd;--green:#50fa7b;--pink:#ff79c6;--purple:#bd93f9;--red:#f55;--yellow:#f1fa8c}body{background:var(--bg-color);margin:0}#app{height:100vh;width:100vw;font-family:Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:var(--foreground);display:grid;grid-template-areas:"header header" "filters body " "stats body " "footer body ";grid-template-columns:1fr 5fr;grid-template-rows:auto 1fr auto auto}@media only screen and (max-width:922px){#app{grid-template-areas:"header header" "filters filters" "body body ";grid-template-rows:auto auto 1fr}}@media only screen and (max-width:600px){.github-link{display:none}}header{grid-area:header;height:64px;background:var(--bg-color);color:var(--foreground)}nav{display:flex;flex-direction:row;text-align:center;vertical-align:middle}nav a{font-weight:700;color:var(--foreground)}nav a.router-link-exact-active{color:var(--orange)}.navbar-logo img{height:48px;padding:8px 24px}.navbar-element{text-align:center;line-height:16px;padding:24px 32px}.navbar-element:hover,.navbar-logo:hover{background:var(--current-line)}.spacer{width:100%} \ No newline at end of file diff --git a/public/favicon.ico b/favicon.ico similarity index 100% rename from public/favicon.ico rename to favicon.ico diff --git a/index.html b/index.html new file mode 100644 index 0000000..b467cf6 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +
0&&t.stroke()}}function vi(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x f&&(f=i),m=(b*m+e)/++b):(y(),t.lineTo(e,i),u=s,b=0,p=f=i),g=i}y()}function wa(t){const e=t.options,i=e.borderDash&&e.borderDash.length,s=!t._decimated&&!t._loop&&!e.tension&&"monotone"!==e.cubicInterpolationMode&&!e.stepped&&!i;return s?va:_a}function Ma(t){return t.stepped?Vs:t.tension||"monotone"===t.cubicInterpolationMode?Ws:Rs}function ka(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),ma(t,e.options),t.stroke(n)}function Sa(t,e,i,s){const{segments:n,options:o}=e,r=wa(e);for(const a of n)ma(t,o,a.style),t.beginPath(),r(t,e,a,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}R(ga,"id","arc"),R(ga,"defaults",{borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),R(ga,"defaultRoutes",{backgroundColor:"backgroundColor"});const Pa="function"===typeof Path2D;function Ca(t,e,i,s){Pa&&!e.options.segment?ka(t,e,i,s):Sa(t,e,i,s)}class Da extends Qo{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;xs(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Gs(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Us(this,{property:e,start:s,end:s});if(!o.length)return;const r=[],a=Ma(i);let l,h;for(l=0,h=o.length;l f?X(t,i,c,!0,!1,p):I(e,n,r,i,c,a,s,u,p)},J=(t,e,n,r,i,c,a,s,u)=>{let l=0;const f=e.length;let p=t.length-1,d=f-1;while(l<=p&&l<=d){const r=t[l],o=e[l]=u?an(e[l]):cn(e[l]);if(!ze(r,o))break;v(r,o,n,null,i,c,a,s,u),l++}while(l<=p&&l<=d){const r=t[p],o=e[d]=u?an(e[d]):cn(e[d]);if(!ze(r,o))break;v(r,o,n,null,i,c,a,s,u),p--,d--}if(l>p){if(l<=d){const t=d+1,o=t
- For a guide and recipes on how to configure / customize this project,{for(t.length+=e,r=t.length-1;r>=o;r--)t[r]=t[r-e]};for(a(n),r=t;rt.box.fullSize)),!0),s=mo(fo(e,"left"),!0),n=mo(fo(e,"right")),o=mo(fo(e,"top"),!0),r=mo(fo(e,"bottom")),a=go(e,"x"),l=go(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:fo(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function vo(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function wo(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Mo(t,e,i,s){const{pos:n,box:o}=i,r=t.maxPadding;if(!At(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&wo(r,o.getPadding());const a=Math.max(0,e.outerWidth-vo(r,t,"left","right")),l=Math.max(0,e.outerHeight-vo(r,t,"top","bottom")),h=a!==t.w,c=l!==t.h;return t.w=a,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function ko(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}function So(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function Po(t,e,i,s){const n=[];let o,r,a,l,h,c;for(o=0,r=t.length,h=0;o"left"===t?"right":"right"===t?"left":t,lr=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,hr=(t,e)=>Math.min(e||t,t);function cr(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;os?s:i,s=n&&i>s?i:s,{min:It(i,It(s,i)),max:It(s,It(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){const e=this._labelItems||(this._labelItems=this._computeLabelItems(t));return e}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Wt(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,r=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=$i(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=r{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let l=0,h=this.data.datasets.length;lt.height-s/2?"bottom":"center"}function il(t,e,i,s){const{x:n,width:o}=s,r=i.caretSize+i.caretPadding;return"left"===t&&n+o+r>e.width||("right"===t&&n-o-r<0||void 0)}function sl(t,e,i,s){const{x:n,width:o}=i,{width:r,chartArea:{left:a,right:l}}=t;let h="center";return"center"===s?h=n<=(a+l)/2?"left":"right":n<=o/2?h="left":n>=r-o/2&&(h="right"),il(h,t,e,i)&&(h="center"),h}function nl(t,e,i){const s=i.yAlign||e.yAlign||el(t,i);return{xAlign:i.xAlign||e.xAlign||sl(t,e,i,s),yAlign:s}}function ol(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}function rl(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}function al(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:r}=t,{xAlign:a,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:p}=Wi(r);let f=ol(e,a);const g=rl(e,l,h);return"center"===l?"left"===a?f+=h:"right"===a&&(f-=h):"left"===a?f-=Math.max(c,u)+n:"right"===a&&(f+=Math.max(d,p)+n),{x:Se(f,0,s.width-e.width),y:Se(g,0,s.height-e.height)}}function ll(t,e,i){const s=zi(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function hl(t){return Za([],Ja(t))}function cl(t,e,i){return ji(t,{tooltip:e,tooltipItems:i,type:"tooltip"})}function dl(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const ul={beforeTitle:Ct,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=dl(i,t);Za(e.before,Ja(pl(n,"beforeLabel",this,t))),Za(e.lines,pl(n,"label",this,t)),Za(e.after,Ja(pl(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return hl(pl(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=pl(i,"beforeFooter",this,t),n=pl(i,"footer",this,t),o=pl(i,"afterFooter",this,t);let r=[];return r=Za(r,Ja(s)),r=Za(r,Ja(n)),r=Za(r,Ja(o)),r}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let r,a,l=[];for(r=0,a=e.length;rt.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),zt(l,(e=>{const i=dl(t.callbacks,e);s.push(pl(i,"labelColor",this,e)),n.push(pl(i,"labelPointStyle",this,e)),o.push(pl(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Ga[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=tl(this,i),r=Object.assign({},t,e),a=nl(this.chart,i,r),l=al(i,r,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:r}=i,{topLeft:a,topRight:l,bottomLeft:h,bottomRight:c}=Wi(r),{x:d,y:u}=t,{width:p,height:f}=e;let g,m,b,x,y,_;return"center"===n?(y=u+f/2,"left"===s?(g=d,m=g-o,x=y+o,_=y-o):(g=d+p,m=g+o,x=y-o,_=y+o),b=g):(m="left"===s?d+Math.max(a,h)+o:"right"===s?d+p-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,y=x-o,g=m-o,b=m+o):(x=u+f,y=x+o,g=m+o,b=m-o),_=x),{x1:g,x2:m,x3:b,y1:x,y2:y,y3:_}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,r,a;if(n){const l=Hs(i.rtl,this.x,this.width);for(t.x=ll(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Fi(i.titleFont),r=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,a=0;af&&(S=ue(k*S/f/p)*p),Ot(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(w=Math.floor(g/S)*S,M=Math.ceil(m/S)*S):(w=g,M=m),b&&x&&o&&ge((a-r)/o,S/1e3)?(k=Math.round(Math.min((a-r)/S,c)),S=(a-r)/k,w=r,M=a):y?(w=b?r:w,M=x?a:M,k=h-1,S=(M-w)/k):(k=(M-w)/S,k=de(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(ye(S),ye(w));v=Math.pow(10,Ot(l)?P:l),w=Math.round(w*v)/v,M=Math.round(M*v)/v;let C=0;for(b&&(u&&w!==r?(i.push({value:r}),wn?{start:e-i,end:e}:{start:e,end:e+i}}function Rl(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],n=[],o=t._pointLabels.length,r=t.options.pointLabels,a=r.centerPointLabels?ee/o:0;for(let l=0;l{const i=Wt(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Rl(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){const e=ie/(this._pointLabels.length||1),i=this.options.startAngle||0;return Me(t*e+be(i))}getDistanceFromCenterForValue(t){if(Ot(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(Ot(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&tt._index-e._index)).slice(0,1)}const dh=(t,e)=>e>t||t.length>e.length&&t.slice(0,e.length)===e,uh=.001,ph=(t,e,i)=>Math.min(i,Math.max(e,t));function fh(t,e,i){for(const s of Object.keys(t))t[s]=ph(t[s],e,i);return t}function gh(t,e,i,s){if(!t||!e||i<=0)return!1;const n=s/2;return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)<=Math.pow(i+n,2)}function mh(t,{x:e,y:i,x2:s,y2:n},o,r){const a=r/2,l=t.x>=e-a-uh&&t.x<=s+a+uh,h=t.y>=i-a-uh&&t.y<=n+a+uh;return"x"===o?l:("y"===o||l)&&h}function bh(t,e){const{centerX:i,centerY:s}=t.getProps(["centerX","centerY"],e);return{x:i,y:s}}function xh(t,e,i,s=!0){const n=i.split(".");let o=0;for(const r of e.split(".")){const a=n[o++];if(parseInt(r,10)o&&(t=Xc(o,{x:t,y:e},i),e=o),{x:t,y:e}}function od(t,e,i){const{x:s,y:n}=nd(t,e,i),{x:o,y:r}=nd(e,t,i);return{x:s,y:n,x2:o,y2:r,width:Math.abs(o-s),height:Math.abs(r-n)}}function rd(t,{mouseX:e,mouseY:i},s=uh,n){const{x:o,y:r,x2:a,y2:l}=t.getProps(["x","y","x2","y2"],n),h=a-o,c=l-r,d=qc(h)+qc(c),u=0===d?-1:((e-o)*h+(i-r)*c)/d;let p,f;return u<0?(p=o,f=r):u>1?(p=a,f=l):(p=o+u*h,f=r+u*c),qc(e-p)+qc(i-f)<=s}function ad(t,{mouseX:e,mouseY:i},s,n){const o=t.label;return o.options.display&&o.inRange(e,i,n,s)}function ld(t,e,i){const s=i.borderWidth,n=zi(i.padding),o=zh(t.ctx,i),r=o.width+n.width+s,a=o.height+n.height+s;return cd(e,i,{width:r,height:a,padding:n},t.chartArea)}function hd(t){const{x:e,y:i,x2:s,y2:n}=t,o=Math.atan2(n-i,s-e);return o>ee/2?o-ee:oi!==o.bY>i&&e<(o.bX-t.bX)*(i-t.bY)/(o.bY-t.bY)+t.bX&&(n=!n),o=t}return n}Sd.id="polygonAnnotation",Sd.defaults={adjustScaleRange:!0,backgroundShadowColor:"transparent",borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderShadowColor:"transparent",borderWidth:1,display:!0,init:void 0,point:{radius:0},radius:10,rotation:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,sides:3,xAdjust:0,xMax:void 0,xMin:void 0,xScaleID:void 0,xValue:void 0,yAdjust:0,yMax:void 0,yMin:void 0,yScaleID:void 0,yValue:void 0,z:0},Sd.defaultRoutes={borderColor:"color",backgroundColor:"color"};const Dd={box:Ac,ellipse:wd,label:Ic,line:td,point:kd,polygon:Sd};Object.keys(Dd).forEach((t=>{pi.describe(`elements.${Dd[t].id}`,{_fallback:"plugins.annotation.common"})}));const Od={update:Object.assign},Ld=pc.concat(_c),Ad=(t,e)=>At(e)?Hd(t,e):t,Td=t=>"color"===t||"font"===t;function Id(t="line"){return Dd[t]?t:(console.warn(`Unknown annotation type: '${t}', defaulting to 'line'`),"line")}function Ed(t,e,i,s){const n=Vd(t,i.animations,s),o=e.annotations,r=jd(e.elements,o);for(let a=0;a({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},$u={type:{type:String,required:!0},...Hu},ju="2"===s.i8[0]?(t,e)=>Object.assign(t,{attrs:e}):(t,e)=>Object.assign(t,e);function Bu(t){return(0,Fu.X3)(t)?(0,Fu.IU)(t):t}function Nu(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return(0,Fu.X3)(e)?new Proxy(t,{}):t}function Yu(t,e){const i=t.options;i&&e&&Object.assign(i,e)}function Xu(t,e){t.labels=e}function Uu(t,e,i){const s=[];t.datasets=e.map((e=>{const n=t.datasets.find((t=>t[i]===e[i]));return n&&e.data&&!s.includes(n)?(s.push(n),Object.assign(n,e),n):{...e}}))}function qu(t,e){const i={labels:[],datasets:[]};return Xu(i,t.labels),Uu(i,t.datasets,e),i}const Ku=(0,s.aZ)({props:$u,setup(t,e){let{expose:i}=e;const n=(0,Fu.iH)(null),o=(0,Fu.XI)(null);i({chart:o});const r=()=>{if(!n.value)return;const{type:e,data:i,options:s,plugins:r,datasetIdKey:a}=t,l=qu(i,a),h=Nu(l,i);o.value=new ra(n.value,{type:e,data:h,options:{...s},plugins:r})},a=()=>{const t=(0,Fu.IU)(o.value);t&&(t.destroy(),o.value=null)},l=e=>{e.update(t.updateMode)};return(0,s.bv)(r),(0,s.Jd)(a),(0,s.YP)([()=>t.options,()=>t.data],((e,i)=>{let[s,n]=e,[r,a]=i;const h=(0,Fu.IU)(o.value);if(!h)return;let c=!1;if(s){const t=Bu(s),e=Bu(r);t&&t!==e&&(Yu(h,t),c=!0)}if(n){const e=Bu(n.labels),i=Bu(a.labels),s=Bu(n.datasets),o=Bu(a.datasets);e!==i&&(Xu(h.config.data,e),c=!0),s&&s!==o&&(Uu(h.config.data,s,t.datasetIdKey),c=!0)}c&&l(h)}),{deep:!0}),()=>(0,s.h)("canvas",{ref:n})}});function Gu(t,e){return ra.register(e),(0,s.aZ)({props:Hu,setup(e,i){let{expose:n}=i;const o=(0,Fu.XI)(null),r=t=>{o.value=t?.chart};return n({chart:o}),()=>(0,s.h)(Ku,ju({ref:r},{type:t,...e}))}})}const Zu=Gu("doughnut",qn),Ju=Gu("scatter",Qn);ra.register(kl,La,Da,gl,Ka,Xd,zu);var Qu=(0,s.aZ)({name:"PlayerChart",props:{filters:Object,playerHighlighted:String},data:()=>({store:(0,p.D)(),refreshColors:0,playerData:[]}),emits:["highlightPlayer"],components:{Scatter:Ju,LoadingBar:P},mounted(){this.refreshColors++},computed:{progress(){if(this.filters){const{player:t,...e}=this.filters;return this.store.getPlayerList(e)?.value.progress}return 0},playerList(){const t=this.store.getPlayerList(this.filters||{})?.value.data;if(!t)return Object.entries(this.store.fetchPlayers(this.filters||{}).value.data).map((t=>({id:t[0],...(0,Fu.IU)(t[1].value)})));const e=Object.entries(t).map((t=>({id:t[0],...(0,Fu.IU)(t[1].value)})));return e.sort(((t,e)=>e.kills-t.kills)),e.slice(0,200)},colors(){this.refreshColors;const t={};if(this.$refs?.container){const e=getComputedStyle(this.$refs.container);t.fg=e.getPropertyValue("--foreground"),t.bg=e.getPropertyValue("--bg-color"),t.orange=e.getPropertyValue("--orange"),t.cyan=e.getPropertyValue("--cyan"),t.currentLine=e.getPropertyValue("--current-line")}else t.fg="#ffffff";return t},chart(){const t=this.playerList.findIndex((t=>t.id===this.$props.playerHighlighted)),e=this.colors.cyan,i=new Array(this.playerList.length).fill(e);i[t]=this.colors.orange;const s=i,n=new Array(this.playerList.length).fill(1);n[t]=20;const o=new Array(this.playerList.length).fill(4);o[t]=30;const r=new Array(this.playerList.length).fill("circle");return r[t]="crossRot",{datasets:[{label:"Players",labels:this.playerList.map((t=>t.id))||[],borderColor:i,backgroundColor:s,pointRadius:n,pointStyle:r,hoverRadius:o,data:this.playerList.map((t=>({y:t.kills,x:t.deaths})))}]}},chartStaticOptions(){return{responsive:!0,maintainAspectRatio:!1,animation:{duration:500},layout:{autoPadding:!1},scales:{y:{title:{text:"Kills",display:!0,color:this.colors.fg},ticks:{color:this.colors.fg}},x:{title:{text:"Deaths",display:!0,color:this.colors.fg},ticks:{color:this.colors.fg}}},onClick:(t,e)=>{this.$emit("highlightPlayer",e.length>0?this.playerList[e[0].index].id:void 0),void 0!==this.store.getPlayerList(this.filters||{})&&(0,Fu.oR)(this.store.getPlayerList(this.filters||{}))},onHover:(t,e)=>{t.native.target&&(t.native.target.style.cursor=e[0]?"pointer":"default")}}},chartStaticPlugins(){let t=0,e=0;if(this.playerList){const i=Math.max(...this.playerList.map((t=>t.deaths))),s=Math.max(...this.playerList.map((t=>t.kills)));s>i?(t=i,e=i/s*s):(e=s,t=s/i*i)}return{tooltip:{callbacks:{label:t=>{let e;return e=this.playerList?this.playerList[t.dataIndex].username:t.dataset.labels[t.dataIndex],e+=" ("+t.parsed.y+" kills "+t.parsed.x+" deaths)",e}}},annotation:{annotations:{line:{type:"line",yMin:0,xMin:0,yMax:e,xMax:t,borderWidth:2,borderColor:this.colors.orange,borderDash:[1,5]}}},legend:{display:!1}}},chartOptions(){return this.$props.playerHighlighted,{...this.chartStaticOptions,plugins:{...this.chartStaticPlugins,datalabels:{formatter:(t,e)=>this.playerList[e.dataIndex].username,backgroundColor:t=>this.$props.playerHighlighted&&this.$props.playerHighlighted===this.playerList[t.dataIndex].id?this.colors.orange:null,borderColor:this.colors.fg,borderWidth:t=>this.$props.playerHighlighted&&this.$props.playerHighlighted===this.playerList[t.dataIndex].id?1:0,borderRadius:5,display:t=>this.$props.playerHighlighted&&this.$props.playerHighlighted===this.playerList[t.dataIndex].id?"true":"auto",align:-45,anchor:"end",clamp:!0,color:t=>this.$props.playerHighlighted&&this.$props.playerHighlighted===this.playerList[t.dataIndex].id?this.colors.bg:this.colors.fg}}}}}});const tp=(0,k.Z)(Qu,[["render",A],["__scopeId","data-v-558358e6"]]);var ep=tp;const ip={class:"weaponChart",ref:"container"};function sp(t,e,i,n,o,r){const a=(0,s.up)("LoadingBar"),l=(0,s.up)("Doughnut");return(0,s.wg)(),(0,s.iD)("div",ip,[1!==t.progress?((0,s.wg)(),(0,s.j4)(a,{key:0,value:t.progress},null,8,["value"])):(0,s.kq)("",!0),1===t.progress?((0,s.wg)(),(0,s.j4)(l,{key:1,data:t.chart,options:t.chartOptions},null,8,["data","options"])):(0,s.kq)("",!0)],512)}var np=JSON.parse('{"rodeo_battery_removal":"Rodeo Battery Removal","human_execution":"Human Execution","melee_pilot_kunai":"Kunai Melee","execution":"Execution","mp_weapon_car":"CAR","mp_weapon_defender":"Charge Rifle","mp_weapon_doubletake":"Double Take","mp_weapon_epg":"EPG-1","mp_weapon_hemlok_smg":"Volt","mp_weapon_lstar":"L-STAR","mp_weapon_r97":"R-97","mp_weapon_rspn101":"R-201","mp_weapon_smart_pistol":"Smart Pistol","mp_weapon_sniper":"Kraber","mp_weapon_vinson":"Flatline","mp_weapon_autopistol":"RE-45 auto","mp_weapon_alternator_smg":"Alternator","mp_weapon_frag_grenade":"Frag Grenade","mp_weapon_g2":"G2","mp_weapon_lmg":"Spitfire","mp_weapon_smr":"Sidewinder SMR","mp_weapon_softball":"Softball","mp_weapon_thermite_grenade":"Firestar","pilot_emptyhanded":"Melee","mp_weapon_mastiff":"Mastiff","mp_weapon_mgl":"MGL","mp_weapon_rspn101_og":"R-101","mp_weapon_wingman":"Wingman","invalid":"invalid","mp_weapon_arc_launcher":"Thunderbolt","mp_weapon_dmr":"DMR","mp_weapon_grenade_electric_smoke":"Electric Smoke","mp_weapon_pulse_lmg":"Cold War","mp_weapon_satchel":"Satchel","mp_weapon_shotgun":"EVA-8 Auto","mp_weapon_shotgun_pistol":"Mozambique","mp_weapon_wingman_n":"Wingman Elite","mp_weapon_grenade_gravity":"Gravity Star","mp_weapon_grenade_sonar":"Pulse Blade","mp_weapon_rocket_launcher":"Archer","outOfBounds":"OutOfBounds","mind_crime":"Mind Crime","mp_weapon_esaw":"Devotion","fall":"Fall","mp_weapon_semipistol":"P2016","mp_weapon_grenade_emp":"Arc Grenade","mp_weapon_hemlok":"Hemlok","melee_pilot_emptyhanded":"Melee","phase_shift":"Phase Shift","damagedef_suicide":"Suicide","damagedef_titan_hotdrop":"Crushed by Titanfall","mp_titanweapon_arc_cannon":"Arc Cannon","mp_weapon_peacekraber":"Peacekraber","damagedef_crush":"Crushed","mp_titanweapon_brute4_quad_rocket":"Quad Rocket Launcher","mp_weapon_turretplasma":"Antititan Turret","mp_titanweapon_xo16_vanguard":"XO-16","mp_titanweapon_sticky_40mm":"40mm Cannon","mp_titanweapon_predator_cannon":"Predator Cannon","mp_titanweapon_leadwall":"Leadwall","mp_titanweapon_sniper":"Plasma Railgun","titan_execution":"Titan Execution","titan_explosion":"Titan Explosion","auto_titan_melee":"Autotitan Melee","mp_titanweapon_vortex_shield_ion":"Vortex Shield","mp_titanweapon_heat_shield":"Heat shield","bubble_shield":"Bubble Shield","mp_titancore_salvo_core":"Salvo Core","mp_titancore_flame_wave":"Flame Wave","mp_titanweapon_flightcore_rockets":"Flight Core","mp_titancore_laser_cannon":"Laser Cannon","mp_titancore_flame_wave_secondary":"Scorched Earth","mp_titanweapon_flame_wall":"Flame Wall","mp_titanweapon_arc_wave":"Arc Wave"}');ra.register(ga,gl,Ka,zu);var op=(0,s.aZ)({name:"WeaponChart",props:{filters:Object,playerHighlighted:String},emits:["highlightPlayer"],components:{Doughnut:Zu,LoadingBar:P},mounted(){this.refreshColors++},data:()=>({store:(0,p.D)(),refreshColors:0}),computed:{progress(){const{weapon:t,...e}=this.filters||{},i=this.store.getWeaponList(e)?.value;return i?i.progress:this.store.fetchWeapons(e).value.progress},colors(){this.refreshColors;const t={};if(this.$refs.container){const e=getComputedStyle(this.$refs.container);t.fg=e.getPropertyValue("--foreground"),t.bg=e.getPropertyValue("--bg-color"),t.orange=e.getPropertyValue("--orange"),t.cyan=e.getPropertyValue("--cyan"),t.yellow=e.getPropertyValue("--yellow"),t.green=e.getPropertyValue("--green"),t.purple=e.getPropertyValue("--purple"),t.red=e.getPropertyValue("--red"),t.pink=e.getPropertyValue("--pink"),t.currentLine=e.getPropertyValue("--current-line")}else t.fg="#ffffff";return t},chart(){const t=["cyan","green","orange","pink","purple","red","yellow"],e={datasets:[{label:"Weapons",labels:this.sortedWeaponList||[],borderColor:()=>this.colors.fg,backgroundColor:e=>this.colors[t[3*e.dataIndex%t.length]],data:[]}]};return this.sortedWeaponList?(e.datasets[0].data=this.sortedWeaponList.map((t=>this.weapons?this.weapons[t].value.kills:0)),e):e},chartOptions(){this.$props.playerHighlighted;const t={responsive:!0,maintainAspectRatio:!0,animation:{duration:500},layout:{autoPadding:!1},plugins:{datalabels:{formatter:(t,e)=>{const i=this.sortedWeaponList[e.dataIndex];return np[i]||i},backgroundColor:t=>t.dataset.backgroundColor(t),borderColor:this.colors.fg,borderRadius:25,borderWidth:2,color:this.colors.bg,display:t=>t.dataIndex===t.dataset.labels.length-1||"auto",padding:6},tooltip:{callbacks:{label:t=>{let e;return e=this.sortedWeaponList?this.sortedWeaponList[t.dataIndex]:t.dataset.labels[t.dataIndex],e+=" ("+this.weapons[e].value.kills+" kills)",e}}}}};return t},weapons(){const{weapon:t,...e}=this.filters||{},i=this.store.getWeaponList(e)?.value.data;return i||this.store.fetchWeapons(e).value.data},sortedWeaponList(){if(!this.weapons)return[];const t=Object.keys(this.weapons).filter((t=>this.weapons[t].value.kills>0));return t.sort(((t,e)=>Number(this.weapons[t].value.kills)0&&(e[r]=n[i-1]),n[i]=r)}}i=n.length,c=n[i-1];while(i-- >0)n[i]=c,c=e[c];return n}const Ce=t=>t.__isTeleport;const Fe=Symbol(void 0),Ue=Symbol(void 0),Ne=Symbol(void 0),$e=Symbol(void 0),Me=[];let De=null;function Le(t=!1){Me.push(De=t?null:[])}function Be(){Me.pop(),De=Me[Me.length-1]||null}let qe=1;function Ve(t){qe+=t}function Ge(t){return t.dynamicChildren=qe>0?De||o.Z6:null,Be(),qe>0&&De&&De.push(t),t}function Je(t,e,n,r,o,i){return Ge(Ze(t,e,n,r,o,i,!0))}function We(t,e,n,r,o){return Ge(Qe(t,e,n,r,o,!0))}function He(t){return!!t&&!0===t.__v_isVNode}function ze(t,e){return t.type===e.type&&t.key===e.key}const Ke="__vInternal",Ye=({key:t})=>null!=t?t:null,Xe=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,o.HD)(t)||(0,r.dq)(t)||(0,o.mf)(t)?{i:R,r:t,k:e,f:!!n}:t:null;function Ze(t,e=null,n=null,r=0,i=null,c=(t===Fe?0:1),a=!1,s=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ye(e),ref:e&&Xe(e),scopeId:C,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:R};return s?(sn(u,n),128&c&&t.normalize(u)):n&&(u.shapeFlag|=(0,o.HD)(n)?8:16),qe>0&&!a&&De&&(u.patchFlag>0||6&c)&&32!==u.patchFlag&&De.push(u),u}const Qe=tn;function tn(t,e=null,n=null,i=0,c=null,a=!1){if(t&&t!==Nt||(t=Ne),He(t)){const r=nn(t,e,!0);return n&&sn(r,n),qe>0&&!a&&De&&(6&r.shapeFlag?De[De.indexOf(t)]=r:De.push(r)),r.patchFlag|=-2,r}if(In(t)&&(t=t.__vccOpts),e){e=en(e);let{class:t,style:n}=e;t&&!(0,o.HD)(t)&&(e.class=(0,o.C_)(t)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),e.style=(0,o.j5)(n))}const s=(0,o.HD)(t)?1:G(t)?128:Ce(t)?64:(0,o.Kn)(t)?4:(0,o.mf)(t)?2:0;return Ze(t,e,n,i,c,s,a,!0)}function en(t){return t?(0,r.X3)(t)||Ke in t?(0,o.l7)({},t):t:null}function nn(t,e,n=!1){const{props:r,ref:i,patchFlag:c,children:a}=t,s=e?un(r||{},e):r,u={__v_isVNode:!0,__v_skip:!0,type:t.type,props:s,key:s&&Ye(s),ref:e&&e.ref?n&&i?(0,o.kJ)(i)?i.concat(Xe(e)):[i,Xe(e)]:Xe(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Fe?-1===c?16:16|c:c,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&nn(t.ssContent),ssFallback:t.ssFallback&&nn(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return u}function rn(t=" ",e=0){return Qe(Ue,null,t,e)}function on(t="",e=!1){return e?(Le(),We(Ne,null,t)):Qe(Ne,null,t)}function cn(t){return null==t||"boolean"===typeof t?Qe(Ne):(0,o.kJ)(t)?Qe(Fe,null,t.slice()):"object"===typeof t?an(t):Qe(Ue,null,String(t))}function an(t){return null===t.el&&-1!==t.patchFlag||t.memo?t:nn(t)}function sn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,o.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),sn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||Ke in e?3===r&&R&&(1===R.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=R}}else(0,o.mf)(e)?(e={default:e,_ctx:R},n=32):(e=String(e),64&r?(n=16,e=[rn(e)]):n=8);t.children=e,t.shapeFlag|=n}function un(...t){const e={};for(let n=0;n(n[t]||"").split(", "),o=r(`${C}Delay`),i=r(`${C}Duration`),c=K(o,i),a=r(`${F}Delay`),s=r(`${F}Duration`),u=K(a,s);let l=null,f=0,p=0;e===C?c>0&&(l=C,f=c,p=i.length):e===F?u>0&&(l=F,f=u,p=s.length):(f=Math.max(c,u),l=f>0?c>u?C:F:null,p=l?l===C?i.length:s.length:0);const d=l===C&&/\b(transform|all)(,|$)/.test(r(`${C}Property`).toString());return{type:l,timeout:f,propCount:p,hasTransform:d}}function K(t,e){while(t.length=0&&(s=-1),s>-1&&(r=e.slice(0,s),i=e.slice(s+1,a>-1?a:e.length),o=t(i)),a>-1&&(r=r||e.slice(0,a),c=e.slice(a,e.length)),r=_(null!=r?r:e,n),{fullPath:r+(i&&"?")+i+c,path:r,query:o,hash:c}}function y(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function h(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function g(t,e,n){const r=e.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&v(e.matched[r],n.matched[o])&&m(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function v(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function m(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!b(t[n],e[n]))return!1;return!0}function b(t,e){return l(t)?w(t,e):l(e)?w(e,t):t===e}function w(t,e){return l(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function _(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let o,i,c=n.length-1;for(o=0;o0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,r,i]}}(),function(){a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,{a:t}),t}}(),function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))}}(),function(){a.u=function(e){return"js/"+e+"."+{855:"0f0129fe",981:"8edc707e"}[e]+".js"}}(),function(){a.miniCssF=function(e){return"css/"+e+"."+{855:"b59c8833",981:"7a3bc7bc"}[e]+".css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="toneapi_webclient:";a.l=function(n,r,i,s){if(e[n])e[n].push(r);else{var o,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),u=0;u0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,r,i]}}(),function(){a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,{a:t}),t}}(),function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))}}(),function(){a.u=function(e){return"js/"+e+"."+{855:"0f0129fe",981:"8edc707e"}[e]+".js"}}(),function(){a.miniCssF=function(e){return"css/"+e+"."+{855:"b59c8833",981:"7a3bc7bc"}[e]+".css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="toneapi_webclient:";a.l=function(n,r,i,s){if(e[n])e[n].push(r);else{var o,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),u=0;u{{ msg }}
-
- check out the
- vue-cli documentation.
- Installed CLI Plugins
-
-
- Essential Links
-
-
- Ecosystem
-
-
- This is an about page
-
-
-