@golstats/gsc-reports 1.0.54 → 1.0.55

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.
Files changed (36) hide show
  1. package/README.md +2 -2
  2. package/dist/{FilterConditions-55d68355-zHMe0Dyg-CrLqkkfP-M-GLdj8H.js → FilterConditions-55d68355-zHMe0Dyg-CrLqkkfP-BaX3BGxl.js} +1 -1
  3. package/dist/{FilterField-59a73e38-DtNZKbqt-BMRKmoBk-C6CpYJ5U.js → FilterField-59a73e38-DtNZKbqt-BMRKmoBk-pUUn67tu.js} +1 -1
  4. package/dist/{FilterSubcategories-a9b32cc9-BjvvEE_X-DQe88zvC-BZF4ehk1.js → FilterSubcategories-a9b32cc9-BjvvEE_X-DQe88zvC-BCPYEIqn.js} +1 -1
  5. package/dist/css/fonts.css +83 -83
  6. package/dist/gsc-reports.css +1 -1
  7. package/dist/gsc-reports.es.js +1 -1
  8. package/dist/gsc-reports.umd.js +5 -5
  9. package/dist/{index-DoXBPhEZ.js → index-BMnmRJrj.js} +35 -32
  10. package/package.json +1 -1
  11. package/src/components/elementsTemplates/ModalDeleteReport.vue +246 -246
  12. package/src/components/elementsTemplates/ModalDeleteTemplate.vue +249 -249
  13. package/src/components/elementsTemplates/ModalGenerarReporte.vue +22 -2
  14. package/src/components/elementsTemplates/ModalRenameReporte.vue +330 -330
  15. package/src/components/elementsTemplates/ModalRenameTemplate.vue +337 -337
  16. package/src/components/elementsTemplates/ModalSoloEscritorio.vue +83 -83
  17. package/src/components/elementsTemplates/ModalduplicateTemplate.vue +300 -300
  18. package/src/components/elementsTemplates/TooltipReportOptions.vue +97 -97
  19. package/src/components/elementsTemplates/TooltipTemplateOptions.vue +168 -168
  20. package/src/components/filters.vue +935 -935
  21. package/src/components/template-report-maker/CoverPage.vue +636 -636
  22. package/src/components/template-report-maker/CoverSelector.vue +165 -165
  23. package/src/components/template-report-maker/ReportView.vue +66 -66
  24. package/src/components/template-report-maker/TemplateReportPage.vue +398 -398
  25. package/src/components/thumbnails-reports/AnalisisPostMatchType1.vue +741 -741
  26. package/src/components/thumbnails-reports/AnalisisPostMatchType2.vue +743 -743
  27. package/src/components/thumbnails-reports/AnalisisPostMatchType3.vue +441 -441
  28. package/src/components/thumbnails-reports/AnalisisPostMatchType4.vue +440 -440
  29. package/src/components/thumbnails-reports/AnalisisPrematchType1.vue +232 -232
  30. package/src/components/thumbnails-reports/AnalisisPrematchType2.vue +231 -231
  31. package/src/components/thumbnails-reports/AnalisisPrematchType3.vue +173 -173
  32. package/src/components/thumbnails-reports/AnalisisPrematchType4.vue +173 -173
  33. package/src/index.js +4 -4
  34. package/src/types.d.ts +45 -45
  35. package/src/utils/dateUtils.js +52 -52
  36. package/dist/images/cancha-horizontal.jpg +0 -0
