mirror of
https://github.com/Pandipipas/scoreko-dev.git
synced 2026-06-06 03:32:06 +00:00
Add manual API token fallback dialog for start.gg
This commit is contained in:
@@ -111,6 +111,8 @@ const temporaryStartGGPlayers = ref<TemporaryStartGGPlayersMap>({});
|
|||||||
let temporaryCleanupTimer: ReturnType<typeof setInterval> | null = null;
|
let temporaryCleanupTimer: ReturnType<typeof setInterval> | null = null;
|
||||||
|
|
||||||
const oauthLoading = ref(false);
|
const oauthLoading = ref(false);
|
||||||
|
const isManualTokenDialogOpen = ref(false);
|
||||||
|
const manualTokenDraft = ref('');
|
||||||
const oauthSessionId = ref('');
|
const oauthSessionId = ref('');
|
||||||
let oauthPollingTimer: ReturnType<typeof setInterval> | null = null;
|
let oauthPollingTimer: ReturnType<typeof setInterval> | null = null;
|
||||||
|
|
||||||
@@ -301,6 +303,17 @@ const connectWithStartGGOAuth = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const openManualTokenDialog = () => {
|
||||||
|
manualTokenDraft.value = startGGToken.value;
|
||||||
|
isManualTokenDialogOpen.value = true;
|
||||||
|
window.open('https://developer.start.gg/docs/authentication', '_blank', 'noopener,noreferrer');
|
||||||
|
};
|
||||||
|
|
||||||
|
const saveManualToken = () => {
|
||||||
|
startGGToken.value = manualTokenDraft.value.trim();
|
||||||
|
isManualTokenDialogOpen.value = false;
|
||||||
|
};
|
||||||
|
|
||||||
const loadRecentTournaments = async () => {
|
const loadRecentTournaments = async () => {
|
||||||
const token = startGGToken.value.trim();
|
const token = startGGToken.value.trim();
|
||||||
if (!token) {
|
if (!token) {
|
||||||
@@ -572,16 +585,7 @@ onBeforeUnmount(() => {
|
|||||||
Conecta por OAuth (recomendado) o pega tu token personal para cargar tus torneos creados o donde eres admin. Si aparece "Client authentication failed", revisa que en config uses el Client ID/Secret de un OAuth App de start.gg.
|
Conecta por OAuth (recomendado) o pega tu token personal para cargar tus torneos creados o donde eres admin. Si aparece "Client authentication failed", revisa que en config uses el Client ID/Secret de un OAuth App de start.gg.
|
||||||
</div>
|
</div>
|
||||||
<div class="row q-col-gutter-sm items-center">
|
<div class="row q-col-gutter-sm items-center">
|
||||||
<div class="col-12">
|
<div class="col-auto">
|
||||||
<QInput
|
|
||||||
v-model="startGGToken"
|
|
||||||
label="start.gg API Token"
|
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
type="password"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col-12">
|
|
||||||
<QBtn
|
<QBtn
|
||||||
color="primary"
|
color="primary"
|
||||||
icon="login"
|
icon="login"
|
||||||
@@ -590,6 +594,15 @@ onBeforeUnmount(() => {
|
|||||||
@click="connectWithStartGGOAuth"
|
@click="connectWithStartGGOAuth"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<QBtn
|
||||||
|
outline
|
||||||
|
color="white"
|
||||||
|
icon="vpn_key"
|
||||||
|
label="Usar API personal"
|
||||||
|
@click="openManualTokenDialog"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="tournamentsError"
|
v-if="tournamentsError"
|
||||||
@@ -655,6 +668,45 @@ onBeforeUnmount(() => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<QDialog v-model="isManualTokenDialogOpen">
|
||||||
|
<QCard class="players-dialog">
|
||||||
|
<QCardSection>
|
||||||
|
<div class="text-h6">
|
||||||
|
API personal de start.gg
|
||||||
|
</div>
|
||||||
|
</QCardSection>
|
||||||
|
<QSeparator />
|
||||||
|
<QCardSection>
|
||||||
|
<div class="text-body2 q-mb-md">
|
||||||
|
Si OAuth falla, puedes crear tu token personal manualmente. Se abrirá la documentación oficial de start.gg en una pestaña nueva.
|
||||||
|
</div>
|
||||||
|
<QInput
|
||||||
|
v-model="manualTokenDraft"
|
||||||
|
label="Pega tu token personal"
|
||||||
|
dense
|
||||||
|
outlined
|
||||||
|
type="password"
|
||||||
|
/>
|
||||||
|
</QCardSection>
|
||||||
|
<QSeparator />
|
||||||
|
<QCardActions align="right">
|
||||||
|
<QBtn
|
||||||
|
flat
|
||||||
|
label="Cancelar"
|
||||||
|
color="secondary"
|
||||||
|
@click="isManualTokenDialogOpen = false"
|
||||||
|
/>
|
||||||
|
<QBtn
|
||||||
|
color="primary"
|
||||||
|
label="Guardar token"
|
||||||
|
:disable="!manualTokenDraft.trim()"
|
||||||
|
@click="saveManualToken"
|
||||||
|
/>
|
||||||
|
</QCardActions>
|
||||||
|
</QCard>
|
||||||
|
</QDialog>
|
||||||
|
|
||||||
<QDialog v-model="isImportDialogOpen">
|
<QDialog v-model="isImportDialogOpen">
|
||||||
<QCard class="players-dialog">
|
<QCard class="players-dialog">
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
|
|||||||
Reference in New Issue
Block a user