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;
|
||||
|
||||
const oauthLoading = ref(false);
|
||||
const isManualTokenDialogOpen = ref(false);
|
||||
const manualTokenDraft = ref('');
|
||||
const oauthSessionId = ref('');
|
||||
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 token = startGGToken.value.trim();
|
||||
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.
|
||||
</div>
|
||||
<div class="row q-col-gutter-sm items-center">
|
||||
<div class="col-12">
|
||||
<QInput
|
||||
v-model="startGGToken"
|
||||
label="start.gg API Token"
|
||||
dense
|
||||
outlined
|
||||
type="password"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="col-auto">
|
||||
<QBtn
|
||||
color="primary"
|
||||
icon="login"
|
||||
@@ -590,6 +594,15 @@ onBeforeUnmount(() => {
|
||||
@click="connectWithStartGGOAuth"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<QBtn
|
||||
outline
|
||||
color="white"
|
||||
icon="vpn_key"
|
||||
label="Usar API personal"
|
||||
@click="openManualTokenDialog"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="tournamentsError"
|
||||
@@ -655,6 +668,45 @@ onBeforeUnmount(() => {
|
||||
</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">
|
||||
<QCard class="players-dialog">
|
||||
<QCardSection>
|
||||
|
||||
Reference in New Issue
Block a user