diff --git a/.env b/.env deleted file mode 100644 index 5fc10d3..0000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -VUE_APP_API_URL=http://localhost:8000 \ No newline at end of file diff --git a/src/components/DamageChart.vue b/src/components/DamageChart.vue new file mode 100644 index 0000000..02dcdad --- /dev/null +++ b/src/components/DamageChart.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/src/components/FlashChart.vue b/src/components/FlashChart.vue index 8888e14..30e9802 100644 --- a/src/components/FlashChart.vue +++ b/src/components/FlashChart.vue @@ -54,7 +54,7 @@ export default { LabelLayout ]); - let myChart = echarts.init(document.getElementById(`flash-chart-${props.id}`)); + let myChart = echarts.init(document.getElementById(`flash-chart-${props.id}`), {},{width: 600, height: 400}); let option option = { @@ -215,8 +215,6 @@ export default { @for $i from 0 through 9 { #flash-chart-#{$i} { - width: 600px; - height: 400px; margin: 40px 40px -40px 40px; } } diff --git a/src/components/ScoreTeam.vue b/src/components/ScoreTeam.vue index dbf69b2..719c70b 100644 --- a/src/components/ScoreTeam.vue +++ b/src/components/ScoreTeam.vue @@ -41,6 +41,7 @@ :rank="player.extended?.rank?.old" :rounds_played="props.rounds_played" :color="player.extended?.color" + :tracked="player.player.tracked" /> diff --git a/src/components/ScoreTeamPlayer.vue b/src/components/ScoreTeamPlayer.vue index 4a8178f..7efd0e7 100644 --- a/src/components/ScoreTeamPlayer.vue +++ b/src/components/ScoreTeamPlayer.vue @@ -3,6 +3,7 @@ Player avatar + {{ props.name }} @@ -141,6 +142,11 @@ export default { type: String, required: true, default: '' + }, + tracked: { + type: Boolean, + required: true, + default: false } }, setup(props) { @@ -187,6 +193,10 @@ export default { text-overflow: ellipsis; cursor: pointer; + .tracked { + font-size: .8rem; + } + .fas { font-size: .5rem; vertical-align: top; diff --git a/src/components/UtilityChart.vue b/src/components/UtilityChart.vue index 030e9f2..39fbf29 100644 --- a/src/components/UtilityChart.vue +++ b/src/components/UtilityChart.vue @@ -1,13 +1,10 @@ @@ -18,6 +15,7 @@ import {LegendComponent, TooltipComponent} from 'echarts/components'; import {PieChart} from 'echarts/charts'; import {LabelLayout} from 'echarts/features'; import {CanvasRenderer} from 'echarts/renderers'; +import { TitleComponent } from 'echarts/components'; import {onMounted} from "vue"; export default { @@ -50,10 +48,11 @@ export default { LegendComponent, PieChart, CanvasRenderer, + TitleComponent, LabelLayout ]); - let myChart = echarts.init(document.getElementById(`utility-chart-${props.id}`)); + let myChart = echarts.init(document.getElementById(`utility-chart-${props.id}`), {}, {width: 500, height: 300}); let option option = { @@ -62,29 +61,7 @@ export default { formatter: '{a}
{b}: {c} ({d}%)' }, legend: { - data: [ - { - name: 'Flames', - textStyle: { - color: 'white', - }, - itemStyle: { - color: '#FF4343FF' - } - }, - { - name: 'Flash', - textStyle: { - color: 'white' - } - }, - { - name: 'HE', - textStyle: { - color: 'white' - } - }, - ] + show: false }, series: [ { @@ -106,21 +83,42 @@ export default { show: false }, data: [ - { + (props.ud.flames ? { value: props.ud.flames ? props.ud.flames : null, name: 'Flames', itemStyle: { color: '#FF4343FF' } - }, - { - value: props.ud.flash ? props.ud.flash : null, - name: 'Flash', - }, - { + } : {}), + (props.ud.he ? { value: props.ud.he ? props.ud.he : null, name: 'HE', - } + itemStyle: { + color: '#62c265' + } + } : {}) + , + (props.ud.flash ? { + value: props.ud.flash ? props.ud.flash : null, + name: 'Flash', + itemStyle: { + color: '#18cff3' + } + } : {}), + (props.ud.smoke ? { + value: props.ud.smoke ? props.ud.smoke : null, + name: 'Smoke', + itemStyle: { + color: '#6e6b78' + } + } : {}), + (props.ud.decoy ? { + value: props.ud.decoy ? props.ud.decoy : null, + name: 'Decoy', + itemStyle: { + color: '#e28428' + } + } : {}) ] } ] @@ -135,7 +133,7 @@ export default { diff --git a/src/components/UtilityChartTotal.vue b/src/components/UtilityChartTotal.vue new file mode 100644 index 0000000..5a4d6b1 --- /dev/null +++ b/src/components/UtilityChartTotal.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/router/index.js b/src/router/index.js index e8bc53e..49a7931 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -27,7 +27,7 @@ const routes = [ name: 'Match', component: lazyLoad('Match'), props: true, - alias: ['/match/:match_id/flashes', '/match/:match_id/utility'] + alias: ['/match/:match_id/flashes', '/match/:match_id/utility', '/match/:match_id/damage'] }, { path: '/explore', diff --git a/src/views/Match.vue b/src/views/Match.vue index 76a2dac..d3b0935 100644 --- a/src/views/Match.vue +++ b/src/views/Match.vue @@ -36,8 +36,15 @@ @@ -56,8 +63,8 @@
-
- +
- Damage +
@@ -89,6 +97,8 @@ import router from "../router"; const ScoreTeam = defineAsyncComponent(() => import('../components/ScoreTeam')) const FlashChart = defineAsyncComponent(() => import('../components/FlashChart')) const UtilityChart = defineAsyncComponent(() => import('../components/UtilityChart')) +const UtilityChartTotal = defineAsyncComponent(() => import('../components/UtilityChartTotal')) +const DamageChart = defineAsyncComponent(() => import('../components/DamageChart')) export default { name: 'Match', @@ -97,6 +107,8 @@ export default { ScoreTeam, FlashChart, UtilityChart, + UtilityChartTotal, + DamageChart }, setup(props) { // Refs @@ -156,10 +168,10 @@ export default { newNavItem.classList.add('active') newItem.classList.add('active') - if (id === 'flashes' || id === 'utility'){ - history.pushState({}, null, `/match/${data.matchDetails.match_id}/${id}`) + if (id === 'flashes' || id === 'utility' || id === 'damage') { + history.replaceState({}, null, `/match/${data.matchDetails.match_id}/${id}`) } else if (id === 'scoreboard') { - history.pushState({}, null, `/match/${data.matchDetails.match_id}`) + history.replaceState({}, null, `/match/${data.matchDetails.match_id}`) } } @@ -173,11 +185,11 @@ export default { }) onMounted(() => { - if (router.currentRoute.value.href.split('/')[3]) { - setTimeout(() => { + setTimeout(() => { + if (router.currentRoute.value.href.split('/')[3]) { ActivateScoreInfo(router.currentRoute.value.href.split('/')[3]) - }, 500) - } + } + }, 200) }) return { @@ -266,5 +278,14 @@ export default { .active { background: var(--bs-info) } + + .disabled { + color: #585858; + + &:hover { + background: transparent; + cursor: default; + } + } } diff --git a/src/views/Player.vue b/src/views/Player.vue index 317fb4d..345388e 100644 --- a/src/views/Player.vue +++ b/src/views/Player.vue @@ -1,5 +1,5 @@