Add auth handlers

This commit is contained in:
omaroughriss 2025-09-30 17:52:14 +02:00
parent 05a250d334
commit d5dffd3ca1

View File

@ -716,6 +716,75 @@ export default function FoldersPage() {
setTimeout(() => setNotification(null), 3000)
}
// 4NK Authentication handlers
const handleLogin = useCallback(() => {
setShowAuthModal(true);
}, []);
const handleLogout = useCallback(() => {
UserStore.getInstance().disconnect();
setIsConnected(false);
setProcesses(null);
setMyProcesses([]);
setUserPairingId(null);
// Émettre un événement pour vider les messages locaux
EventBus.getInstance().emit('CLEAR_CONSOLE');
showNotification("info", "Déconnexion réussie");
}, []);
const handleAuthConnect = useCallback(() => {
setShowAuthModal(false);
console.log('Auth Connect - Connexion établie, le useEffect se chargera de récupérer le userPairingId');
showNotification("success", "Connexion 4NK réussie");
}, []);
const handleAuthClose = useCallback(() => {
setShowAuthModal(false);
}, []);
// Debug function pour forcer la récupération du userPairingId
const handleForceGetPairingId = useCallback(() => {
console.log('Force récupération userPairingId - État actuel:', {
isConnected,
userPairingId,
userStoreConnected: UserStore.getInstance().isConnected(),
userStorePairingId: UserStore.getInstance().getUserPairingId()
});
// D'abord essayer de synchroniser depuis UserStore
const userStorePairingId = UserStore.getInstance().getUserPairingId();
if (userStorePairingId) {
console.log('Force - Synchronisation depuis UserStore:', userStorePairingId);
setUserPairingId(userStorePairingId);
showNotification("success", `UserPairingId synchronisé: ${userStorePairingId.substring(0, 8)}...`);
return;
}
// Sinon récupérer depuis MessageBus
if (isConnected) {
const messageBus = MessageBus.getInstance(iframeUrl);
messageBus.isReady().then(() => {
console.log('Force - MessageBus prêt');
messageBus.getUserPairingId().then((retrievedPairingId: string) => {
console.log('Force - UserPairingId récupéré:', retrievedPairingId);
UserStore.getInstance().pair(retrievedPairingId);
setUserPairingId(retrievedPairingId);
showNotification("success", `UserPairingId récupéré: ${retrievedPairingId.substring(0, 8)}...`);
}).catch((error) => {
console.error('Force - Erreur récupération userPairingId:', error);
showNotification("error", "Erreur lors de la récupération du userPairingId");
});
}).catch((error) => {
console.error('Force - Erreur MessageBus isReady:', error);
showNotification("error", "MessageBus non prêt");
});
} else {
showNotification("error", "Vous devez être connecté à 4NK");
}
}, [isConnected, userPairingId, iframeUrl]);
// Fonction pour envoyer une notification dans le chat du dossier
const sendFolderChatNotification = (folderId: string, message: string, actionType: string) => {
const folderUsers = users.filter((user) => user.folderRoles[folderId])