@golstats/gsc-lineups-reports 1.0.9 → 1.1.0

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 (48) hide show
  1. package/README.md +2 -2
  2. package/dist/css/fonts.css +91 -91
  3. package/dist/gsc-lineups-reports.css +1 -1
  4. package/dist/gsc-lineups-reports.es.js +2946 -2675
  5. package/dist/gsc-lineups-reports.umd.js +10 -7
  6. package/dist/images/canchaRPH.svg +30 -30
  7. package/dist/images/events/atajada.svg +56 -56
  8. package/dist/images/events/fin-del-partido.svg +43 -43
  9. package/dist/images/events/fuera-de-lugar.svg +57 -57
  10. package/dist/images/events/gol.svg +48 -48
  11. package/dist/images/events/icn-cambio.svg +6 -6
  12. package/dist/images/events/icn-falta.svg +4 -4
  13. package/dist/images/events/icn-play.svg +3 -3
  14. package/dist/images/events/icn-tarjeta-amarilla.svg +3 -3
  15. package/dist/images/events/icn-tarjeta-roja.svg +3 -3
  16. package/dist/images/events/icn-tiro-a-porteria.svg +36 -36
  17. package/dist/images/events/icn-tiros-de-esquina.svg +18 -18
  18. package/dist/images/events/inicia-el-partido.svg +45 -45
  19. package/dist/images/events/jugada-peligrosa.svg +90 -90
  20. package/dist/images/events/penal-fallado.svg +194 -194
  21. package/dist/images/events/penal-marcado.svg +189 -189
  22. package/dist/images/events/tiempo-agregado.svg +74 -74
  23. package/dist/images/events/tiro-a-porteria.svg +80 -80
  24. package/dist/images/events/var.svg +30 -30
  25. package/package.json +7 -3
  26. package/src/components/Lineup2D/CheckBox.vue +42 -42
  27. package/src/components/Lineup2D/FilterEmpty.vue +48 -48
  28. package/src/components/Lineup2D/Icons.vue +29 -29
  29. package/src/components/Lineup2D/LineupField.vue +274 -274
  30. package/src/components/Lineup2D/LineupFilter.vue +285 -285
  31. package/src/components/Lineup2D/LineupMainHeader.vue +222 -222
  32. package/src/components/Lineup2D/LineupRecentItem.vue +110 -110
  33. package/src/components/Lineup2D/MatchDetails.vue +66 -66
  34. package/src/components/gsc-filter.vue +286 -286
  35. package/src/components/gsc-header-historico-lineup.vue +1064 -1064
  36. package/src/components/gsc-header-postmatch-lineup.vue +1017 -1017
  37. package/src/components/gsc-header-probables-lineup.vue +1044 -1044
  38. package/src/components/gsc-header-recientes-lineup.vue +2337 -2337
  39. package/src/components/gsc-lineup-dosd.vue +3777 -3752
  40. package/src/components/gsc-lineup-main.vue +81 -65
  41. package/src/components/gsc-lineups-reports.vue +10 -0
  42. package/src/components/gsc-lineups.vue +46 -12
  43. package/src/components/gsc-player-card.vue +166 -166
  44. package/src/index.js +4 -4
  45. package/src/main-test.js +42 -0
  46. package/src/types.d.ts +45 -45
  47. package/src/utils/apiUrl.js +33 -0
  48. package/src/utils/socketConnection.js +29 -29