@@ -1,249 +1,249 @@
1
- <template>
2
- <div class="modal-overlay">
3
- <div class="modal-content">
4
- <button class="close-btn" @click="$emit('close')">
5
- <img
6
- src="https://golstatsimages.blob.core.windows.net/reports-images/icn-close.svg"
7
- alt="Cerrar"
8
- />
9
- </button>
10
- <div class="modal-header">
11
- <img
12
- src="https://golstatsimages.blob.core.windows.net/reports-images/icn-delete-delete.svg"
13
- class="icon-title"
14
- alt="icon"
15
- />
16
- <span class="modal-title">Eliminar template</span>
17
- </div>
18
- <div class="header-separator"></div>
19
- <div class="modal-body confirm-text">
20
- ¿Estás seguro que deseas eliminar<br />
21
- este template? Si lo haces no habrá manera<br />
22
- de recuperarlo.
23
- </div>
24
- <div class="header-separator"></div>
25
- <div class="modal-footer">
26
- <button class="cancel-btn" @click="$emit('close')">Cancelar</button>
27
- <button class="delete-btn" @click="handleDelete" :disabled="isDeleting">
28
- {{ isDeleting ? 'Eliminando...' : 'Eliminar' }}
29
- </button>
30
- </div>
31
- </div>
32
- </div>
33
- </template>
34
-
35
- <script setup>
36
- import { ref, onMounted, onUnmounted } from 'vue'
37
- import axios from 'axios'
38
-
39
- // Props para recibir el ID del template, user_id y token
40
- const props = defineProps({
41
- templateId: {
42
- type: String,
43
- required: true,
44
- },
45
- userId: {
46
- type: String,
47
- required: true,
48
- },
49
- token: {
50
- type: String,
51
- required: true,
52
- },
53
- })
54
-
55
- // Emits para comunicar con el componente padre
56
- const emit = defineEmits(['close', 'delete', 'templateDeleted'])
57
-
58
- // Estado para controlar el loading
59
- const isDeleting = ref(false)
60
-
61
- // Deshabilitar scroll al abrir la modal y restaurar al cerrar
62
- onMounted(() => {
63
- document.body.style.overflow = 'hidden'
64
- })
65
- onUnmounted(() => {
66
- document.body.style.overflow = ''
67
- })
68
-
69
- // Función para eliminar el template
70
- const handleDelete = async () => {
71
- try {
72
- isDeleting.value = true
73
- const axiosInstance = axios.create({ headers: { Authorization: `${props.token}` } })
74
- const response = await axiosInstance.delete(
75
- `https://m9qip57rsh.execute-api.us-east-2.amazonaws.com/prod/users/${props.userId}/templates/${props.templateId}`,
76
- )
77
-
78
- if (response.status === 200 || response.status === 204) {
79
- // Emitir evento de éxito para refrescar la lista
80
- emit('templateDeleted', props.templateId)
81
- emit('close')
82
- }
83
- } catch (error) {
84
- console.error('Error al eliminar template:', error)
85
- // Aquí podrías mostrar un mensaje de error al usuario
86
- alert('Error al eliminar el template. Por favor, inténtalo de nuevo.')
87
- } finally {
88
- isDeleting.value = false
89
- }
90
- }
91
- </script>
92
-
93
- <style scoped>
94
- .modal-overlay {
95
- position: fixed;
96
- top: 0;
97
- left: 0;
98
- width: 100vw;
99
- height: 100vh;
100
- background: rgba(0, 0, 0, 0.45);
101
- display: flex;
102
- align-items: center;
103
- justify-content: center;
104
- z-index: 3200;
105
- }
106
- .modal-content {
107
- width: 375px;
108
- height: 218px;
109
- background: #2e3b46;
110
- border-radius: 10px;
111
- box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.18);
112
- padding: 0;
113
- position: relative;
114
- display: flex;
115
- flex-direction: column;
116
- font-family: 'Poppins-Regular', 'Montserrat', sans-serif;
117
- }
118
- .close-btn {
119
- position: absolute;
120
- top: 16px;
121
- right: 16px;
122
- background: none;
123
- border: none;
124
- cursor: pointer;
125
- z-index: 2;
126
- padding: 0;
127
- display: flex;
128
- align-items: center;
129
- justify-content: center;
130
- }
131
- .close-btn:hover {
132
- opacity: 0.7;
133
- }
134
- .close-btn img {
135
- width: 20px;
136
- height: 20px;
137
- }
138
- .header-separator {
139
- width: 100%;
140
- height: 1px;
141
- border-bottom: dashed 1px #58626b;
142
- margin: 12px 0 0 0;
143
- }
144
- .modal-header {
145
- display: flex;
146
- align-items: center;
147
- gap: 8px;
148
- padding: 20px 24px 0 24px;
149
- }
150
- .icon-title {
151
- width: 15px;
152
- height: 15px;
153
- }
154
- .modal-title {
155
- font-family: Poppins-Medium;
156
- font-size: 14px;
157
- font-weight: 500;
158
- font-stretch: normal;
159
- font-style: normal;
160
- line-height: 1.5;
161
- letter-spacing: normal;
162
- text-align: left;
163
- color: #fff;
164
- }
165
- .modal-body.confirm-text {
166
- flex: 1;
167
- display: flex;
168
- flex-direction: column;
169
- justify-content: center;
170
- align-items: center;
171
- padding: 4px 24px 0 24px;
172
- opacity: 0.5;
173
- font-family: Poppins-Regular;
174
- font-size: 13px;
175
- font-weight: normal;
176
- font-stretch: normal;
177
- font-style: normal;
178
- line-height: 1.38;
179
- letter-spacing: normal;
180
- text-align: center;
181
- color: #fff;
182
- }
183
- .modal-footer {
184
- display: flex;
185
- justify-content: center;
186
- align-items: center;
187
- gap: 18px;
188
- margin-top: 13px;
189
- padding: 0 24px 12px 24px;
190
- }
191
- .cancel-btn {
192
- background: none;
193
- border: none;
194
- color: #b0bec5;
195
- font-size: 14.9px;
196
- font-family: Poppins-Medium;
197
- height: 30px;
198
- border-radius: 64px;
199
- display: flex;
200
- align-items: center;
201
- justify-content: center;
202
- cursor: pointer;
203
- padding: 0 18px;
204
- transition: color 0.2s;
205
- text-decoration: underline;
206
- }
207
- .cancel-btn:hover {
208
- color: #fff;
209
- }
210
- .delete-btn {
211
- width: 107px;
212
- height: 30px;
213
- border-radius: 64px;
214
- -webkit-backdrop-filter: blur(16px);
215
- backdrop-filter: blur(16px);
216
- border: solid 0.8px #ff6b6b;
217
- background-color: rgba(255, 255, 255, 0.06);
218
- font-family: Poppins-Medium;
219
- font-size: 14.9px;
220
- font-weight: 500;
221
- font-stretch: normal;
222
- font-style: normal;
223
- line-height: 1.2;
224
- letter-spacing: -0.45px;
225
- text-align: center;
226
- color: #ff6b6b;
227
- cursor: pointer;
228
- transition:
229
- background 0.2s,
230
- color 0.2s;
231
- display: flex;
232
- align-items: center;
233
- justify-content: center;
234
- }
235
- .delete-btn:hover {
236
- background: #ff6b6b;
237
- color: #fff;
238
- }
239
-
240
- .delete-btn:disabled {
241
- opacity: 0.5;
242
- cursor: not-allowed;
243
- }
244
-
245
- .delete-btn:disabled:hover {
246
- background-color: rgba(255, 255, 255, 0.06);
247
- color: #ff6b6b;
248
- }
249
- </style>
1
+ <template>
2
+ <div class="modal-overlay">
3
+ <div class="modal-content">
4
+ <button class="close-btn" @click="$emit('close')">
5
+ <img
6
+ src="https://golstatsimages.blob.core.windows.net/reports-images/icn-close.svg"
7
+ alt="Cerrar"
8
+ />
9
+ </button>
10
+ <div class="modal-header">
11
+ <img
12
+ src="https://golstatsimages.blob.core.windows.net/reports-images/icn-delete-delete.svg"
13
+ class="icon-title"
14
+ alt="icon"
15
+ />
16
+ <span class="modal-title">Eliminar template</span>
17
+ </div>
18
+ <div class="header-separator"></div>
19
+ <div class="modal-body confirm-text">
20
+ ¿Estás seguro que deseas eliminar<br />
21
+ este template? Si lo haces no habrá manera<br />
22
+ de recuperarlo.
23
+ </div>
24
+ <div class="header-separator"></div>
25
+ <div class="modal-footer">
26
+ <button class="cancel-btn" @click="$emit('close')">Cancelar</button>
27
+ <button class="delete-btn" @click="handleDelete" :disabled="isDeleting">
28
+ {{ isDeleting ? 'Eliminando...' : 'Eliminar' }}
29
+ </button>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup>
36
+ import { ref, onMounted, onUnmounted } from 'vue'
37
+ import axios from 'axios'
38
+
39
+ // Props para recibir el ID del template, user_id y token
40
+ const props = defineProps({
41
+ templateId: {
42
+ type: String,
43
+ required: true,
44
+ },
45
+ userId: {
46
+ type: String,
47
+ required: true,
48
+ },
49
+ token: {
50
+ type: String,
51
+ required: true,
52
+ },
53
+ })
54
+
55
+ // Emits para comunicar con el componente padre
56
+ const emit = defineEmits(['close', 'delete', 'templateDeleted'])
57
+
58
+ // Estado para controlar el loading
59
+ const isDeleting = ref(false)
60
+
61
+ // Deshabilitar scroll al abrir la modal y restaurar al cerrar
62
+ onMounted(() => {
63
+ document.body.style.overflow = 'hidden'
64
+ })
65
+ onUnmounted(() => {
66
+ document.body.style.overflow = ''
67
+ })
68
+
69
+ // Función para eliminar el template
70
+ const handleDelete = async () => {
71
+ try {
72
+ isDeleting.value = true
73
+ const axiosInstance = axios.create({ headers: { Authorization: `${props.token}` } })
74
+ const response = await axiosInstance.delete(
75
+ `https://m9qip57rsh.execute-api.us-east-2.amazonaws.com/prod/users/${props.userId}/templates/${props.templateId}`,
76
+ )
77
+
78
+ if (response.status === 200 || response.status === 204) {
79
+ // Emitir evento de éxito para refrescar la lista
80
+ emit('templateDeleted', props.templateId)
81
+ emit('close')
82
+ }
83
+ } catch (error) {
84
+ console.error('Error al eliminar template:', error)
85
+ // Aquí podrías mostrar un mensaje de error al usuario
86
+ alert('Error al eliminar el template. Por favor, inténtalo de nuevo.')
87
+ } finally {
88
+ isDeleting.value = false
89
+ }
90
+ }
91
+ </script>
92
+
93
+ <style scoped>
94
+ .modal-overlay {
95
+ position: fixed;
96
+ top: 0;
97
+ left: 0;
98
+ width: 100vw;
99
+ height: 100vh;
100
+ background: rgba(0, 0, 0, 0.45);
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ z-index: 3200;
105
+ }
106
+ .modal-content {
107
+ width: 375px;
108
+ height: 218px;
109
+ background: #2e3b46;
110
+ border-radius: 10px;
111
+ box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.18);
112
+ padding: 0;
113
+ position: relative;
114
+ display: flex;
115
+ flex-direction: column;
116
+ font-family: 'Poppins-Regular', 'Montserrat', sans-serif;
117
+ }
118
+ .close-btn {
119
+ position: absolute;
120
+ top: 16px;
121
+ right: 16px;
122
+ background: none;
123
+ border: none;
124
+ cursor: pointer;
125
+ z-index: 2;
126
+ padding: 0;
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: center;
130
+ }
131
+ .close-btn:hover {
132
+ opacity: 0.7;
133
+ }
134
+ .close-btn img {
135
+ width: 20px;
136
+ height: 20px;
137
+ }
138
+ .header-separator {
139
+ width: 100%;
140
+ height: 1px;
141
+ border-bottom: dashed 1px #58626b;
142
+ margin: 12px 0 0 0;
143
+ }
144
+ .modal-header {
145
+ display: flex;
146
+ align-items: center;
147
+ gap: 8px;
148
+ padding: 20px 24px 0 24px;
149
+ }
150
+ .icon-title {
151
+ width: 15px;
152
+ height: 15px;
153
+ }
154
+ .modal-title {
155
+ font-family: Poppins-Medium;
156
+ font-size: 14px;
157
+ font-weight: 500;
158
+ font-stretch: normal;
159
+ font-style: normal;
160
+ line-height: 1.5;
161
+ letter-spacing: normal;
162
+ text-align: left;
163
+ color: #fff;
164
+ }
165
+ .modal-body.confirm-text {
166
+ flex: 1;
167
+ display: flex;
168
+ flex-direction: column;
169
+ justify-content: center;
170
+ align-items: center;
171
+ padding: 4px 24px 0 24px;
172
+ opacity: 0.5;
173
+ font-family: Poppins-Regular;
174
+ font-size: 13px;
175
+ font-weight: normal;
176
+ font-stretch: normal;
177
+ font-style: normal;
178
+ line-height: 1.38;
179
+ letter-spacing: normal;
180
+ text-align: center;
181
+ color: #fff;
182
+ }
183
+ .modal-footer {
184
+ display: flex;
185
+ justify-content: center;
186
+ align-items: center;
187
+ gap: 18px;
188
+ margin-top: 13px;
189
+ padding: 0 24px 12px 24px;
190
+ }
191
+ .cancel-btn {
192
+ background: none;
193
+ border: none;
194
+ color: #b0bec5;
195
+ font-size: 14.9px;
196
+ font-family: Poppins-Medium;
197
+ height: 30px;
198
+ border-radius: 64px;
199
+ display: flex;
200
+ align-items: center;
201
+ justify-content: center;
202
+ cursor: pointer;
203
+ padding: 0 18px;
204
+ transition: color 0.2s;
205
+ text-decoration: underline;
206
+ }
207
+ .cancel-btn:hover {
208
+ color: #fff;
209
+ }
210
+ .delete-btn {
211
+ width: 107px;
212
+ height: 30px;
213
+ border-radius: 64px;
214
+ -webkit-backdrop-filter: blur(16px);
215
+ backdrop-filter: blur(16px);
216
+ border: solid 0.8px #ff6b6b;
217
+ background-color: rgba(255, 255, 255, 0.06);
218
+ font-family: Poppins-Medium;
219
+ font-size: 14.9px;
220
+ font-weight: 500;
221
+ font-stretch: normal;
222
+ font-style: normal;
223
+ line-height: 1.2;
224
+ letter-spacing: -0.45px;
225
+ text-align: center;
226
+ color: #ff6b6b;
227
+ cursor: pointer;
228
+ transition:
229
+ background 0.2s,
230
+ color 0.2s;
231
+ display: flex;
232
+ align-items: center;
233
+ justify-content: center;
234
+ }
235
+ .delete-btn:hover {
236
+ background: #ff6b6b;
237
+ color: #fff;
238
+ }
239
+
240
+ .delete-btn:disabled {
241
+ opacity: 0.5;
242
+ cursor: not-allowed;
243
+ }
244
+
245
+ .delete-btn:disabled:hover {
246
+ background-color: rgba(255, 255, 255, 0.06);
247
+ color: #ff6b6b;
248
+ }
249
+ </style>
@@ -654,15 +654,27 @@ function onJornadaChange() {
654
654
  }
