@golstats/gsc-lineups-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 (58) hide show
  1. package/dist/gsc-lineups-reports.css +1 -1
  2. package/dist/gsc-lineups-reports.es.js +1323 -1274
  3. package/dist/gsc-lineups-reports.umd.js +7 -7
  4. package/package.json +1 -1
  5. package/src/App.vue +1 -0
  6. package/src/components/Lineup2D/LineupField.vue +251 -97
  7. package/src/components/gsc-header-historico-lineup.vue +962 -883
  8. package/src/components/gsc-header-postmatch-lineup.vue +896 -847
  9. package/src/components/gsc-header-recientes-lineup.vue +1923 -1459
  10. package/src/components/gsc-lineups-reports.vue +4 -0
  11. package/src/components/gsc-lineups.vue +51 -23
  12. package/dist/atajada.svg +0 -57
  13. package/dist/backarrow.svg +0 -3
  14. package/dist/cancha-3d.png +0 -0
  15. package/dist/contorno-escudo.svg +0 -3
  16. package/dist/escudo1.png +0 -0
  17. package/dist/escudo2.png +0 -0
  18. package/dist/favicon.ico +0 -0
  19. package/dist/field-green-posesion.png +0 -0
  20. package/dist/fin-del-partido.svg +0 -44
  21. package/dist/fuera-de-lugar.svg +0 -58
  22. package/dist/gol.svg +0 -49
  23. package/dist/group-427321178.svg +0 -8
  24. package/dist/group-427321179.svg +0 -5
  25. package/dist/group-427321501.svg +0 -5
  26. package/dist/icn-arrow-expand.svg +0 -3
  27. package/dist/icn-cambio.svg +0 -27
  28. package/dist/icn-expand-arrow.svg +0 -3
  29. package/dist/icn-expand-arrow1.svg +0 -3
  30. package/dist/icn-falta.svg +0 -43
  31. package/dist/icn-filter.svg +0 -12
  32. package/dist/icn-filter1.svg +0 -12
  33. package/dist/icn-filter2.svg +0 -12
  34. package/dist/icn-golstats.png +0 -0
  35. package/dist/icn-play.svg +0 -10
  36. package/dist/icn-tarjeta-amarilla.svg +0 -4
  37. package/dist/icn-tarjeta-roja.svg +0 -4
  38. package/dist/icn-tiro-a-porteria.svg +0 -36
  39. package/dist/icn-tiros-de-esquina.svg +0 -55
  40. package/dist/images/events/cambio.svg +0 -27
  41. package/dist/images/events/falta.svg +0 -43
  42. package/dist/images/events/generic.svg +0 -1
  43. package/dist/images/events/tiro-de-esquina.svg +0 -55
  44. package/dist/inicia-el-partido.svg +0 -46
  45. package/dist/jugada-peligrosa.svg +0 -91
  46. package/dist/line-white.png +0 -0
  47. package/dist/line.png +0 -0
  48. package/dist/next-arrow.svg +0 -3
  49. package/dist/nextarrow.svg +0 -3
  50. package/dist/penal-fallado.svg +0 -195
  51. package/dist/penal-marcado.svg +0 -190
  52. package/dist/play-icn.svg +0 -3
  53. package/dist/shape.svg +0 -3
  54. package/dist/styles.css +0 -1191
  55. package/dist/tiempo-agregado.svg +0 -75
  56. package/dist/tiro-a-porteria.svg +0 -81
  57. package/dist/var.png +0 -0
  58. package/dist/var.svg +0 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golstats/gsc-lineups-reports",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "main": "dist/gsc-lineups-reports.umd.js",
5
5
  "module": "dist/gsc-lineups-reports.es.js",
