@golstats/gsc-reports 1.0.65 → 1.0.66

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 (31) hide show
  1. package/README.md +2 -2
  2. package/dist/{FilterConditions-55d68355-DMqzcKBO-BmIhhD-B-C4qyyd53.js → FilterConditions-55d68355-DMqzcKBO-BmIhhD-B-BGQIEaLr.js} +1 -1
  3. package/dist/{FilterField-59a73e38-CNaE03Ge-BTX2xPpF-DyOvLsHN.js → FilterField-59a73e38-CNaE03Ge-BTX2xPpF-D9vcJGsy.js} +1 -1
  4. package/dist/{FilterSubcategories-a9b32cc9-_h5FCZ4r-DZeIIQAW-AfkN74dp.js → FilterSubcategories-a9b32cc9-_h5FCZ4r-DZeIIQAW-CLBX_KE1.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-C5ej7_M-.js → index-Bt6tyu0M.js} +27 -27
  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/ModalRenameReporte.vue +330 -330
  14. package/src/components/elementsTemplates/ModalRenameTemplate.vue +337 -337
  15. package/src/components/elementsTemplates/ModalSoloEscritorio.vue +83 -83
  16. package/src/components/elementsTemplates/ModalduplicateTemplate.vue +300 -300
  17. package/src/components/elementsTemplates/ReportItem.vue +14 -14
  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/thumbnails-reports/AnalisisPostMatchType1.vue +741 -741
  22. package/src/components/thumbnails-reports/AnalisisPostMatchType2.vue +743 -743
  23. package/src/components/thumbnails-reports/AnalisisPostMatchType3.vue +441 -441
  24. package/src/components/thumbnails-reports/AnalisisPostMatchType4.vue +440 -440
  25. package/src/components/thumbnails-reports/AnalisisPrematchType1.vue +232 -232
  26. package/src/components/thumbnails-reports/AnalisisPrematchType2.vue +231 -231
  27. package/src/components/thumbnails-reports/AnalisisPrematchType3.vue +173 -173
  28. package/src/components/thumbnails-reports/AnalisisPrematchType4.vue +173 -173
  29. package/src/index.js +4 -4
  30. package/src/types.d.ts +45 -45
  31. package/src/utils/dateUtils.js +52 -52