655
655
 
656
656
  function filtrarPartidosPorJornada(jornada) {
657
+ console.log('LLEga aqui mero ******************************')
657
658
  if (!jornada || !jornada.id) {
658
659
  partidos.value = []
659
660
  return
660
661
  }
661
662
  let partidosFiltrados = allPartidos.value.filter((p) => p.matchday_id === jornada.id)
663
+ console.log(
664
+ '////////////////////LLEga aqui mero partidosFiltrados ******************************',
665
+ partidosFiltrados,
666
+ )
667
+ console.log('El template Type Es: ', props.templateType)
662
668
  if (props.templateType === '2' || props.templateType === 2) {
669
+ console.log('Si es postmatch prematch: el template')
670
+ console.log('partidosFiltrados; ', partidosFiltrados)
663
671
  partidosFiltrados = partidosFiltrados.filter((p) => p.game_status === 1)
672
+ console.log('******************* partidos cvon game estatus 1: ', partidosFiltrados)
664
673
  } else if (props.templateType === '1' || props.templateType === 1) {
674
+ console.log('Si es prematch: el template')
675
+ console.log('partidosFiltrados; ', partidosFiltrados)
665
676
  partidosFiltrados = partidosFiltrados.filter((p) => p.game_status === 4)
677
+ console.log('******************* partidos cvon game estatus 4: ', partidosFiltrados)
666
678
  }
667
679
  partidos.value = partidosFiltrados
668
680
  }
