@golstats/gsc-top-player 1.0.17 → 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.
- package/dist/{FilterConditions-55d68355-DPiU8CVS.js → FilterConditions-d39a5cfa-C5fnxAqO.js} +21 -21
- package/dist/{FilterField-59a73e38-D7H201LZ.js → FilterField-c689115c-B-SYurQZ.js} +5 -5
- package/dist/{FilterSubcategories-a9b32cc9-C_bBN5SI.js → FilterSubcategories-87004bd7-xHZhPJdS.js} +2 -2
- package/dist/gsc-top-player.css +1 -1
- package/dist/gsc-top-player.es.js +1 -1
- package/dist/gsc-top-player.umd.js +14 -11
- package/dist/{index-Dd1PqhZb.js → index-bgRQpA7V.js} +3090 -2813
- package/package.json +7 -3
- package/src/App.vue +2 -0
- package/src/components/comparative/gsc-top.vue +17 -2
- package/src/components/comparative/gsc-tops-full.vue +37 -4
- package/src/components/gsc-top-player.vue +10 -0
- package/src/utils/apiUrl.js +29 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golstats/gsc-top-player",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"main": "dist/gsc-top-player.umd.js",
|
|
5
5
|
"module": "dist/gsc-top-player.es.js",
|
|
6
6
|
"exports": {
|
|
@@ -39,7 +39,10 @@
|
|
|
39
39
|
"preview": "vite preview",
|
|
40
40
|
"lint": "eslint . --fix",
|
|
41
41
|
"format": "prettier --write src/",
|
|
42
|
-
"prepublishOnly": "npm run build"
|
|
42
|
+
"prepublishOnly": "npm run build",
|
|
43
|
+
"test:e2e": "playwright test",
|
|
44
|
+
"test:e2e:ui": "playwright test --ui",
|
|
45
|
+
"test:e2e:headed": "playwright test --headed"
|
|
43
46
|
},
|
|
44
47
|
"peerDependencies": {
|
|
45
48
|
"vue": "^3.0.0"
|
|
@@ -51,11 +54,12 @@
|
|
|
51
54
|
"@golstats/gsc-label": "^1.0.5",
|
|
52
55
|
"@golstats/gsc-season-select": "^1.0.9",
|
|
53
56
|
"@golstats/gsc-switch-component": "^1.0.14",
|
|
54
|
-
"@golstats/gsc-tournament-select": "^1.0.
|
|
57
|
+
"@golstats/gsc-tournament-select": "^1.0.21",
|
|
55
58
|
"axios": "^1.10.0"
|
|
56
59
|
},
|
|
57
60
|
"devDependencies": {
|
|
58
61
|
"@eslint/js": "^9.22.0",
|
|
62
|
+
"@playwright/test": "^1.59.1",
|
|
59
63
|
"@vitejs/plugin-vue": "^5.2.3",
|
|
60
64
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
61
65
|
"eslint": "^9.22.0",
|
package/src/App.vue
CHANGED
|
@@ -291,6 +291,7 @@
|
|
|
291
291
|
|
|
292
292
|
<script>
|
|
293
293
|
import axios from 'axios'
|
|
294
|
+
import { getApiUrl } from '@/utils/apiUrl.js'
|
|
294
295
|
import { ref } from 'vue'
|
|
295
296
|
import useElementSize from './useElementSize'
|
|
296
297
|
import GSCLeaders from './gsc-header-tops.vue'
|
|
@@ -394,6 +395,14 @@ export default {
|
|
|
394
395
|
type: Boolean,
|
|
395
396
|
default: true,
|
|
396
397
|
},
|
|
398
|
+
provider: {
|
|
399
|
+
type: Number,
|
|
400
|
+
default: 1,
|
|
401
|
+
},
|
|
402
|
+
isDevApis: {
|
|
403
|
+
type: Boolean,
|
|
404
|
+
default: false,
|
|
405
|
+
},
|
|
397
406
|
},
|
|
398
407
|
setup() {
|
|
399
408
|
const myDivRef = ref('myDivRef')
|
|
@@ -1134,10 +1143,16 @@ export default {
|
|
|
1134
1143
|
this.isloading = true
|
|
1135
1144
|
let data = {}
|
|
1136
1145
|
if (this.typeData === 0) {
|
|
1137
|
-
data = await axiosInstance.get(
|
|
1146
|
+
data = await axiosInstance.get(
|
|
1147
|
+
getApiUrl(this.url, this.provider, this.isDevApis) +
|
|
1148
|
+
'/' +
|
|
1149
|
+
this.gameId +
|
|
1150
|
+
'/' +
|
|
1151
|
+
this.category,
|
|
1152
|
+
)
|
|
1138
1153
|
} else {
|
|
1139
1154
|
data = await axiosInstance.get(
|
|
1140
|
-
this.urlPrematch +
|
|
1155
|
+
getApiUrl(this.urlPrematch, this.provider, this.isDevApis) +
|
|
1141
1156
|
seasonGet +
|
|
1142
1157
|
'/' +
|
|
1143
1158
|
this.category +
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
:key="updateTables"
|
|
26
26
|
:dummy-data="dummyData"
|
|
27
27
|
:show-position="showPosition"
|
|
28
|
+
:provider="provider"
|
|
29
|
+
:is-dev-apis="isDevApis"
|
|
28
30
|
/>
|
|
29
31
|
</div>
|
|
30
32
|
</template>
|
|
@@ -33,6 +35,7 @@
|
|
|
33
35
|
|
|
34
36
|
<script>
|
|
35
37
|
import axios from 'axios'
|
|
38
|
+
import { getApiUrl } from '@/utils/apiUrl.js'
|
|
36
39
|
import computedProperties from './computedProperties.js'
|
|
37
40
|
import useElementSize from './useElementSize'
|
|
38
41
|
import GSCTopCategory from '@/components/comparative/gsc-top.vue'
|
|
@@ -173,6 +176,14 @@ export default {
|
|
|
173
176
|
type: Boolean,
|
|
174
177
|
default: true,
|
|
175
178
|
},
|
|
179
|
+
provider: {
|
|
180
|
+
type: Number,
|
|
181
|
+
default: 1,
|
|
182
|
+
},
|
|
183
|
+
isDevApis: {
|
|
184
|
+
type: Boolean,
|
|
185
|
+
default: false,
|
|
186
|
+
},
|
|
176
187
|
},
|
|
177
188
|
watch: {
|
|
178
189
|
async seasonActive() {
|
|
@@ -627,6 +638,7 @@ export default {
|
|
|
627
638
|
updateTablesfull: 0,
|
|
628
639
|
optionSelected: 'Jugadores',
|
|
629
640
|
optionSelectedSubmenu: 'Todas las jugadas',
|
|
641
|
+
tournamentsUrl: 'https://17zyhpyc7c.execute-api.us-west-2.amazonaws.com/prod/tournaments',
|
|
630
642
|
teamsUrl: 'https://d2oco6mqmc.execute-api.us-west-2.amazonaws.com/prod/teamsBySeason/',
|
|
631
643
|
urlFilter:
|
|
632
644
|
'https://cqqxaonvm6.execute-api.us-east-2.amazonaws.com/prod/gs2/tops/filters?categories=',
|
|
@@ -817,7 +829,11 @@ export default {
|
|
|
817
829
|
|
|
818
830
|
const axiosInstance = axios.create({ headers: { Authorization: `${this.token}` } })
|
|
819
831
|
const { data } = await axiosInstance.post(
|
|
820
|
-
|
|
832
|
+
getApiUrl(
|
|
833
|
+
'https://eh9nhj69z7.execute-api.us-west-2.amazonaws.com/prod/players/productivity',
|
|
834
|
+
this.provider,
|
|
835
|
+
this.isDevApis,
|
|
836
|
+
),
|
|
821
837
|
this.filterScounting,
|
|
822
838
|
{ headers: { 'Content-Type': 'application/json' } },
|
|
823
839
|
)
|
|
@@ -1614,13 +1630,26 @@ export default {
|
|
|
1614
1630
|
this.optionSelectedSubmenu = idchange
|
|
1615
1631
|
},
|
|
1616
1632
|
|
|
1633
|
+
async fetchTournaments() {
|
|
1634
|
+
const axiosInstance = axios.create({
|
|
1635
|
+
headers: {
|
|
1636
|
+
Authorization: `${this.token}`,
|
|
1637
|
+
},
|
|
1638
|
+
})
|
|
1639
|
+
const { data } = await axiosInstance.get(
|
|
1640
|
+
getApiUrl(this.tournamentsUrl, this.provider, this.isDevApis),
|
|
1641
|
+
)
|
|
1642
|
+
return data
|
|
1643
|
+
},
|
|
1617
1644
|
async fetchTeams() {
|
|
1618
1645
|
const axiosInstance = axios.create({
|
|
1619
1646
|
headers: {
|
|
1620
1647
|
Authorization: `${this.token}`,
|
|
1621
1648
|
},
|
|
1622
1649
|
})
|
|
1623
|
-
const { data } = await axiosInstance.get(
|
|
1650
|
+
const { data } = await axiosInstance.get(
|
|
1651
|
+
getApiUrl(this.teamsUrl, this.provider, this.isDevApis) + this.seasonActive,
|
|
1652
|
+
)
|
|
1624
1653
|
return data
|
|
1625
1654
|
},
|
|
1626
1655
|
async fetchTeamsScouting(season) {
|
|
@@ -1629,7 +1658,9 @@ export default {
|
|
|
1629
1658
|
Authorization: `${this.token}`,
|
|
1630
1659
|
},
|
|
1631
1660
|
})
|
|
1632
|
-
const { data } = await axiosInstance.get(
|
|
1661
|
+
const { data } = await axiosInstance.get(
|
|
1662
|
+
getApiUrl(this.teamsUrl, this.provider, this.isDevApis) + season,
|
|
1663
|
+
)
|
|
1633
1664
|
return data
|
|
1634
1665
|
},
|
|
1635
1666
|
async getPredefinedfilters(category) {
|
|
@@ -1647,7 +1678,9 @@ export default {
|
|
|
1647
1678
|
Authorization: `${this.token}`,
|
|
1648
1679
|
},
|
|
1649
1680
|
})
|
|
1650
|
-
const { data } = await axiosInstance.get(
|
|
1681
|
+
const { data } = await axiosInstance.get(
|
|
1682
|
+
getApiUrl(url, this.provider, this.isDevApis) + category.id,
|
|
1683
|
+
)
|
|
1651
1684
|
Object.keys(data[0].match_lapse_combinations).forEach((key) => {
|
|
1652
1685
|
this.predefinedFiltersMatchLapse[key.toString()] = data[0].match_lapse_combinations[key]
|
|
1653
1686
|
})
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
:num-rows="numRows"
|
|
14
14
|
:dummy-data="dummyData"
|
|
15
15
|
:show-position="showPosition"
|
|
16
|
+
:provider="provider"
|
|
17
|
+
:is-dev-apis="isDevApis"
|
|
16
18
|
/>
|
|
17
19
|
</div>
|
|
18
20
|
</template>
|
|
@@ -71,6 +73,14 @@ const props = defineProps({
|
|
|
71
73
|
type: Boolean,
|
|
72
74
|
default: true,
|
|
73
75
|
},
|
|
76
|
+
provider: {
|
|
77
|
+
type: Number,
|
|
78
|
+
default: 1,
|
|
79
|
+
},
|
|
80
|
+
isDevApis: {
|
|
81
|
+
type: Boolean,
|
|
82
|
+
default: false,
|
|
83
|
+
},
|
|
74
84
|
})
|
|
75
85
|
|
|
76
86
|
// Si useDummyData es true, usa datos dummy, si es false busca datos reales
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforma una URL de API según el proveedor activo.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} originalUrl - URL original hardcodeada en el componente
|
|
5
|
+
* @param {number|null} provider - 0, 1 o null → sin cambio; >= 2 → proveedor externo
|
|
6
|
+
* @param {boolean} isDevApis - false → prod; true → dev
|
|
7
|
+
* @returns {string} - URL final a usar en la petición
|
|
8
|
+
*/
|
|
9
|
+
export function getApiUrl(originalUrl, provider, isDevApis) {
|
|
10
|
+
// Regla A: provider es 1, 0 o null → devolver URL sin cambios
|
|
11
|
+
if (provider == null || provider <= 1) {
|
|
12
|
+
return originalUrl
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Reglas B y C: provider >= 2
|
|
16
|
+
const base = isDevApis
|
|
17
|
+
? `https://dev-apis.golstats.com/${provider}/`
|
|
18
|
+
: `https://apis.golstats.com/${provider}/`
|
|
19
|
+
|
|
20
|
+
const parsed = new URL(originalUrl)
|
|
21
|
+
|
|
22
|
+
// Obtener path + query string y eliminar segmento "prod" o "qa" inicial
|
|
23
|
+
let pathWithQuery = parsed.pathname + parsed.search
|
|
24
|
+
pathWithQuery = pathWithQuery.replace(/^\/(prod|qa)\//, '/')
|
|
25
|
+
|
|
26
|
+
// Quitar barra inicial y combinar con la base
|
|
27
|
+
const relativePath = pathWithQuery.replace(/^\//, '')
|
|
28
|
+
return base + relativePath
|
|
29
|
+
}
|