mirror of
https://github.com/Pandipipas/scoreko-dev.git
synced 2026-06-06 03:32:06 +00:00
fix: resolve eslint errors and vue template warnings (#33)
This commit is contained in:
@@ -102,9 +102,14 @@ onMounted(() => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="bracket-panel">
|
<div class="bracket-panel">
|
||||||
<QCard flat bordered>
|
<QCard
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
>
|
||||||
<QCardSection class="bracket-panel-header">
|
<QCardSection class="bracket-panel-header">
|
||||||
<div class="text-h4">Bracket</div>
|
<div class="text-h4">
|
||||||
|
Bracket
|
||||||
|
</div>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
<QSeparator />
|
<QSeparator />
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,9 @@ watchEffect(() => {
|
|||||||
<template>
|
<template>
|
||||||
<div class="scoreboard-panel">
|
<div class="scoreboard-panel">
|
||||||
<div class="row items-center q-mb-md">
|
<div class="row items-center q-mb-md">
|
||||||
<div class="text-h4">Scoreboard</div>
|
<div class="text-h4">
|
||||||
|
Scoreboard
|
||||||
|
</div>
|
||||||
<QSpace />
|
<QSpace />
|
||||||
<QBtn
|
<QBtn
|
||||||
color="secondary"
|
color="secondary"
|
||||||
@@ -127,14 +129,20 @@ watchEffect(() => {
|
|||||||
|
|
||||||
<div class="row q-col-gutter-lg">
|
<div class="row q-col-gutter-lg">
|
||||||
<div class="col-12 col-md-6">
|
<div class="col-12 col-md-6">
|
||||||
<QCard flat bordered>
|
<QCard
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
>
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
<div class="text-subtitle1 text-weight-bold">Lado izquierdo</div>
|
<div class="text-subtitle1 text-weight-bold">
|
||||||
|
Lado izquierdo
|
||||||
|
</div>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
<QSeparator />
|
<QSeparator />
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
<QSelect
|
<QSelect
|
||||||
v-model="scoreboardStore.scoreboard.leftPlayerId"
|
v-model="scoreboardStore.scoreboard.leftPlayerId"
|
||||||
|
v-model:input-value="leftInput"
|
||||||
:options="leftPlayerOptions"
|
:options="leftPlayerOptions"
|
||||||
label="Jugador"
|
label="Jugador"
|
||||||
dense
|
dense
|
||||||
@@ -145,7 +153,6 @@ watchEffect(() => {
|
|||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
hide-selected
|
hide-selected
|
||||||
fill-input
|
fill-input
|
||||||
v-model:input-value="leftInput"
|
|
||||||
@filter="onLeftFilter"
|
@filter="onLeftFilter"
|
||||||
@focus="onLeftFocus"
|
@focus="onLeftFocus"
|
||||||
@blur="onLeftBlur"
|
@blur="onLeftBlur"
|
||||||
@@ -172,14 +179,20 @@ watchEffect(() => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-md-6">
|
<div class="col-12 col-md-6">
|
||||||
<QCard flat bordered>
|
<QCard
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
>
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
<div class="text-subtitle1 text-weight-bold">Lado derecho</div>
|
<div class="text-subtitle1 text-weight-bold">
|
||||||
|
Lado derecho
|
||||||
|
</div>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
<QSeparator />
|
<QSeparator />
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
<QSelect
|
<QSelect
|
||||||
v-model="scoreboardStore.scoreboard.rightPlayerId"
|
v-model="scoreboardStore.scoreboard.rightPlayerId"
|
||||||
|
v-model:input-value="rightInput"
|
||||||
:options="rightPlayerOptions"
|
:options="rightPlayerOptions"
|
||||||
label="Jugador"
|
label="Jugador"
|
||||||
dense
|
dense
|
||||||
@@ -190,7 +203,6 @@ watchEffect(() => {
|
|||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
hide-selected
|
hide-selected
|
||||||
fill-input
|
fill-input
|
||||||
v-model:input-value="rightInput"
|
|
||||||
@filter="onRightFilter"
|
@filter="onRightFilter"
|
||||||
@focus="onRightFocus"
|
@focus="onRightFocus"
|
||||||
@blur="onRightBlur"
|
@blur="onRightBlur"
|
||||||
@@ -216,7 +228,6 @@ watchEffect(() => {
|
|||||||
</QCard>
|
</QCard>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ const logoUrl = new URL('./image.png', import.meta.url).href;
|
|||||||
:src="logoUrl"
|
:src="logoUrl"
|
||||||
alt="Logo"
|
alt="Logo"
|
||||||
class="sidebar-logo"
|
class="sidebar-logo"
|
||||||
/>
|
>
|
||||||
<div class="q-ml-sm">
|
<div class="q-ml-sm">
|
||||||
<div class="text-subtitle1 text-weight-bold">
|
<div class="text-subtitle1 text-weight-bold">
|
||||||
Control Panel
|
Control Panel
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useHead } from '@unhead/vue';
|
import { useHead } from '@unhead/vue';
|
||||||
|
|
||||||
|
defineOptions({ name: 'AboutView' });
|
||||||
|
|
||||||
useHead({ title: 'About' });
|
useHead({ title: 'About' });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<QPage class="q-pa-lg">
|
<QPage class="q-pa-lg">
|
||||||
<div class="text-h4 q-mb-md">About</div>
|
<div class="text-h4 q-mb-md">
|
||||||
|
About
|
||||||
|
</div>
|
||||||
<div class="text-body1">
|
<div class="text-body1">
|
||||||
Información del bundle y enlaces relevantes.
|
Información del bundle y enlaces relevantes.
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ import { useHead } from '@unhead/vue';
|
|||||||
import BracketPanel from '../components/BracketPanel.vue';
|
import BracketPanel from '../components/BracketPanel.vue';
|
||||||
import ScoreboardPanel from '../components/ScoreboardPanel.vue';
|
import ScoreboardPanel from '../components/ScoreboardPanel.vue';
|
||||||
|
|
||||||
|
defineOptions({ name: 'DashboardView' });
|
||||||
|
|
||||||
useHead({ title: 'Dashboard' });
|
useHead({ title: 'Dashboard' });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -10,14 +12,20 @@ useHead({ title: 'Dashboard' });
|
|||||||
<QPage class="q-pa-lg">
|
<QPage class="q-pa-lg">
|
||||||
<div class="row q-col-gutter-lg items-start dashboard-panels q-mt-lg">
|
<div class="row q-col-gutter-lg items-start dashboard-panels q-mt-lg">
|
||||||
<div class="col-12 col-lg-6">
|
<div class="col-12 col-lg-6">
|
||||||
<QCard bordered class="dashboard-panel-card">
|
<QCard
|
||||||
|
bordered
|
||||||
|
class="dashboard-panel-card"
|
||||||
|
>
|
||||||
<QCardSection class="dashboard-panel-content">
|
<QCardSection class="dashboard-panel-content">
|
||||||
<ScoreboardPanel />
|
<ScoreboardPanel />
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
</QCard>
|
</QCard>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-lg-6">
|
<div class="col-12 col-lg-6">
|
||||||
<QCard bordered class="dashboard-panel-card">
|
<QCard
|
||||||
|
bordered
|
||||||
|
class="dashboard-panel-card"
|
||||||
|
>
|
||||||
<QCardSection class="dashboard-panel-content">
|
<QCardSection class="dashboard-panel-content">
|
||||||
<BracketPanel />
|
<BracketPanel />
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import { useHead } from '@unhead/vue';
|
import { useHead } from '@unhead/vue';
|
||||||
|
|
||||||
|
defineOptions({ name: 'GraphicsView' });
|
||||||
|
|
||||||
import bundlePackage from '../../../../package.json';
|
import bundlePackage from '../../../../package.json';
|
||||||
|
|
||||||
type GraphicConfig = {
|
type GraphicConfig = {
|
||||||
@@ -64,12 +67,17 @@ const onDragStart = (event: DragEvent, graphic: GraphicConfig) => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<QPage class="q-pa-lg">
|
<QPage class="q-pa-lg">
|
||||||
<div class="text-h4 q-mb-md">Graphics</div>
|
<div class="text-h4 q-mb-md">
|
||||||
|
Graphics
|
||||||
|
</div>
|
||||||
<div class="text-body1 q-mb-lg">
|
<div class="text-body1 q-mb-lg">
|
||||||
Controles y estado de gráficos del bundle.
|
Controles y estado de gráficos del bundle.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="graphics.length === 0" class="text-body2 text-grey-5">
|
<div
|
||||||
|
v-if="graphics.length === 0"
|
||||||
|
class="text-body2 text-grey-5"
|
||||||
|
>
|
||||||
No hay gráficos configurados en el bundle.
|
No hay gráficos configurados en el bundle.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -79,7 +87,10 @@ const onDragStart = (event: DragEvent, graphic: GraphicConfig) => {
|
|||||||
:key="graphic.file"
|
:key="graphic.file"
|
||||||
class="col-12 col-md-6"
|
class="col-12 col-md-6"
|
||||||
>
|
>
|
||||||
<QCard bordered class="bg-grey-10">
|
<QCard
|
||||||
|
bordered
|
||||||
|
class="bg-grey-10"
|
||||||
|
>
|
||||||
<QCardSection class="row items-center justify-between">
|
<QCardSection class="row items-center justify-between">
|
||||||
<div>
|
<div>
|
||||||
<div class="text-h6">
|
<div class="text-h6">
|
||||||
@@ -89,7 +100,10 @@ const onDragStart = (event: DragEvent, graphic: GraphicConfig) => {
|
|||||||
{{ graphic.file }}
|
{{ graphic.file }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<QBadge color="primary" outline>
|
<QBadge
|
||||||
|
color="primary"
|
||||||
|
outline
|
||||||
|
>
|
||||||
{{ graphic.width ?? 1920 }}x{{ graphic.height ?? 1080 }}
|
{{ graphic.width ?? 1920 }}x{{ graphic.height ?? 1080 }}
|
||||||
</QBadge>
|
</QBadge>
|
||||||
</QCardSection>
|
</QCardSection>
|
||||||
@@ -97,7 +111,9 @@ const onDragStart = (event: DragEvent, graphic: GraphicConfig) => {
|
|||||||
<QSeparator />
|
<QSeparator />
|
||||||
|
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
<div class="text-caption text-grey-5 q-mb-xs">URL</div>
|
<div class="text-caption text-grey-5 q-mb-xs">
|
||||||
|
URL
|
||||||
|
</div>
|
||||||
<div class="text-body2 text-mono q-mb-md">
|
<div class="text-body2 text-mono q-mb-md">
|
||||||
{{ buildGraphicUrl(graphic) }}
|
{{ buildGraphicUrl(graphic) }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useHead } from '@unhead/vue';
|
import { useHead } from '@unhead/vue';
|
||||||
|
|
||||||
|
defineOptions({ name: 'PlayersView' });
|
||||||
|
|
||||||
import type { QTableColumn } from 'quasar';
|
import type { QTableColumn } from 'quasar';
|
||||||
import { computed, reactive, ref, watch } from 'vue';
|
import { computed, reactive, ref, watch } from 'vue';
|
||||||
import type { Schemas } from '../../../types';
|
import type { Schemas } from '../../../types';
|
||||||
@@ -143,7 +146,9 @@ const handleImport = async (event: Event) => {
|
|||||||
<template>
|
<template>
|
||||||
<QPage class="q-pa-lg players-page">
|
<QPage class="q-pa-lg players-page">
|
||||||
<div class="row items-center q-mb-md">
|
<div class="row items-center q-mb-md">
|
||||||
<div class="text-h4">Players</div>
|
<div class="text-h4">
|
||||||
|
Players
|
||||||
|
</div>
|
||||||
<QSpace />
|
<QSpace />
|
||||||
<QBtn
|
<QBtn
|
||||||
color="primary"
|
color="primary"
|
||||||
@@ -259,11 +264,11 @@ const handleImport = async (event: Event) => {
|
|||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
hide-selected
|
hide-selected
|
||||||
fill-input
|
fill-input
|
||||||
@filter="filterCountries"
|
|
||||||
clearable
|
clearable
|
||||||
label="Country"
|
label="Country"
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
|
@filter="filterCountries"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useHead } from '@unhead/vue';
|
import { useHead } from '@unhead/vue';
|
||||||
|
|
||||||
|
defineOptions({ name: 'SettingsView' });
|
||||||
|
|
||||||
useHead({ title: 'Settings' });
|
useHead({ title: 'Settings' });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<QPage class="q-pa-lg">
|
<QPage class="q-pa-lg">
|
||||||
<div class="text-h4 q-mb-md">Settings</div>
|
<div class="text-h4 q-mb-md">
|
||||||
|
Settings
|
||||||
|
</div>
|
||||||
<div class="text-body1">
|
<div class="text-body1">
|
||||||
Configuración del dashboard y del bundle.
|
Configuración del dashboard y del bundle.
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -89,11 +89,19 @@ const roundText = computed(() => scoreboard.value.round || 'Round');
|
|||||||
<template>
|
<template>
|
||||||
<div id="scoreboard">
|
<div id="scoreboard">
|
||||||
<div id="back-panel-wrapper">
|
<div id="back-panel-wrapper">
|
||||||
<img id="back-panel" src="./img/back.svg" alt="" />
|
<img
|
||||||
|
id="back-panel"
|
||||||
|
src="./img/back.svg"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="main-panel-wrapper">
|
<div id="main-panel-wrapper">
|
||||||
<img id="main-panel" src="./img/main.svg" alt="" />
|
<img
|
||||||
|
id="main-panel"
|
||||||
|
src="./img/main.svg"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
|
|
||||||
<div id="progress-text-wrapper">
|
<div id="progress-text-wrapper">
|
||||||
<div id="progress-text">
|
<div id="progress-text">
|
||||||
@@ -101,23 +109,41 @@ const roundText = computed(() => scoreboard.value.round || 'Round');
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="p1-games-text-wrapper" class="games-text-wrapper">
|
<div
|
||||||
|
id="p1-games-text-wrapper"
|
||||||
|
class="games-text-wrapper"
|
||||||
|
>
|
||||||
<div class="games-text">
|
<div class="games-text">
|
||||||
{{ scoreboard.leftScore }}
|
{{ scoreboard.leftScore }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="p2-games-text-wrapper" class="games-text-wrapper">
|
<div
|
||||||
|
id="p2-games-text-wrapper"
|
||||||
|
class="games-text-wrapper"
|
||||||
|
>
|
||||||
<div class="games-text">
|
<div class="games-text">
|
||||||
{{ scoreboard.rightScore }}
|
{{ scoreboard.rightScore }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="p1-name-wrapper" class="name-wrapper">
|
<div
|
||||||
<img src="./img/name1.svg" alt="" />
|
id="p1-name-wrapper"
|
||||||
|
class="name-wrapper"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src="./img/name1.svg"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
|
|
||||||
<div id="p1-name-text-wrapper" class="name-text-wrapper">
|
<div
|
||||||
<span v-if="leftTeam" class="team-text">
|
id="p1-name-text-wrapper"
|
||||||
|
class="name-text-wrapper"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
v-if="leftTeam"
|
||||||
|
class="team-text"
|
||||||
|
>
|
||||||
{{ leftTeam }}
|
{{ leftTeam }}
|
||||||
</span>
|
</span>
|
||||||
<span class="gamertag-text">
|
<span class="gamertag-text">
|
||||||
@@ -131,16 +157,32 @@ const roundText = computed(() => scoreboard.value.round || 'Round');
|
|||||||
class="flag-wrapper"
|
class="flag-wrapper"
|
||||||
>
|
>
|
||||||
<div class="flag-mask">
|
<div class="flag-mask">
|
||||||
<img class="flag" :src="leftFlagUrl" alt="" />
|
<img
|
||||||
|
class="flag"
|
||||||
|
:src="leftFlagUrl"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="p2-name-wrapper" class="name-wrapper">
|
<div
|
||||||
<img src="./img/name2.svg" alt="" />
|
id="p2-name-wrapper"
|
||||||
|
class="name-wrapper"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src="./img/name2.svg"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
|
|
||||||
<div id="p2-name-text-wrapper" class="name-text-wrapper">
|
<div
|
||||||
<span v-if="rightTeam" class="team-text">
|
id="p2-name-text-wrapper"
|
||||||
|
class="name-text-wrapper"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
v-if="rightTeam"
|
||||||
|
class="team-text"
|
||||||
|
>
|
||||||
{{ rightTeam }}
|
{{ rightTeam }}
|
||||||
</span>
|
</span>
|
||||||
<span class="gamertag-text">
|
<span class="gamertag-text">
|
||||||
@@ -154,7 +196,11 @@ const roundText = computed(() => scoreboard.value.round || 'Round');
|
|||||||
class="flag-wrapper"
|
class="flag-wrapper"
|
||||||
>
|
>
|
||||||
<div class="flag-mask">
|
<div class="flag-mask">
|
||||||
<img class="flag" :src="rightFlagUrl" alt="" />
|
<img
|
||||||
|
class="flag"
|
||||||
|
:src="rightFlagUrl"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user