Add auth and connection useEffects
This commit is contained in:
parent
2fa9775941
commit
05a250d334
@ -333,6 +333,102 @@ export default function FoldersPage() {
|
|||||||
{ id: "gray", name: "Gris", class: "text-gray-600 bg-gray-100" },
|
{ id: "gray", name: "Gris", class: "text-gray-600 bg-gray-100" },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
// 4NK Integration useEffects
|
||||||
|
useEffect(() => {
|
||||||
|
const userStore = UserStore.getInstance();
|
||||||
|
const connected = userStore.isConnected();
|
||||||
|
const pairingId = userStore.getUserPairingId();
|
||||||
|
|
||||||
|
console.log('Initialisation 4NK:', { connected, pairingId });
|
||||||
|
|
||||||
|
setIsConnected(connected);
|
||||||
|
setUserPairingId(pairingId);
|
||||||
|
setPairingIdInitialized(true);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isConnected) {
|
||||||
|
const messageBus = MessageBus.getInstance(iframeUrl);
|
||||||
|
messageBus.isReady().then(() => {
|
||||||
|
messageBus.getProcesses().then((processes: any) => {
|
||||||
|
setProcesses(processes);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [isConnected]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isConnected && processes !== null) {
|
||||||
|
const messageBus = MessageBus.getInstance(iframeUrl);
|
||||||
|
messageBus.isReady().then(() => {
|
||||||
|
messageBus.getMyProcesses().then((res: string[]) => {
|
||||||
|
setMyProcesses(res);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [isConnected, processes]);
|
||||||
|
|
||||||
|
// useEffect pour écouter les changements dans sessionStorage et récupérer le userPairingId
|
||||||
|
useEffect(() => {
|
||||||
|
const handleStorageChange = (e: StorageEvent) => {
|
||||||
|
console.log('Storage change détecté:', e.key, e.newValue ? 'ajouté' : 'supprimé');
|
||||||
|
|
||||||
|
// Si un token d'accès vient d'être ajouté
|
||||||
|
if (e.key === 'accessToken' && e.newValue) {
|
||||||
|
console.log('Token d\'accès détecté, récupération du userPairingId...');
|
||||||
|
|
||||||
|
// Attendre un peu que les deux tokens soient bien en place
|
||||||
|
setTimeout(() => {
|
||||||
|
const userStore = UserStore.getInstance();
|
||||||
|
if (userStore.isConnected() && !userStore.getUserPairingId()) {
|
||||||
|
console.log('Tokens confirmés, récupération userPairingId...');
|
||||||
|
const messageBus = MessageBus.getInstance(iframeUrl);
|
||||||
|
messageBus.isReady().then(() => {
|
||||||
|
messageBus.getUserPairingId().then((retrievedPairingId: string) => {
|
||||||
|
console.log('UserPairingId récupéré via storage event:', retrievedPairingId);
|
||||||
|
userStore.pair(retrievedPairingId);
|
||||||
|
setUserPairingId(retrievedPairingId);
|
||||||
|
setIsConnected(true);
|
||||||
|
showNotification("success", `UserPairingId récupéré: ${retrievedPairingId.substring(0, 8)}...`);
|
||||||
|
}).catch((error) => {
|
||||||
|
console.error('Erreur récupération userPairingId via storage:', error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Écouter les changements de sessionStorage
|
||||||
|
window.addEventListener('storage', handleStorageChange);
|
||||||
|
|
||||||
|
// Vérification initiale au chargement
|
||||||
|
const userStore = UserStore.getInstance();
|
||||||
|
if (userStore.isConnected()) {
|
||||||
|
const existingPairingId = userStore.getUserPairingId();
|
||||||
|
if (existingPairingId) {
|
||||||
|
console.log('UserPairingId existant trouvé:', existingPairingId);
|
||||||
|
setUserPairingId(existingPairingId);
|
||||||
|
setIsConnected(true);
|
||||||
|
} else {
|
||||||
|
console.log('Tokens existants mais pas de userPairingId, récupération...');
|
||||||
|
const messageBus = MessageBus.getInstance(iframeUrl);
|
||||||
|
messageBus.isReady().then(() => {
|
||||||
|
messageBus.getUserPairingId().then((retrievedPairingId: string) => {
|
||||||
|
console.log('UserPairingId récupéré au chargement:', retrievedPairingId);
|
||||||
|
userStore.pair(retrievedPairingId);
|
||||||
|
setUserPairingId(retrievedPairingId);
|
||||||
|
setIsConnected(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
window.removeEventListener('storage', handleStorageChange);
|
||||||
|
};
|
||||||
|
}, []); // Une seule fois au montage
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Simuler le chargement des dossiers
|
// Simuler le chargement des dossiers
|
||||||
const loadFolders = () => {
|
const loadFolders = () => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user