Version 1.0.0 - Finalisation du composant Servers

This commit is contained in:
2025-07-25 22:56:25 +02:00
parent e3d7a911f4
commit 4fdd4aad61
15 changed files with 1632 additions and 58 deletions

View File

@@ -2,6 +2,7 @@
import DefaultSplash from '@/components/Layout/DefaultSplash.vue';
const defaultMessage = "On s'accorde et on prépare le concert !";
const connectMsg = "Erreur de connexion au serveur : xhr poll error"
const props = defineProps({
interuptionMessage: {
@@ -15,8 +16,12 @@ const props = defineProps({
<template>
<DefaultSplash>
<h1 v-if="!interuptionMessage" class="separate"><Icon spin-pulse icon="fa-solid fa-spinner"/> Chargement de l'interface</h1>
<h1 v-else-if="interuptionMessage == connectMsg">Echec de connexion</h1>
<h1 v-else><Icon icon="fa-solid fa-warning"/> Connexion interrompue</h1>
<p v-if="interuptionMessage" class="retry"><Icon spin-pulse icon="fa-solid fa-spinner"/> Tentative de reconnexion en cours</p>
<div class="separate-col">
<p v-if="interuptionMessage" class="retry"><Icon spin-pulse icon="fa-solid fa-spinner"/> Tentative de reconnexion en cours</p>
<p v-if="interuptionMessage" class="second">Contactez Raphix (raphixscrap) en cas de problème prolongé.</p>
</div>
<p v-if="interuptionMessage" class="error"><Icon icon="fa-solid fa-circle-xmark"/> {{ interuptionMessage }}</p>
<p v-else>{{ defaultMessage }}</p>
</DefaultSplash>
@@ -37,4 +42,22 @@ const props = defineProps({
justify-content: center;
gap: 10px;
}
.separate-col {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
}
.separate-col p {
margin: 0;
}
.second {
font-size: 0.8em;
color: var(--text-secondary);
}
</style>

View File

@@ -75,13 +75,16 @@ import { useGlobalStore } from '@/stores/globalStore';
interuptionMessage.value = null;
return;
}
setInterval(() => {
const intervalId = setInterval(() => {
console.log("Tentative de reconnexion au serveur...");
if(!socket.connected || !needReload.value) {
socket.auth.token = loginStore.token;
socket.disconnect()
// Avoid multiple connections attempts at the same time
socket.connect();
} else {
clearInterval(this);
console.log("Already connected, no need to reconnect.");
clearInterval(intervalId);
}
}, 3000); // Essai de reconnexion après 5 secondes
}