@golstats/gsc-reports 1.0.75 → 1.0.76

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 (30) hide show
  1. package/README.md +2 -2
  2. package/dist/{FilterConditions-55d68355-DMqzcKBO-D-F7eebx-B2f4vldh.js → FilterConditions-55d68355-DMqzcKBO-LoDZzMFx-BnRBGncA.js} +1 -1
  3. package/dist/{FilterField-59a73e38-CNaE03Ge-BSjrLEv7-BA50MIOk.js → FilterField-59a73e38-CNaE03Ge-CQDCuDcF-D41LgF38.js} +1 -1
  4. package/dist/{FilterSubcategories-a9b32cc9-_h5FCZ4r-BXbLe1Ix-aBIaeKxy.js → FilterSubcategories-a9b32cc9-_h5FCZ4r-B4SJzQzA-DXEQISeO.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 +225 -225
  9. package/dist/{index-BdUpXZsm.js → index-DWidkeeO.js} +54646 -54564
  10. package/package.json +2 -2
  11. package/src/components/TemplatesSection.vue +29 -2
  12. package/src/components/elementsTemplates/ModalConfigurarContenido.vue +1250 -1229
  13. package/src/components/elementsTemplates/ModalDeleteTemplate.vue +249 -249
  14. package/src/components/elementsTemplates/ModalGenerarReporte.vue +22 -1
  15. package/src/components/elementsTemplates/ModalSoloEscritorio.vue +83 -83
  16. package/src/components/elementsTemplates/ModalduplicateTemplate.vue +300 -300
  17. package/src/components/elementsTemplates/TooltipReportOptions.vue +97 -97
  18. package/src/components/elementsTemplates/TooltipTemplateOptions.vue +168 -168
  19. package/src/components/filters.vue +935 -935
  20. package/src/components/template-report-maker/CoverSelector.vue +165 -165
  21. package/src/components/template-report-maker/ReportView.vue +66 -66
  22. package/src/components/thumbnails-reports/AnalisisPostMatchType1.vue +741 -741
  23. package/src/components/thumbnails-reports/AnalisisPostMatchType2.vue +743 -743
  24. package/src/components/thumbnails-reports/AnalisisPrematchType3.vue +173 -173
  25. package/src/components/thumbnails-reports/AnalisisPrematchType4.vue +173 -173
  26. package/src/index.js +4 -4
  27. package/src/types.d.ts +45 -45
  28. package/src/utils/dateUtils.js +52 -52
  29. package/dist/images/cancha-horizontal.jpg +0 -0
  30. package/dist/images/canchaRPH.svg +0 -30
@@ -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>
@@ -317,6 +317,10 @@ const props = defineProps({
317
317
  type: Object,
318
318
  required: false,
319
319
  },
320
+ showError409OnMount: {
321
+ type: Boolean,
322
+ default: false,
323
+ },
320
324
  })
321
325
 
322
326
  const emit = defineEmits(['close', 'generar', 'switch-to-reports', 'open-configurar-contenido'])
@@ -681,7 +685,10 @@ function tieneComponenteFortalezas() {
681
685
  // Verificar si la page tiene components
682
686
  if (page.components && Array.isArray(page.components)) {
683
687
  // Buscar si existe algún componente con id = 15
684
- const tieneFortalezas = page.components.some((component) => component.name === 'Fortalezas')
688
+ const tieneFortalezas = page.components.some(
689
+ (component) =>
690
+ component.name === 'Fortalezas' || component.componentName === 'GSCStrengths',
691
+ )
685
692
  if (tieneFortalezas) {
686
693
  return true
687
694
  }
@@ -794,7 +801,21 @@ function restaurarScroll() {
794
801
  document.body.style.overflow = ''
795
802
  }
796
803
 
804
+ // Watcher para el prop showError409OnMount
805
+ watch(
806
+ () => props.showError409OnMount,
807
+ (newValue) => {
808
+ showError409.value = newValue
809
+ },
810
+ { immediate: true },
811
+ )
812
+
797
813
  onMounted(() => {
814
+ // Si se debe mostrar el error 409 desde el inicio, configurarlo
815
+ if (props.showError409OnMount) {
816
+ showError409.value = true
817
+ }
818
+
798
819
  cargarTorneos()
799
820
  bloquearScroll()
800
821
  cargarUltimosJuegos()