@@ -1,300 +1,300 @@
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-duplicate-white.svg"
13
- class="icon-title"
14
- alt="icon"
15
- />
16
- <span class="modal-title">Duplicar template</span>
17
- </div>
18
- <div class="header-separator"></div>
19
- <div class="modal-body">
20
- <div class="modal-label">Nombre:</div>
21
- <input
22
- class="template-name-input"
23
- type="text"
24
- v-model="duplicateName"
25
- :placeholder="initialName"
26
- maxlength="40"
27
- autocomplete="off"
28
- />
29
- </div>
30
- <div class="header-separator"></div>
31
- <div class="modal-footer">
32
- <button class="cancel-btn" @click="$emit('close')">Cancelar</button>
33
- <button
34
- class="next-btn"
35
- :disabled="duplicateName.trim().length < 3 || isLoading"
36
- @click="acceptDuplicate"
37
- >
38
- {{ isLoading ? 'Duplicando...' : 'Aceptar' }}
39
- </button>
40
- </div>
41
- </div>
42
- </div>
43
- </template>
44
-
45
- <script setup>
46
- import { ref, watch, onMounted, onUnmounted } from 'vue'
47
- import axios from 'axios'
48
-
49
- const props = defineProps({
50
- initialName: {
51
- type: String,
52
- required: true,
53
- },
54
- token: {
55
- type: String,
56
- required: true,
57
- },
58
- templateId: {
59
- type: String,
60
- required: true,
61
- },
62
- })
63
-
64
- const emit = defineEmits(['close', 'duplicate', 'template-duplicated'])
65
- const duplicateName = ref(props.initialName + ' copy')
66
- const isLoading = ref(false)
67
-
68
- watch(
69
- () => props.initialName,
70
- (val) => {
71
- duplicateName.value = val + ' copy'
72
- },
73
- )
74
-
75
- onMounted(() => {
76
- // Desactivar el scroll de la página al abrir el modal
77
- document.body.style.overflow = 'hidden'
78
- })
79
-
80
- onUnmounted(() => {
81
- // Restaurar el scroll de la página al cerrar el modal
82
- document.body.style.overflow = ''
83
- })
84
-
85
- async function acceptDuplicate() {
86
- if (duplicateName.value.trim().length >= 3 && !isLoading.value) {
87
- isLoading.value = true
88
-
89
- try {
90
- const response = await axios.post(
91
- `https://m9qip57rsh.execute-api.us-east-2.amazonaws.com/prod/templates/${props.templateId}/duplicate`,
92
- { name: duplicateName.value.trim() }, // Enviar el nombre en el payload
93
- {
94
- headers: {
95
- Authorization: `${props.token}`,
96
- 'Content-Type': 'application/json',
97
- },
98
- },
99
- )
100
-
101
- // Emitir el evento específico de duplicación exitosa
102
- emit('template-duplicated', {
103
- originalTemplateId: props.templateId,
104
- newTemplateName: duplicateName.value.trim(),
105
- responseData: response.data,
106
- })
107
- emit('close')
108
- } catch (error) {
109
- console.error('Error al duplicar template:', error)
110
- // Aquí podrías mostrar un mensaje de error al usuario
111
- alert('Error al duplicar el template. Por favor, intenta de nuevo.')
112
- } finally {
113
- isLoading.value = false
114
- }
115
- }
116
- }
117
- </script>
118
-
119
- <style scoped>
120
- .modal-overlay {
121
- position: fixed;
122
- top: 0;
123
- left: 0;
124
- width: 100vw;
125
- height: 100vh;
126
- background: rgba(0, 0, 0, 0.45);
127
- display: flex;
128
- align-items: center;
129
- justify-content: center;
130
- z-index: 3200;
131
- }
132
- .modal-content {
133
- width: 375px;
134
- height: 220px;
135
- background: #2e3b46;
136
- border-radius: 10px;
137
- box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.18);
138
- padding: 0;
139
- position: relative;
140
- display: flex;
141
- flex-direction: column;
142
- font-family: 'Poppins-Regular', 'Montserrat', sans-serif;
143
- }
144
- .close-btn {
145
- position: absolute;
146
- top: 16px;
147
- right: 16px;
148
- background: none;
149
- border: none;
150
- cursor: pointer;
151
- z-index: 2;
152
- padding: 0;
153
- display: flex;
154
- align-items: center;
155
- justify-content: center;
156
- }
157
- .close-btn:hover {
158
- opacity: 0.7;
159
- }
160
- .close-btn img {
161
- width: 20px;
162
- height: 20px;
163
- }
164
- .header-separator {
165
- width: 100%;
166
- height: 1px;
167
- border-bottom: dashed 1px #58626b;
168
- margin: 12px 0 0 0;
169
- }
170
- .modal-header {
171
- display: flex;
172
- align-items: center;
173
- gap: 8px;
174
- padding: 20px 24px 0 24px;
175
- }
176
- .icon-title {
177
- width: 16px;
178
- height: 16px;
179
- }
180
- .modal-title {
181
- font-family: Poppins-Medium;
182
- font-size: 14px;
183
- font-weight: 500;
184
- font-stretch: normal;
185
- font-style: normal;
186
- line-height: 1.5;
187
- letter-spacing: normal;
188
- text-align: left;
189
- color: #fff;
190
- }
191
- .modal-body {
192
- flex: 1;
193
- display: flex;
194
- flex-direction: column;
195
- justify-content: center;
196
- padding: 12px 24px 0 24px;
197
- }
198
- .modal-label {
199
- font-family: Poppins-Regular;
200
- font-size: 14px;
201
- font-stretch: normal;
202
- font-style: normal;
203
- line-height: normal;
204
- letter-spacing: -0.3px;
205
- margin-top: 0px;
206
- text-align: left;
207
- color: rgba(255, 255, 255, 0.6);
208
- margin-bottom: 8px;
209
- }
210
- .template-name-input {
211
- width: 327px;
212
- height: 44.5px;
213
- border-radius: 6px;
214
- border: 1px solid #3d4a54;
215
- background: #2e3b46;
216
- color: #fff;
217
- font-family: Poppins-Regular;
218
- font-size: 14px;
219
- font-weight: normal;
220
- font-stretch: normal;
221
- font-style: normal;
222
- line-height: normal;
223
- letter-spacing: 0.1px;
224
- text-align: left;
225
- padding: 0 16px;
226
- margin-bottom: 8px;
227
- outline: none;
228
- box-sizing: border-box;
229
- transition: border 0.2s;
230
- margin-left: auto;
231
- margin-right: auto;
232
- }
233
- .template-name-input::placeholder {
234
- color: #b0bec5;
235
- opacity: 0.5;
236
- }
237
- .template-name-input:focus {
238
- border: 1.5px solid rgba(224, 231, 240, 0.3);
239
- }
240
- .modal-footer {
241
- display: flex;
242
- justify-content: center;
243
- align-items: center;
244
- gap: 18px;
245
- margin-top: 13px;
246
- padding: 0 24px 12px 24px;
247
- }
248
- .cancel-btn {
249
- background: none;
250
- border: none;
251
- color: #b0bec5;
252
- font-size: 14.9px;
253
- font-family: Poppins-Medium;
254
- height: 30px;
255
- border-radius: 64px;
256
- display: flex;
257
- align-items: center;
258
- justify-content: center;
259
- cursor: pointer;
260
- padding: 0 18px;
261
- transition: color 0.2s;
262
- text-decoration: underline;
263
- }
264
- .cancel-btn:hover {
265
- color: #fff;
266
- }
267
- .next-btn {
268
- width: 107px;
269
- height: 30px;
270
- border-radius: 64px;
271
- -webkit-backdrop-filter: blur(16px);
272
- backdrop-filter: blur(16px);
273
- border: solid 0.8px #cbee6b;
274
- background-color: rgba(255, 255, 255, 0.06);
275
- font-family: Poppins-Medium;
276
- font-size: 14.9px;
277
- font-weight: 500;
278
- font-stretch: normal;
279
- font-style: normal;
280
- line-height: 1.2;
281
- letter-spacing: -0.45px;
282
- text-align: center;
283
- color: #fff;
284
- cursor: pointer;
285
- transition:
286
- background 0.2s,
287
- color 0.2s;
288
- display: flex;
289
- align-items: center;
290
- justify-content: center;
291
- }
292
- .next-btn:disabled {
293
- opacity: 0.5;
294
- cursor: not-allowed;
295
- }
296
- .next-btn:not(:disabled):hover {
297
- background: #cbee6b;
298
- color: #232e39;
299
- }
300
- </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-duplicate-white.svg"
13
+ class="icon-title"
14
+ alt="icon"
15
+ />
16
+ <span class="modal-title">Duplicar template</span>
17
+ </div>
18
+ <div class="header-separator"></div>
19
+ <div class="modal-body">
20
+ <div class="modal-label">Nombre:</div>
21
+ <input
22
+ class="template-name-input"
23
+ type="text"
24
+ v-model="duplicateName"
25
+ :placeholder="initialName"
26
+ maxlength="40"
27
+ autocomplete="off"
28
+ />
29
+ </div>
30
+ <div class="header-separator"></div>
31
+ <div class="modal-footer">
32
+ <button class="cancel-btn" @click="$emit('close')">Cancelar</button>
33
+ <button
34
+ class="next-btn"
35
+ :disabled="duplicateName.trim().length < 3 || isLoading"
36
+ @click="acceptDuplicate"
37
+ >
38
+ {{ isLoading ? 'Duplicando...' : 'Aceptar' }}
39
+ </button>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </template>
44
+
45
+ <script setup>
46
+ import { ref, watch, onMounted, onUnmounted } from 'vue'
47
+ import axios from 'axios'
48
+
49
+ const props = defineProps({
50
+ initialName: {
51
+ type: String,
52
+ required: true,
53
+ },
54
+ token: {
55
+ type: String,
56
+ required: true,
57
+ },
58
+ templateId: {
59
+ type: String,
60
+ required: true,
61
+ },
62
+ })
63
+
64
+ const emit = defineEmits(['close', 'duplicate', 'template-duplicated'])
65
+ const duplicateName = ref(props.initialName + ' copy')
66
+ const isLoading = ref(false)
67
+
68
+ watch(
69
+ () => props.initialName,
70
+ (val) => {
71
+ duplicateName.value = val + ' copy'
72
+ },
73
+ )
74
+
75
+ onMounted(() => {
76
+ // Desactivar el scroll de la página al abrir el modal
77
+ document.body.style.overflow = 'hidden'
78
+ })
79
+
80
+ onUnmounted(() => {
81
+ // Restaurar el scroll de la página al cerrar el modal
82
+ document.body.style.overflow = ''
83
+ })
84
+
85
+ async function acceptDuplicate() {
86
+ if (duplicateName.value.trim().length >= 3 && !isLoading.value) {
87
+ isLoading.value = true
88
+
89
+ try {
90
+ const response = await axios.post(
91
+ `https://m9qip57rsh.execute-api.us-east-2.amazonaws.com/prod/templates/${props.templateId}/duplicate`,
92
+ { name: duplicateName.value.trim() }, // Enviar el nombre en el payload
93
+ {
94
+ headers: {
95
+ Authorization: `${props.token}`,
96
+ 'Content-Type': 'application/json',
97
+ },
98
+ },
99
+ )
100
+
101
+ // Emitir el evento específico de duplicación exitosa
102
+ emit('template-duplicated', {
103
+ originalTemplateId: props.templateId,
104
+ newTemplateName: duplicateName.value.trim(),
105
+ responseData: response.data,
106
+ })
107
+ emit('close')
108
+ } catch (error) {
109
+ console.error('Error al duplicar template:', error)
110
+ // Aquí podrías mostrar un mensaje de error al usuario
111
+ alert('Error al duplicar el template. Por favor, intenta de nuevo.')
112
+ } finally {
113
+ isLoading.value = false
114
+ }
115
+ }
116
+ }
117
+ </script>
118
+
119
+ <style scoped>
120
+ .modal-overlay {
121
+ position: fixed;
122
+ top: 0;
123
+ left: 0;
124
+ width: 100vw;
125
+ height: 100vh;
126
+ background: rgba(0, 0, 0, 0.45);
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: center;
130
+ z-index: 3200;
131
+ }
132
+ .modal-content {
133
+ width: 375px;
134
+ height: 220px;
135
+ background: #2e3b46;
136
+ border-radius: 10px;
137
+ box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.18);
138
+ padding: 0;
139
+ position: relative;
140
+ display: flex;
141
+ flex-direction: column;
142
+ font-family: 'Poppins-Regular', 'Montserrat', sans-serif;
143
+ }
144
+ .close-btn {
145
+ position: absolute;
146
+ top: 16px;
147
+ right: 16px;
148
+ background: none;
149
+ border: none;
150
+ cursor: pointer;
151
+ z-index: 2;
152
+ padding: 0;
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ }
157
+ .close-btn:hover {
158
+ opacity: 0.7;
159
+ }
160
+ .close-btn img {
161
+ width: 20px;
162
+ height: 20px;
163
+ }
164
+ .header-separator {
165
+ width: 100%;
166
+ height: 1px;
167
+ border-bottom: dashed 1px #58626b;
168
+ margin: 12px 0 0 0;
169
+ }
170
+ .modal-header {
171
+ display: flex;
172
+ align-items: center;
173
+ gap: 8px;
174
+ padding: 20px 24px 0 24px;
175
+ }
176
+ .icon-title {
177
+ width: 16px;
178
+ height: 16px;
179
+ }
180
+ .modal-title {
181
+ font-family: Poppins-Medium;
182
+ font-size: 14px;
183
+ font-weight: 500;
184
+ font-stretch: normal;
185
+ font-style: normal;
186
+ line-height: 1.5;
187
+ letter-spacing: normal;
188
+ text-align: left;
189
+ color: #fff;
190
+ }
191
+ .modal-body {
192
+ flex: 1;
193
+ display: flex;
194
+ flex-direction: column;
195
+ justify-content: center;
196
+ padding: 12px 24px 0 24px;
197
+ }
198
+ .modal-label {
199
+ font-family: Poppins-Regular;
200
+ font-size: 14px;
201
+ font-stretch: normal;
202
+ font-style: normal;
203
+ line-height: normal;
204
+ letter-spacing: -0.3px;
205
+ margin-top: 0px;
206
+ text-align: left;
207
+ color: rgba(255, 255, 255, 0.6);
208
+ margin-bottom: 8px;
209
+ }
210
+ .template-name-input {
211
+ width: 327px;
212
+ height: 44.5px;
213
+ border-radius: 6px;
214
+ border: 1px solid #3d4a54;
215
+ background: #2e3b46;
216
+ color: #fff;
217
+ font-family: Poppins-Regular;
218
+ font-size: 14px;
219
+ font-weight: normal;
220
+ font-stretch: normal;
221
+ font-style: normal;
222
+ line-height: normal;
223
+ letter-spacing: 0.1px;
224
+ text-align: left;
225
+ padding: 0 16px;
226
+ margin-bottom: 8px;
227
+ outline: none;
228
+ box-sizing: border-box;
229
+ transition: border 0.2s;
230
+ margin-left: auto;
231
+ margin-right: auto;
232
+ }
233
+ .template-name-input::placeholder {
234
+ color: #b0bec5;
235
+ opacity: 0.5;
236
+ }
237
+ .template-name-input:focus {
238
+ border: 1.5px solid rgba(224, 231, 240, 0.3);
239
+ }
240
+ .modal-footer {
241
+ display: flex;
242
+ justify-content: center;
243
+ align-items: center;
244
+ gap: 18px;
245
+ margin-top: 13px;
246
+ padding: 0 24px 12px 24px;
247
+ }
248
+ .cancel-btn {
249
+ background: none;
250
+ border: none;
251
+ color: #b0bec5;
252
+ font-size: 14.9px;
253
+ font-family: Poppins-Medium;
254
+ height: 30px;
255
+ border-radius: 64px;
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: center;
259
+ cursor: pointer;
260
+ padding: 0 18px;
261
+ transition: color 0.2s;
262
+ text-decoration: underline;
263
+ }
264
+ .cancel-btn:hover {
265
+ color: #fff;
266
+ }
267
+ .next-btn {
268
+ width: 107px;
269
+ height: 30px;
270
+ border-radius: 64px;
271
+ -webkit-backdrop-filter: blur(16px);
272
+ backdrop-filter: blur(16px);
273
+ border: solid 0.8px #cbee6b;
274
+ background-color: rgba(255, 255, 255, 0.06);
275
+ font-family: Poppins-Medium;
276
+ font-size: 14.9px;
277
+ font-weight: 500;
278
+ font-stretch: normal;
279
+ font-style: normal;
280
+ line-height: 1.2;
281
+ letter-spacing: -0.45px;
282
+ text-align: center;
283
+ color: #fff;
284
+ cursor: pointer;
285
+ transition:
286
+ background 0.2s,
287
+ color 0.2s;
288
+ display: flex;
289
+ align-items: center;
290
+ justify-content: center;
291
+ }
292
+ .next-btn:disabled {
293
+ opacity: 0.5;
294
+ cursor: not-allowed;
295
+ }
296
+ .next-btn:not(:disabled):hover {
297
+ background: #cbee6b;
298
+ color: #232e39;
299
+ }
300
+ </style>
@@ -134,42 +134,41 @@ const emit = defineEmits([
134
134
  'eliminar',
135
135
  'edit-template',
136
136
  'open-report',
137
- 'download-report'
137
+ 'download-report',
138
138
  ])