6
6
  "exports": {
package/src/App.vue CHANGED
@@ -5,6 +5,7 @@ import GSCMatchSummary from './components/gsc-lineups-reports.vue'
5
5
  <template>
6
6
  <div style="max-width: 968px; height: auto">
7
7
  <GSCMatchSummary
8
+ selected-option="Prematch"
8
9
  :game="{ game_id: 90572, season_id: 2015, prematch: true }"
9
10
  :gamehome="{ game_id: 90564, season_id: 2015, prematch: true }"
10
11
  :gameaway="{ game_id: 90565, season_id: 2015, prematch: true }"
@@ -1,120 +1,274 @@
1
1
  <template>
2
- <div class="lineup-field">
3
- <svg width="530" height="342" viewBox="0 0 530 342" fill="none" xmlns="http://www.w3.org/2000/svg" class="lineup-field__svg">
4
- <rect x="529.436" y="340.563" width="528.872" height="339.425" rx="2.50325" transform="rotate(-180 529.436 340.563)" stroke="#DFE3E2" stroke-width="1.12766"/>
5
- <path d="M264.694 339.979L264.695 2.05153" stroke="#DFE3E2" stroke-width="1.12766" stroke-linecap="square"/>
6
- <path 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" stroke="#DFE3E2" stroke-width="1.12766"/>
7
- <path 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" stroke="#DFE3E2" stroke-width="1.12766"/>
8
- <path 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" stroke="#DFE3E2" stroke-width="1.12766" stroke-linecap="square"/>
9
- <path 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" stroke="#DFE3E2" stroke-width="1.12766" stroke-linecap="square"/>
10
- <path 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" stroke="#DFE3E2" stroke-width="1.12766"/>
11
- <ellipse cx="264.699" cy="171.021" rx="7.4107" ry="7.41068" transform="rotate(-180 264.699 171.021)" fill="#D8D8D8" stroke="#DFE3E2" stroke-width="1.12766"/>
12
- <g v-for="(player, i) in playerPosition" @mouseover="hoveringItem(i)" @mouseleave="leaveItem()" style="cursor: pointer;" :key="'circle-'+ i">
13
- <circle :transform="`translate(${player.posX+7},${player.posY+16})`" r="16" stroke="#777F86" stroke-width="2" :fill="player.isFirstTeam ? '#0033C5' : '#CBEE6B'" />
14
- <text :x="player.posX+7" :y="player.posY+16" class="lineup-field__text" :fill="player.isFirstTeam ? '#fff': '#16232E'">{{ player.number }}</text>
15
-
16
- <circle v-if="player.goals > 0" style="box-shadow: 0 4px 4px #00000040" :transform="`translate(${player.posX-16},${player.posY+1})`" r="8" stroke="#777F86" stroke-width="0.2" :fill="'#00000040'">{{ player }}</circle><!-- Goles ---->
17
- <image v-if="player.goals > 0" xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/players-goals-con-goles.png" width="10" :transform="`translate(${player.posX-21},${player.posY-4})`" /><!-- Goles ---->
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>
18
86
 
19
- <circle v-if="player.substitutionIn || player.substitutionOut" style="box-shadow: 0 4px 4px #00000040" :transform="`translate(${player.posX+33},${player.posY-1})`" r="8" stroke="#777F86" stroke-width="0.2" :fill="'#0033c5'">{{ player }}</circle><!-- Cambios ---->
20
- <image v-if="player.substitutionIn || player.substitutionOut" xlink:href="/line.png" width="12" :transform="`translate(${player.posX+27},${player.posY-4})`" /><!-- cambios ---->
21
-
22
- <circle v-if="player.yellowcards > 0 && player.redcards == 0" style="box-shadow: 0 4px 4px #00000040" :transform="`translate(${player.posX+33},${player.posY+18})`" r="8" stroke="#777F86" stroke-width="0.2" :fill="'#00000040'">{{ player }}</circle><!-- Amerillas -->
23
- <image v-if="player.yellowcards > 0 && player.redcards == 0" xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_card.png" width="9" :transform="`translate(${player.posX+28},${player.posY+13})`" /><!-- amariilas ---->
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 ---->
24
106
 
25
- <circle v-if="player.yellowcards > 0 && player.redcards > 0" style="box-shadow: 0 4px 4px #00000040" :transform="`translate(${player.posX+33},${player.posY+18})`" r="8" stroke="#777F86" stroke-width="0.2" :fill="'#00000040'"></circle><!-- Amerillas y rojas -->
26
- <image v-if="player.yellowcards > 0 && player.redcards > 0" xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_and_red.png" width="9" :transform="`translate(${player.posX+28},${player.posY+13})`" /><!-- amariilas y rojas ---->
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 ---->
27
126
 
28
- <circle v-if="player.yellowcards == 0 && player.redcards > 0" style="box-shadow: 0 4px 4px #00000040" :transform="`translate(${player.posX+33},${player.posY+18})`" r="8" stroke="#777F86" stroke-width="0.2" :fill="'#00000040'"></circle><!-- rojas -->
29
- <image v-if="player.yellowcards == 0 && player.redcards > 0" xlink:href="https://golstatsimages.blob.core.windows.net/todoelfut/yellow_and_red.png" width="9" :transform="`translate(${player.posX+28},${player.posY+13})`" /><!-- rojas ---->
30
-
31
- </g>
32
-
33
-
34
- </svg>
35
-
36
-
37
- <div ref="modal" class="lineup-field__modal">
38
- <img class="lineup-field__modal-img" width="40" v-if="selectedPlayerPhoto" :src="selectedPlayerPhoto">
39
- <p class="lineup-field__player-name">{{ selectedPlayerName }}</p>
40
- </div>
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>
41
193
  </div>
194
+ </div>
42
195
  </template>
43
196
  <script setup>
44
- import { computed, ref, toRef } from 'vue';
197
+ import { computed, ref, toRef } from 'vue'
45
198
 
46
199
  const props = defineProps({
47
- //x and y => minVal 0 and maxVal 100
48
- players: {
49
- type: Array,
50
- default: () => []
51
- }
200
+ //x and y => minVal 0 and maxVal 100
201
+ players: {
202
+ type: Array,
203
+ default: () => [],
204
+ },
52
205
  })
53
206
  const players = toRef(props, 'players')
54
207
  const displayModal = ref(false)
55
208
  const modal = ref(null)
56
209
  const selectedPlayerName = ref('-')
57
210
  const selectedPlayerPhoto = ref(undefined)
58
- const playerPosition = computed(() => players.value.map((player) => ({...player, posX: player.posX*5.3, posY: player.posY*3.4,})))
211
+ const playerPosition = computed(() =>
212
+ players.value.map((player) => ({ ...player, posX: player.posX * 5.3, posY: player.posY * 3.4 })),
213
+ )
59
214
  const hoveringItem = (i) => {
60
- displayModal.value = true
61
- modal.value.style.display = 'block'
62
- modal.value.style.left = `calc(${players.value[i].posX}% - 30px)`
63
- modal.value.style.top = `calc(${players.value[i].posY}% + 50px)`
64
- selectedPlayerName.value = players.value[i].name
65
- selectedPlayerPhoto.value = players.value[i].photo
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
66
221
  }
67
222
  const leaveItem = () => {
68
- modal.value.style.display = 'none'
69
- displayModal.value = false
70
-
223
+ modal.value.style.display = 'none'
224
+ displayModal.value = false
71
225
  }
72
226
  </script>
73
227
  <style lang="scss" scoped>
74
228
  .lineup-field {
75
- position: relative;
76
- &__modal {
77
- display: none;
78
- top: 0;
79
- left: 0;
80
- width: 100px;
81
- height: 75px;
82
- border-radius: 5.59px;
83
- background: #183143;
84
- position: absolute;
85
- }
86
- &__modal-img {
87
- position: absolute;
88
- bottom: 40%;
89
- left: 50%;
90
- transform: translateX(-50%);
91
- }
92
- &__player-name {
93
- margin: 38px 0 0;
94
- color: #F4F4F4;
95
- text-align: center;
96
- leading-trim: both;
97
- text-edge: cap;
98
- font-family: Poppins, sans-serif;
99
- font-size: 12.154px;
100
- font-style: normal;
101
- font-weight: 400;
102
- line-height: 40.114px; /* 283.408% */
103
- overflow: hidden;
104
- text-overflow: ellipsis;
105
- white-space: nowrap;
106
- padding: 0 5px;
107
- }
108
- &__svg {
109
- height: auto;
110
- width: 100%;
111
- }
112
- &__text {
113
- font-family: Poppins, sans-serif;
114
- alignment-baseline: central;
115
- text-anchor: middle;
116
- font-weight: 500;
117
- font-size: 16px;
118
- }
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
+ }
119
273
  }
120
- </style>
274
+ </style>