@golstats/gsc-reports 1.0.4 → 1.0.6

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 (38) hide show
  1. package/README.md +2 -2
  2. package/dist/{FilterConditions-55d68355-C5NIJbY6-BIYJFxA1-CwwaLnlT.js → FilterConditions-55d68355-C5NIJbY6-CrwdIOQy-DJW3C0E9.js} +24 -24
  3. package/dist/FilterField-59a73e38-DO8nYLqs-C9htGE_0-DSpyIXCH.js +21 -0
  4. package/dist/{FilterSubcategories-a9b32cc9-DlkHni1L-DbepEYoC-Dng5_lp-.js → FilterSubcategories-a9b32cc9-DlkHni1L-2XPKgOv6-nRHReBmk.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 +98 -98
  9. package/dist/{index-B_k9p-67.js → index-Ba25qrrW.js} +9059 -9043
  10. package/package.json +2 -2
  11. package/src/components/ReportsSection.vue +8 -0
  12. package/src/components/elementsTemplates/ModalDeleteReport.vue +246 -246
  13. package/src/components/elementsTemplates/ModalDeleteTemplate.vue +249 -249
  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/ReportItem.vue +26 -13
  19. package/src/components/elementsTemplates/TooltipReportOptions.vue +97 -97
  20. package/src/components/elementsTemplates/TooltipTemplateOptions.vue +161 -161
  21. package/src/components/filters.vue +935 -935
  22. package/src/components/gsc-reports.vue +6 -1
  23. package/src/components/template-report-maker/CoverPage.vue +636 -636
  24. package/src/components/template-report-maker/CoverSelector.vue +165 -165
  25. package/src/components/template-report-maker/ReportView.vue +66 -66
  26. package/src/components/template-report-maker/TemplateReportPage.vue +398 -398
  27. package/src/components/thumbnails-reports/AnalisisPostMatchType1.vue +741 -741
  28. package/src/components/thumbnails-reports/AnalisisPostMatchType2.vue +743 -743
  29. package/src/components/thumbnails-reports/AnalisisPostMatchType3.vue +463 -463
  30. package/src/components/thumbnails-reports/AnalisisPostMatchType4.vue +462 -462
  31. package/src/components/thumbnails-reports/AnalisisPrematchType1.vue +164 -164
  32. package/src/components/thumbnails-reports/AnalisisPrematchType2.vue +163 -163
  33. package/src/components/thumbnails-reports/AnalisisPrematchType3.vue +173 -173
  34. package/src/components/thumbnails-reports/AnalisisPrematchType4.vue +173 -173
  35. package/src/index.js +4 -4
  36. package/src/types.d.ts +45 -45
  37. package/src/utils/dateUtils.js +52 -52
  38. package/dist/FilterField-59a73e38-DO8nYLqs-BlMX75HQ-Cpg_7BlO.js +0 -21
@@ -1,337 +1,337 @@
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-rename-white.svg"
13
- class="icon-title"
14
- alt="icon"
15
- />
16
- <span class="modal-title">Renombrar 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="newName"
25
- :placeholder="initialName"
26
- maxlength="40"
27
- autocomplete="off"
28
- :disabled="isLoading"
29
- />
30
- <div v-if="errorMessage" class="error-message">
31
- {{ errorMessage }}
32
- </div>
33
- </div>
34
- <div class="header-separator"></div>
35
- <div class="modal-footer">
36
- <button class="cancel-btn" @click="$emit('close')" :disabled="isLoading">Cancelar</button>
37
- <button
38
- class="next-btn"
39
- :disabled="newName.trim().length < 3 || isLoading"
40
- @click="acceptRename"
41
- >
42
- <span v-if="isLoading">Guardando...</span>
43
- <span v-else>Guardar</span>
44
- </button>
45
- </div>
46
- </div>
47
- </div>
48
- </template>
49
-
50
- <script setup>
51
- import { ref, watch, onMounted, onUnmounted } from 'vue'
52
- import axios from 'axios'
53
-
54
- const props = defineProps({
55
- initialName: {
56
- type: String,
57
- required: true,
58
- },
59
- templateType: {
60
- type: String,
61
- required: true,
62
- },
63
- token: {
64
- type: String,
65
- required: true,
66
- },
67
- userId: {
68
- type: String,
69
- required: true,
70
- },
71
- templateId: {
72
- type: String,
73
- required: true,
74
- },
75
- })
76
-
77
- const emit = defineEmits(['close', 'rename', 'refresh'])
78
- const newName = ref(props.initialName)
79
- const isLoading = ref(false)
80
- const errorMessage = ref('')
81
-
82
- watch(
83
- () => props.initialName,
84
- (val) => {
85
- newName.value = val
86
- errorMessage.value = ''
87
- },
88
- )
89
-
90
- onMounted(() => {
91
- // Bloquear el scroll del body cuando la modal está abierta
92
- document.body.style.overflow = 'hidden'
93
- })
94
-
95
- onUnmounted(() => {
96
- // Restaurar el scroll del body cuando la modal se cierra
97
- document.body.style.overflow = ''
98
- })
99
-
100
- async function acceptRename() {
101
- console.log('acceptRename')
102
- if (newName.value.trim().length < 3) return
103
- console.log('acceptRename 22')
104
-
105
- isLoading.value = true
106
- errorMessage.value = ''
107
-
108
- try {
109
- await axios.put(
110
- `https://m9qip57rsh.execute-api.us-east-2.amazonaws.com/prod/users/${props.userId}/templates/${props.templateId}/general`,
111
- {
112
- name: newName.value.trim(),
113
- },
114
- {
115
- headers: {
116
- Authorization: `${props.token}`,
117
- 'Content-Type': 'application/json',
118
- },
119
- },
120
- )
121
-
122
- // Si la petición es exitosa, emitir el evento de rename y refresh
123
- emit('rename', newName.value.trim())
124
- emit('refresh')
125
- emit('close')
126
- } catch (error) {
127
- console.error('Error al renombrar el template:', error)
128
-
129
- if (error.response?.status === 409) {
130
- errorMessage.value = 'Ya existe un template con el mismo nombre'
131
- } else {
132
- errorMessage.value = 'Error al renombrar el template. Inténtalo de nuevo.'
133
- }
134
- } finally {
135
- isLoading.value = false
136
- }
137
- }
138
- </script>
139
-
140
- <style scoped>
141
- .modal-overlay {
142
- position: fixed;
143
- top: 0;
144
- left: 0;
145
- width: 100vw;
146
- height: 100vh;
147
- background: rgba(0, 0, 0, 0.45);
148
- display: flex;
149
- align-items: center;
150
- justify-content: center;
151
- z-index: 3200;
152
- }
153
- .modal-content {
154
- width: 375px;
155
- height: auto;
156
- background: #2e3b46;
157
- border-radius: 10px;
158
- box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.18);
159
- padding: 0;
160
- position: relative;
161
- display: flex;
162
- flex-direction: column;
163
- font-family: 'Poppins-Regular', 'Montserrat', sans-serif;
164
- }
165
- .close-btn {
166
- position: absolute;
167
- top: 16px;
168
- right: 16px;
169
- background: none;
170
- border: none;
171
- cursor: pointer;
172
- z-index: 2;
173
- padding: 0;
174
- display: flex;
175
- align-items: center;
176
- justify-content: center;
177
- }
178
- .close-btn:hover {
179
- opacity: 0.7;
180
- }
181
- .close-btn img {
182
- width: 20px;
183
- height: 20px;
184
- }
185
- .header-separator {
186
- width: 100%;
187
- height: 1px;
188
- border-bottom: dashed 1px #58626b;
189
- margin: 12px 0 0 0;
190
- }
191
- .modal-header {
192
- display: flex;
193
- align-items: center;
194
- gap: 8px;
195
- padding: 20px 24px 0 24px;
196
- }
197
- .icon-title {
198
- width: 16px;
199
- height: 16px;
200
- }
201
- .modal-title {
202
- font-family: Poppins-Medium;
203
- font-size: 14px;
204
- font-weight: 500;
205
- font-stretch: normal;
206
- font-style: normal;
207
- line-height: 1.5;
208
- letter-spacing: normal;
209
- text-align: left;
210
- color: #fff;
211
- }
212
- .modal-body {
213
- flex: 1;
214
- display: flex;
215
- flex-direction: column;
216
- justify-content: center;
217
- padding: 12px 24px 0 24px;
218
- }
219
- .modal-label {
220
- font-family: Poppins-Regular;
221
- font-size: 14px;
222
- font-stretch: normal;
223
- font-style: normal;
224
- line-height: normal;
225
- letter-spacing: -0.3px;
226
- margin-top: 0px;
227
- text-align: left;
228
- color: rgba(255, 255, 255, 0.6);
229
- margin-bottom: 8px;
230
- }
231
- .template-name-input {
232
- width: 327px;
233
- height: 44.5px;
234
- border-radius: 6px;
235
- border: 1px solid #3d4a54;
236
- background: #2e3b46;
237
- color: #fff;
238
- font-family: Poppins-Regular;
239
- font-size: 14px;
240
- font-weight: normal;
241
- font-stretch: normal;
242
- font-style: normal;
243
- line-height: normal;
244
- letter-spacing: 0.1px;
245
- text-align: left;
246
- padding: 0 16px;
247
- margin-bottom: 8px;
248
- outline: none;
249
- box-sizing: border-box;
250
- transition: border 0.2s;
251
- margin-left: auto;
252
- margin-right: auto;
253
- }
254
- .template-name-input::placeholder {
255
- color: #b0bec5;
256
- opacity: 0.5;
257
- }
258
- .template-name-input:focus {
259
- border: 1.5px solid rgba(224, 231, 240, 0.3);
260
- }
261
- .template-name-input:disabled {
262
- opacity: 0.5;
263
- cursor: not-allowed;
264
- }
265
- .error-message {
266
- color: #fcfcfc;
267
- font-size: 12px;
268
- opacity: 0.6;
269
- text-align: center;
270
- margin-top: 0px;
271
- font-family: Poppins-Regular;
272
- }
273
- .modal-footer {
274
- display: flex;
275
- justify-content: center;
276
- align-items: center;
277
- gap: 18px;
278
- margin-top: 13px;
279
- padding: 0 24px 12px 24px;
280
- }
281
- .cancel-btn {
282
- background: none;
283
- border: none;
284
- color: #b0bec5;
285
- font-size: 14.9px;
286
- font-family: Poppins-Medium;
287
- height: 30px;
288
- border-radius: 64px;
289
- display: flex;
290
- align-items: center;
291
- justify-content: center;
292
- cursor: pointer;
293
- padding: 0 18px;
294
- transition: color 0.2s;
295
- text-decoration: underline;
296
- }
297
- .cancel-btn:hover:not(:disabled) {
298
- color: #fff;
299
- }
300
- .cancel-btn:disabled {
301
- opacity: 0.5;
302
- cursor: not-allowed;
303
- }
304
- .next-btn {
305
- width: 107px;
306
- height: 30px;
307
- border-radius: 64px;
308
- -webkit-backdrop-filter: blur(16px);
309
- backdrop-filter: blur(16px);
310
- border: solid 0.8px #cbee6b;
311
- background-color: rgba(255, 255, 255, 0.06);
312
- font-family: Poppins-Medium;
313
- font-size: 14.9px;
314
- font-weight: 500;
315
- font-stretch: normal;
316
- font-style: normal;
317
- line-height: 1.2;
318
- letter-spacing: -0.45px;
319
- text-align: center;
320
- color: #fff;
321
- cursor: pointer;
322
- transition:
323
- background 0.2s,
324
- color 0.2s;
325
- display: flex;
326
- align-items: center;
327
- justify-content: center;
328
- }
329
- .next-btn:disabled {
330
- opacity: 0.5;
331
- cursor: not-allowed;
332
- }
333
- .next-btn:not(:disabled):hover {
334
- background: #cbee6b;
335
- color: #232e39;
336
- }
337
- </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-rename-white.svg"
13
+ class="icon-title"
14
+ alt="icon"
15
+ />
16
+ <span class="modal-title">Renombrar 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="newName"
25
+ :placeholder="initialName"
26
+ maxlength="40"
27
+ autocomplete="off"
28
+ :disabled="isLoading"
29
+ />
30
+ <div v-if="errorMessage" class="error-message">
31
+ {{ errorMessage }}
32
+ </div>
33
+ </div>
34
+ <div class="header-separator"></div>
35
+ <div class="modal-footer">
36
+ <button class="cancel-btn" @click="$emit('close')" :disabled="isLoading">Cancelar</button>
37
+ <button
38
+ class="next-btn"
39
+ :disabled="newName.trim().length < 3 || isLoading"
40
+ @click="acceptRename"
41
+ >
42
+ <span v-if="isLoading">Guardando...</span>
43
+ <span v-else>Guardar</span>
44
+ </button>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </template>
49
+
50
+ <script setup>
51
+ import { ref, watch, onMounted, onUnmounted } from 'vue'
52
+ import axios from 'axios'
53
+
54
+ const props = defineProps({
55
+ initialName: {
56
+ type: String,
57
+ required: true,
58
+ },
59
+ templateType: {
60
+ type: String,
61
+ required: true,
62
+ },
63
+ token: {
64
+ type: String,
65
+ required: true,
66
+ },
67
+ userId: {
68
+ type: String,
69
+ required: true,
70
+ },
71
+ templateId: {
72
+ type: String,
73
+ required: true,
74
+ },
75
+ })
76
+
77
+ const emit = defineEmits(['close', 'rename', 'refresh'])
78
+ const newName = ref(props.initialName)
79
+ const isLoading = ref(false)
80
+ const errorMessage = ref('')
81
+
82
+ watch(
83
+ () => props.initialName,
84
+ (val) => {
85
+ newName.value = val
86
+ errorMessage.value = ''
87
+ },
88
+ )
89
+
90
+ onMounted(() => {
91
+ // Bloquear el scroll del body cuando la modal está abierta
92
+ document.body.style.overflow = 'hidden'
93
+ })
94
+
95
+ onUnmounted(() => {
96
+ // Restaurar el scroll del body cuando la modal se cierra
97
+ document.body.style.overflow = ''
98
+ })
99
+
100
+ async function acceptRename() {
101
+ console.log('acceptRename')
102
+ if (newName.value.trim().length < 3) return
103
+ console.log('acceptRename 22')
104
+
105
+ isLoading.value = true
106
+ errorMessage.value = ''
107
+
108
+ try {
109
+ await axios.put(
110
+ `https://m9qip57rsh.execute-api.us-east-2.amazonaws.com/prod/users/${props.userId}/templates/${props.templateId}/general`,
111
+ {
112
+ name: newName.value.trim(),
113
+ },
114
+ {
115
+ headers: {
116
+ Authorization: `${props.token}`,
117
+ 'Content-Type': 'application/json',
118
+ },
119
+ },
120
+ )
121
+
122
+ // Si la petición es exitosa, emitir el evento de rename y refresh
123
+ emit('rename', newName.value.trim())
124
+ emit('refresh')
125
+ emit('close')
126
+ } catch (error) {
127
+ console.error('Error al renombrar el template:', error)
128
+
129
+ if (error.response?.status === 409) {
130
+ errorMessage.value = 'Ya existe un template con el mismo nombre'
131
+ } else {
132
+ errorMessage.value = 'Error al renombrar el template. Inténtalo de nuevo.'
133
+ }
134
+ } finally {
135
+ isLoading.value = false
136
+ }
137
+ }
138
+ </script>
139
+
140
+ <style scoped>
141
+ .modal-overlay {
142
+ position: fixed;
143
+ top: 0;
144
+ left: 0;
145
+ width: 100vw;
146
+ height: 100vh;
147
+ background: rgba(0, 0, 0, 0.45);
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ z-index: 3200;
152
+ }
153
+ .modal-content {
154
+ width: 375px;
155
+ height: auto;
156
+ background: #2e3b46;
157
+ border-radius: 10px;
158
+ box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.18);
159
+ padding: 0;
160
+ position: relative;
161
+ display: flex;
162
+ flex-direction: column;
163
+ font-family: 'Poppins-Regular', 'Montserrat', sans-serif;
164
+ }
165
+ .close-btn {
166
+ position: absolute;
167
+ top: 16px;
168
+ right: 16px;
169
+ background: none;
170
+ border: none;
171
+ cursor: pointer;
172
+ z-index: 2;
173
+ padding: 0;
174
+ display: flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+ }
178
+ .close-btn:hover {
179
+ opacity: 0.7;
180
+ }
181
+ .close-btn img {
182
+ width: 20px;
183
+ height: 20px;
184
+ }
185
+ .header-separator {
186
+ width: 100%;
187
+ height: 1px;
188
+ border-bottom: dashed 1px #58626b;
189
+ margin: 12px 0 0 0;
190
+ }
191
+ .modal-header {
192
+ display: flex;
193
+ align-items: center;
194
+ gap: 8px;
195
+ padding: 20px 24px 0 24px;
196
+ }
197
+ .icon-title {
198
+ width: 16px;
199
+ height: 16px;
200
+ }
201
+ .modal-title {
202
+ font-family: Poppins-Medium;
203
+ font-size: 14px;
204
+ font-weight: 500;
205
+ font-stretch: normal;
206
+ font-style: normal;
207
+ line-height: 1.5;
208
+ letter-spacing: normal;
209
+ text-align: left;
210
+ color: #fff;
211
+ }
212
+ .modal-body {
213
+ flex: 1;
214
+ display: flex;
215
+ flex-direction: column;
216
+ justify-content: center;
217
+ padding: 12px 24px 0 24px;
218
+ }
219
+ .modal-label {
220
+ font-family: Poppins-Regular;
221
+ font-size: 14px;
222
+ font-stretch: normal;
223
+ font-style: normal;
224
+ line-height: normal;
225
+ letter-spacing: -0.3px;
226
+ margin-top: 0px;
227
+ text-align: left;
228
+ color: rgba(255, 255, 255, 0.6);
229
+ margin-bottom: 8px;
230
+ }
231
+ .template-name-input {
232
+ width: 327px;
233
+ height: 44.5px;
234
+ border-radius: 6px;
235
+ border: 1px solid #3d4a54;
236
+ background: #2e3b46;
237
+ color: #fff;
238
+ font-family: Poppins-Regular;
239
+ font-size: 14px;
240
+ font-weight: normal;
241
+ font-stretch: normal;
242
+ font-style: normal;
243
+ line-height: normal;
244
+ letter-spacing: 0.1px;
245
+ text-align: left;
246
+ padding: 0 16px;
247
+ margin-bottom: 8px;
248
+ outline: none;
249
+ box-sizing: border-box;
250
+ transition: border 0.2s;
251
+ margin-left: auto;
252
+ margin-right: auto;
253
+ }
254
+ .template-name-input::placeholder {
255
+ color: #b0bec5;
256
+ opacity: 0.5;
257
+ }
258
+ .template-name-input:focus {
259
+ border: 1.5px solid rgba(224, 231, 240, 0.3);
260
+ }
261
+ .template-name-input:disabled {
262
+ opacity: 0.5;
263
+ cursor: not-allowed;
264
+ }
265
+ .error-message {
266
+ color: #fcfcfc;
267
+ font-size: 12px;
268
+ opacity: 0.6;
269
+ text-align: center;
270
+ margin-top: 0px;
271
+ font-family: Poppins-Regular;
272
+ }
273
+ .modal-footer {
274
+ display: flex;
275
+ justify-content: center;
276
+ align-items: center;
277
+ gap: 18px;
278
+ margin-top: 13px;
279
+ padding: 0 24px 12px 24px;
280
+ }
281
+ .cancel-btn {
282
+ background: none;
283
+ border: none;
284
+ color: #b0bec5;
285
+ font-size: 14.9px;
286
+ font-family: Poppins-Medium;
287
+ height: 30px;
288
+ border-radius: 64px;
289
+ display: flex;
290
+ align-items: center;
291
+ justify-content: center;
292
+ cursor: pointer;
293
+ padding: 0 18px;
294
+ transition: color 0.2s;
295
+ text-decoration: underline;
296
+ }
297
+ .cancel-btn:hover:not(:disabled) {
298
+ color: #fff;
299
+ }
300
+ .cancel-btn:disabled {
301
+ opacity: 0.5;
302
+ cursor: not-allowed;
303
+ }
304
+ .next-btn {
305
+ width: 107px;
306
+ height: 30px;
307
+ border-radius: 64px;
308
+ -webkit-backdrop-filter: blur(16px);
309
+ backdrop-filter: blur(16px);
310
+ border: solid 0.8px #cbee6b;
311
+ background-color: rgba(255, 255, 255, 0.06);
312
+ font-family: Poppins-Medium;
313
+ font-size: 14.9px;
314
+ font-weight: 500;
315
+ font-stretch: normal;
316
+ font-style: normal;
317
+ line-height: 1.2;
318
+ letter-spacing: -0.45px;
319
+ text-align: center;
320
+ color: #fff;
321
+ cursor: pointer;
322
+ transition:
323
+ background 0.2s,
324
+ color 0.2s;
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: center;
328
+ }
329
+ .next-btn:disabled {
330
+ opacity: 0.5;
331
+ cursor: not-allowed;
332
+ }
333
+ .next-btn:not(:disabled):hover {
334
+ background: #cbee6b;
335
+ color: #232e39;
336
+ }
337
+ </style>