@@ -1,274 +1,274 @@
1
- <template>
2
- <div class="lineup-field">
3
- <svg
4
- width="530"
5
- height="342"
6
- viewBox="0 0 530 342"
7
- fill="none"
8
- xmlns="http://www.w3.org/2000/svg"
9
- class="lineup-field__svg"
10
- >
11
- <rect
12
- x="529.436"
13
- y="340.563"
14
- width="528.872"
15
- height="339.425"
16
- rx="2.50325"
17
- transform="rotate(-180 529.436 340.563)"
18
- stroke="#DFE3E2"
19
- stroke-width="1.12766"
20
- />
21
- <path
22
- d="M264.694 339.979L264.695 2.05153"
23
- stroke="#DFE3E2"
24
- stroke-width="1.12766"
25
- stroke-linecap="square"
26
- />
27
- <path
28
- d="M530 252.538L460.391 252.538C459.544 252.538 458.857 251.851 458.857 251.004L458.857 91.0363C458.857 90.1894 459.544 89.5028 460.391 89.5028L530 89.5028"
29
- stroke="#DFE3E2"
30
- stroke-width="1.12766"
31
- />
32
- <path
33
- d="M530 222.894L490.034 222.894C489.187 222.894 488.5 222.207 488.5 221.36L488.5 120.678C488.5 119.831 489.187 119.144 490.034 119.144L530 119.144"
34
- stroke="#DFE3E2"
35
- stroke-width="1.12766"
36
- />
37
- <path
38
- d="M1.58213 222.892L41.5413 222.892C42.3911 222.892 43.0788 222.201 43.0749 221.351L42.6066 120.669C42.6027 119.825 41.9172 119.143 41.0731 119.143L2.29922 119.143"
39
- stroke="#DFE3E2"
40
- stroke-width="1.12766"
41
- stroke-linecap="square"
42
- />
43
- <path
44
- d="M1.57997 252.536L71.1813 252.536C72.0313 252.536 72.7191 251.845 72.7148 250.995L71.9032 91.0271C71.8989 90.1832 71.2136 89.5013 70.3696 89.5013L2.80927 89.5013"
45
- stroke="#DFE3E2"
46
- stroke-width="1.12766"
47
- stroke-linecap="square"
48
- />
49
- <path
50
- d="M191.155 171.02C191.155 130.403 224.081 97.4766 264.698 97.4766C305.314 97.4766 338.241 130.403 338.241 171.02C338.241 211.636 305.314 244.563 264.698 244.563C224.081 244.563 191.155 211.636 191.155 171.02Z"
51
- stroke="#DFE3E2"
52
- stroke-width="1.12766"
53
- />
54
- <ellipse
55
- cx="264.699"
56
- cy="171.021"
57
- rx="7.4107"
58
- ry="7.41068"
59
- transform="rotate(-180 264.699 171.021)"
60
- fill="#D8D8D8"
61
- stroke="#DFE3E2"
62
- stroke-width="1.12766"
63
- />
64
- <g
65
- v-for="(player, i) in playerPosition"
66
- @mouseover="hoveringItem(i)"
67
- @mouseleave="leaveItem()"
68
- style="cursor: pointer"
69
- :key="'circle-' + i"
70
- >
71
- <circle
72
- :transform="`translate(${player.posX + 7},${player.posY + 16})`"
73
- r="16"
74
- stroke="#777F86"
75
- stroke-width="2"
76
- :fill="player.isFirstTeam ? '#0033C5' : '#CBEE6B'"
77
- />
78
- <text
79
- :x="player.posX + 7"
80
- :y="player.posY + 16"
81
- class="lineup-field__text"
82
- :fill="player.isFirstTeam ? '#fff' : '#16232E'"
83
- >
84
- {{ player.number }}
85
- </text>
86
-
87
- <circle
88
- v-if="player.goals > 0"
89
- style="box-shadow: 0 4px 4px #00000040"
90
- :transform="`translate(${player.posX - 16},${player.posY + 1})`"
91
- r="8"
92
- stroke="#777F86"
93
- stroke-width="0.2"
94
- :fill="'#00000040'"
95
- >
96
- {{ player }}
97
- </circle>
98
- <!-- Goles ---->
99
- <image
100
- v-if="player.goals > 0"
101
- xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/players-goals-con-goles.png"
102
- width="10"
103
- :transform="`translate(${player.posX - 21},${player.posY - 4})`"
104
- />
105
- <!-- Goles ---->
106
-
107
- <circle
108
- v-if="player.substitutionIn || player.substitutionOut"
109
- style="box-shadow: 0 4px 4px #00000040"
110
- :transform="`translate(${player.posX + 33},${player.posY - 1})`"
111
- r="8"
112
- stroke="#777F86"
113
- stroke-width="0.2"
114
- :fill="'#0033c5'"
115
- >
116
- {{ player }}
117
- </circle>
118
- <!-- Cambios ---->
119
- <image
120
- v-if="player.substitutionIn || player.substitutionOut"
121
- xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/lineups/line.png"
122
- width="12"
123
- :transform="`translate(${player.posX + 27},${player.posY - 4})`"
124
- />
125
- <!-- cambios ---->
126
-
127
- <circle
128
- v-if="player.yellowcards > 0 && player.redcards == 0"
129
- style="box-shadow: 0 4px 4px #00000040"
130
- :transform="`translate(${player.posX + 33},${player.posY + 18})`"
131
- r="8"
132
- stroke="#777F86"
133
- stroke-width="0.2"
134
- :fill="'#00000040'"
135
- >
136
- {{ player }}
137
- </circle>
138
- <!-- Amerillas -->
139
- <image
140
- v-if="player.yellowcards > 0 && player.redcards == 0"
141
- xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_card.png"
142
- width="9"
143
- :transform="`translate(${player.posX + 28},${player.posY + 13})`"
144
- />
145
- <!-- amariilas ---->
146
-
147
- <circle
148
- v-if="player.yellowcards > 0 && player.redcards > 0"
149
- style="box-shadow: 0 4px 4px #00000040"
150
- :transform="`translate(${player.posX + 33},${player.posY + 18})`"
151
- r="8"
152
- stroke="#777F86"
153
- stroke-width="0.2"
154
- :fill="'#00000040'"
155
- ></circle>
156
- <!-- Amerillas y rojas -->
157
- <image
158
- v-if="player.yellowcards > 0 && player.redcards > 0"
159
- xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_and_red.png"
160
- width="9"
161
- :transform="`translate(${player.posX + 28},${player.posY + 13})`"
162
- />
163
- <!-- amariilas y rojas ---->
164
-
165
- <circle
166
- v-if="player.yellowcards == 0 && player.redcards > 0"
167
- style="box-shadow: 0 4px 4px #00000040"
168
- :transform="`translate(${player.posX + 33},${player.posY + 18})`"
169
- r="8"
170
- stroke="#777F86"
171
- stroke-width="0.2"
172
- :fill="'#00000040'"
173
- ></circle>
174
- <!-- rojas -->
175
- <image
176
- v-if="player.yellowcards == 0 && player.redcards > 0"
177
- xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_and_red.png"
178
- width="9"
179
- :transform="`translate(${player.posX + 28},${player.posY + 13})`"
180
- />
181
- <!-- rojas ---->
182
- </g>
183
- </svg>
184
-
185
- <div ref="modal" class="lineup-field__modal">
186
- <img
187
- class="lineup-field__modal-img"
188
- width="40"
189
- v-if="selectedPlayerPhoto"
190
- :src="selectedPlayerPhoto"
191
- />
192
- <p class="lineup-field__player-name">{{ selectedPlayerName }}</p>
193
- </div>
194
- </div>
195
- </template>
196
- <script setup>
197
- import { computed, ref, toRef } from 'vue'
198
-
199
- const props = defineProps({
200
- //x and y => minVal 0 and maxVal 100
201
- players: {
202
- type: Array,
203
- default: () => [],
204
- },
205
- })
206
- const players = toRef(props, 'players')
207
- const displayModal = ref(false)
208
- const modal = ref(null)
209
- const selectedPlayerName = ref('-')
210
- const selectedPlayerPhoto = ref(undefined)
211
- const playerPosition = computed(() =>
212
- players.value.map((player) => ({ ...player, posX: player.posX * 5.3, posY: player.posY * 3.4 })),
213
- )
214
- const hoveringItem = (i) => {
215
- displayModal.value = true
216
- modal.value.style.display = 'block'
217
- modal.value.style.left = `calc(${players.value[i].posX}% - 30px)`
218
- modal.value.style.top = `calc(${players.value[i].posY}% + 50px)`
219
- selectedPlayerName.value = players.value[i].name
220
- selectedPlayerPhoto.value = players.value[i].photo
221
- }
222
- const leaveItem = () => {
223
- modal.value.style.display = 'none'
224
- displayModal.value = false
225
- }
226
- </script>
227
- <style lang="scss" scoped>
228
- .lineup-field {
229
- position: relative;
230
- &__modal {
231
- display: none;
232
- top: 0;
233
- left: 0;
234
- width: 100px;
235
- height: 75px;
236
- border-radius: 5.59px;
237
- background: #183143;
238
- position: absolute;
239
- }
240
- &__modal-img {
241
- position: absolute;
242
- bottom: 40%;
243
- left: 50%;
244
- transform: translateX(-50%);
245
- }
246
- &__player-name {
247
- margin: 38px 0 0;
248
- color: #f4f4f4;
249
- text-align: center;
250
- leading-trim: both;
251
- text-edge: cap;
252
- font-family: Poppins, sans-serif;
253
- font-size: 12.154px;
254
- font-style: normal;
255
- font-weight: 400;
256
- line-height: 40.114px; /* 283.408% */
257
- overflow: hidden;
258
- text-overflow: ellipsis;
259
- white-space: nowrap;
260
- padding: 0 5px;
261
- }
262
- &__svg {
263
- height: auto;
264
- width: 100%;
265
- }
266
- &__text {
267
- font-family: Poppins, sans-serif;
268
- alignment-baseline: central;
269
- text-anchor: middle;
270
- font-weight: 500;
271
- font-size: 16px;
272
- }
273
- }
274
- </style>
1
+ <template>
2
+ <div class="lineup-field">
3
+ <svg
4
+ width="530"
5
+ height="342"
6
+ viewBox="0 0 530 342"
7
+ fill="none"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ class="lineup-field__svg"
10
+ >
11
+ <rect
12
+ x="529.436"
13
+ y="340.563"
14
+ width="528.872"
15
+ height="339.425"
16
+ rx="2.50325"
17
+ transform="rotate(-180 529.436 340.563)"
18
+ stroke="#DFE3E2"
19
+ stroke-width="1.12766"
20
+ />
21
+ <path
22
+ d="M264.694 339.979L264.695 2.05153"
23
+ stroke="#DFE3E2"
24
+ stroke-width="1.12766"
25
+ stroke-linecap="square"
26
+ />
27
+ <path
28
+ d="M530 252.538L460.391 252.538C459.544 252.538 458.857 251.851 458.857 251.004L458.857 91.0363C458.857 90.1894 459.544 89.5028 460.391 89.5028L530 89.5028"
29
+ stroke="#DFE3E2"
30
+ stroke-width="1.12766"
31
+ />
32
+ <path
33
+ d="M530 222.894L490.034 222.894C489.187 222.894 488.5 222.207 488.5 221.36L488.5 120.678C488.5 119.831 489.187 119.144 490.034 119.144L530 119.144"
34
+ stroke="#DFE3E2"
35
+ stroke-width="1.12766"
36
+ />
37
+ <path
38
+ d="M1.58213 222.892L41.5413 222.892C42.3911 222.892 43.0788 222.201 43.0749 221.351L42.6066 120.669C42.6027 119.825 41.9172 119.143 41.0731 119.143L2.29922 119.143"
39
+ stroke="#DFE3E2"
40
+ stroke-width="1.12766"
41
+ stroke-linecap="square"
42
+ />
43
+ <path
44
+ d="M1.57997 252.536L71.1813 252.536C72.0313 252.536 72.7191 251.845 72.7148 250.995L71.9032 91.0271C71.8989 90.1832 71.2136 89.5013 70.3696 89.5013L2.80927 89.5013"
45
+ stroke="#DFE3E2"
46
+ stroke-width="1.12766"
47
+ stroke-linecap="square"
48
+ />
49
+ <path
50
+ d="M191.155 171.02C191.155 130.403 224.081 97.4766 264.698 97.4766C305.314 97.4766 338.241 130.403 338.241 171.02C338.241 211.636 305.314 244.563 264.698 244.563C224.081 244.563 191.155 211.636 191.155 171.02Z"
51
+ stroke="#DFE3E2"
52
+ stroke-width="1.12766"
53
+ />
54
+ <ellipse
55
+ cx="264.699"
56
+ cy="171.021"
57
+ rx="7.4107"
58
+ ry="7.41068"
59
+ transform="rotate(-180 264.699 171.021)"
60
+ fill="#D8D8D8"
61
+ stroke="#DFE3E2"
62
+ stroke-width="1.12766"
63
+ />
64
+ <g
65
+ v-for="(player, i) in playerPosition"
66
+ @mouseover="hoveringItem(i)"
67
+ @mouseleave="leaveItem()"
68
+ style="cursor: pointer"
69
+ :key="'circle-' + i"
70
+ >
71
+ <circle
72
+ :transform="`translate(${player.posX + 7},${player.posY + 16})`"
73
+ r="16"
74
+ stroke="#777F86"
75
+ stroke-width="2"
76
+ :fill="player.isFirstTeam ? '#0033C5' : '#CBEE6B'"
77
+ />
78
+ <text
79
+ :x="player.posX + 7"
80
+ :y="player.posY + 16"
81
+ class="lineup-field__text"
82
+ :fill="player.isFirstTeam ? '#fff' : '#16232E'"
83
+ >
84
+ {{ player.number }}
85
+ </text>
86
+
87
+ <circle
88
+ v-if="player.goals > 0"
89
+ style="box-shadow: 0 4px 4px #00000040"
90
+ :transform="`translate(${player.posX - 16},${player.posY + 1})`"
91
+ r="8"
92
+ stroke="#777F86"
93
+ stroke-width="0.2"
94
+ :fill="'#00000040'"
95
+ >
96
+ {{ player }}
97
+ </circle>
98
+ <!-- Goles ---->
99
+ <image
100
+ v-if="player.goals > 0"
101
+ xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/players-goals-con-goles.png"
102
+ width="10"
103
+ :transform="`translate(${player.posX - 21},${player.posY - 4})`"
104
+ />
105
+ <!-- Goles ---->
106
+
107
+ <circle
108
+ v-if="player.substitutionIn || player.substitutionOut"
109
+ style="box-shadow: 0 4px 4px #00000040"
110
+ :transform="`translate(${player.posX + 33},${player.posY - 1})`"
111
+ r="8"
112
+ stroke="#777F86"
113
+ stroke-width="0.2"
114
+ :fill="'#0033c5'"
115
+ >
116
+ {{ player }}
117
+ </circle>
118
+ <!-- Cambios ---->
119
+ <image
120
+ v-if="player.substitutionIn || player.substitutionOut"
121
+ xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/lineups/line.png"
122
+ width="12"
123
+ :transform="`translate(${player.posX + 27},${player.posY - 4})`"
124
+ />
125
+ <!-- cambios ---->
126
+
127
+ <circle
128
+ v-if="player.yellowcards > 0 && player.redcards == 0"
129
+ style="box-shadow: 0 4px 4px #00000040"
130
+ :transform="`translate(${player.posX + 33},${player.posY + 18})`"
131
+ r="8"
132
+ stroke="#777F86"
133
+ stroke-width="0.2"
134
+ :fill="'#00000040'"
135
+ >
136
+ {{ player }}
137
+ </circle>
138
+ <!-- Amerillas -->
139
+ <image
140
+ v-if="player.yellowcards > 0 && player.redcards == 0"
141
+ xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_card.png"
142
+ width="9"
143
+ :transform="`translate(${player.posX + 28},${player.posY + 13})`"
144
+ />
145
+ <!-- amariilas ---->
146
+
147
+ <circle
148
+ v-if="player.yellowcards > 0 && player.redcards > 0"
149
+ style="box-shadow: 0 4px 4px #00000040"
150
+ :transform="`translate(${player.posX + 33},${player.posY + 18})`"
151
+ r="8"
152
+ stroke="#777F86"
153
+ stroke-width="0.2"
154
+ :fill="'#00000040'"
155
+ ></circle>
156
+ <!-- Amerillas y rojas -->
157
+ <image
158
+ v-if="player.yellowcards > 0 && player.redcards > 0"
159
+ xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_and_red.png"
160
+ width="9"
161
+ :transform="`translate(${player.posX + 28},${player.posY + 13})`"
162
+ />
163
+ <!-- amariilas y rojas ---->
164
+
165
+ <circle
166
+ v-if="player.yellowcards == 0 && player.redcards > 0"
167
+ style="box-shadow: 0 4px 4px #00000040"
168
+ :transform="`translate(${player.posX + 33},${player.posY + 18})`"
169
+ r="8"
170
+ stroke="#777F86"
171
+ stroke-width="0.2"
172
+ :fill="'#00000040'"
173
+ ></circle>
174
+ <!-- rojas -->
175
+ <image
176
+ v-if="player.yellowcards == 0 && player.redcards > 0"
177
+ xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_and_red.png"
178
+ width="9"
179
+ :transform="`translate(${player.posX + 28},${player.posY + 13})`"
180
+ />
181
+ <!-- rojas ---->
182
+ </g>
183
+ </svg>
184
+
185
+ <div ref="modal" class="lineup-field__modal">
186
+ <img
187
+ class="lineup-field__modal-img"
188
+ width="40"
189
+ v-if="selectedPlayerPhoto"
190
+ :src="selectedPlayerPhoto"
191
+ />
192
+ <p class="lineup-field__player-name">{{ selectedPlayerName }}</p>
193
+ </div>
194
+ </div>
195
+ </template>
196
+ <script setup>
197
+ import { computed, ref, toRef } from 'vue'
198
+
199
+ const props = defineProps({
200
+ //x and y => minVal 0 and maxVal 100
201
+ players: {
202
+ type: Array,
203
+ default: () => [],
204
+ },
205
+ })
206
+ const players = toRef(props, 'players')
207
+ const displayModal = ref(false)
208
+ const modal = ref(null)
209
+ const selectedPlayerName = ref('-')
210
+ const selectedPlayerPhoto = ref(undefined)
211
+ const playerPosition = computed(() =>
212
+ players.value.map((player) => ({ ...player, posX: player.posX * 5.3, posY: player.posY * 3.4 })),
213
+ )
214
+ const hoveringItem = (i) => {
215
+ displayModal.value = true
216
+ modal.value.style.display = 'block'
217
+ modal.value.style.left = `calc(${players.value[i].posX}% - 30px)`
218
+ modal.value.style.top = `calc(${players.value[i].posY}% + 50px)`
219
+ selectedPlayerName.value = players.value[i].name
220
+ selectedPlayerPhoto.value = players.value[i].photo
221
+ }
222
+ const leaveItem = () => {
223
+ modal.value.style.display = 'none'
224
+ displayModal.value = false
225
+ }
226
+ </script>
227
+ <style lang="scss" scoped>
228
+ .lineup-field {
229
+ position: relative;
230
+ &__modal {
231
+ display: none;
232
+ top: 0;
233
+ left: 0;
234
+ width: 100px;
235
+ height: 75px;
236
+ border-radius: 5.59px;
237
+ background: #183143;
238
+ position: absolute;
239
+ }
240
+ &__modal-img {
241
+ position: absolute;
242
+ bottom: 40%;
243
+ left: 50%;
244
+ transform: translateX(-50%);
245
+ }
246
+ &__player-name {
247
+ margin: 38px 0 0;
248
+ color: #f4f4f4;
249
+ text-align: center;
250
+ leading-trim: both;
251
+ text-edge: cap;
252
+ font-family: Poppins, sans-serif;
253
+ font-size: 12.154px;
254
+ font-style: normal;
255
+ font-weight: 400;
256
+ line-height: 40.114px; /* 283.408% */
257
+ overflow: hidden;
258
+ text-overflow: ellipsis;
259
+ white-space: nowrap;
260
+ padding: 0 5px;
261
+ }
262
+ &__svg {
263
+ height: auto;
264
+ width: 100%;
265
+ }
266
+ &__text {
267
+ font-family: Poppins, sans-serif;
268
+ alignment-baseline: central;
269
+ text-anchor: middle;
270
+ font-weight: 500;
271
+ font-size: 16px;
272
+ }
273
+ }
274
+ </style>