@@ -785,7 +797,7 @@ watch(selectedLiga, (nuevaLiga, anteriorLiga) => {
785
797
  cambioAutomatico.value = true
786
798
  selectedTorneo.value = torneoEncontrado
787
799
  // Ejecutar directamente la función que hace la petición a gamesBySeason
788
- cargarPartidosPorSeason([torneoEncontrado.id])
800
+ // cargarPartidosPorSeason([torneoEncontrado.id])
789
801
  cambioAutomatico.value = false
790
802
  }
791
803
  }
@@ -838,7 +850,7 @@ watch(selectedJornada, (nuevaJornada, anteriorJornada) => {
838
850
  p.game_id === partidoParaConfigurar.value.game_id ||
839
851
  p.id === partidoParaConfigurar.value.game_id,
840
852
  )
841
-
853
+ filtrarPartidosPorJornada(nuevaJornada)
842
854
  if (partidoEncontrado) {
843
855
  selectedPartido.value = partidoEncontrado
844
856
  loadingAutoseteo.value = false
@@ -904,6 +916,10 @@ async function cargarUltimosJuegos() {
904
916
  if (response.data.data.prematch) {
905
917
  loadingAutoseteo.value = true
906
918
  autoseteoActivo.value = true
919
+ // Auto-cargar partidos por season_id para asegurar que los datos estén disponibles
920
+ if (response.data.data.prematch.season_id) {
921
+ await cargarPartidosPorSeason([response.data.data.prematch.season_id])
922
+ }
907
923
  }
908
924
  } else if (props.templateType === '2' || props.templateType === 2) {
909
925
  partidoParaConfigurar.value = response.data.data.postmatch
@@ -911,6 +927,10 @@ async function cargarUltimosJuegos() {
911
927
  if (response.data.data.postmatch) {
912
928
  loadingAutoseteo.value = true
913
929
  autoseteoActivo.value = true
930
+ // Auto-cargar partidos por season_id para asegurar que los datos estén disponibles
931
+ if (response.data.data.postmatch.season_id) {
932
+ await cargarPartidosPorSeason([response.data.data.postmatch.season_id])
933
+ }
914
934
  }
915
935
  }
916
936
  } catch (error) {