139
139
  const props = defineProps({
140
140
  type: {
141
141
  type: Number,
142
- default: 1
142
+ default: 1,
143
143
  },
144
144
  localTeam: {
145
145
  type: String,
146
- default: 'América'
146
+ default: 'América',
147
147
  },
148
148
  report: {
149
149
  type: Object,
150
- default: () => {
151
- }
150
+ default: () => {},
152
151
  },
153
152
  visitorTeam: {
154
153
  type: String,
155
- default: 'Chivas'
154
+ default: 'Chivas',
156
155
  },
157
156
  localScore: {
158
157
  type: Number,
159
- default: 2
158
+ default: 2,
160
159
  },
161
160
  visitorScore: {
162
161
  type: Number,
163
- default: 1
162
+ default: 1,
164
163
  },
165
164
  league: {
166
165
  type: String,
167
- default: 'Liga MX'
166
+ default: 'Liga MX',
168
167
  },
169
168
  date: {
170
169
  type: String,
171
- default: '15 Nov 2024'
172
- }
170
+ default: '15 Nov 2024',
171
+ },
173
172
  })
174
173
 
175
174
  const showTooltip = ref(false)
@@ -444,7 +443,7 @@ function onClickOpenReport() {
444
443
  opacity: 0;
445
444
  pointer-events: none;
446
445
  transition: opacity 0.2s;
447
- z-index: 3000;
446
+ z-index: 17;
448
447
  }
449
448
 
450
449
  .report-img-placeholder:hover .report-img-overlay {
@@ -461,8 +460,9 @@ function onClickOpenReport() {
461
460
  font-size: 14px;
462
461
  font-family: 'Poppins-Medium', 'Poppins', Arial, sans-serif;
463
462
  cursor: pointer;
464
- transition: background 0.2s,
465
- color 0.2s;
463
+ transition:
464
+ background 0.2s,
465
+ color 0.2s;
466
466
  }
467
467
 
468
468
  .report-img-button:hover {