@golstats/gsc-reports 1.0.2 → 1.0.4

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