diff --git a/src/pages/home/home.ts b/src/pages/home/home.ts index 34a1250..71b4f31 100755 --- a/src/pages/home/home.ts +++ b/src/pages/home/home.ts @@ -558,13 +558,41 @@ async function handleMainPairing(): Promise { if (mainStatus) { mainStatus.innerHTML = '
Authenticating with browser...'; } - - // This will trigger the WebAuthn flow and create/decrypt credentials - await prepareAndSendPairingTx(); - - if (mainStatus) { - mainStatus.innerHTML = '✅ Authentication completed successfully'; + + // Import and trigger WebAuthn directly + const { secureCredentialsService } = await import('../../services/secure-credentials.service'); + + // Check if we have existing credentials + const hasCredentials = await secureCredentialsService.hasCredentials(); + + if (hasCredentials) { + console.log('🔓 Existing credentials found, decrypting...'); + if (mainStatus) { + mainStatus.innerHTML = '
Decrypting existing credentials...'; + } + + // This will trigger WebAuthn for decryption + await secureCredentialsService.retrieveCredentials(''); + + if (mainStatus) { + mainStatus.innerHTML = '✅ Credentials decrypted successfully'; + } + } else { + console.log('🔐 No existing credentials, creating new ones...'); + if (mainStatus) { + mainStatus.innerHTML = '
Creating new credentials...'; + } + + // This will trigger WebAuthn for creation + await secureCredentialsService.generateSecureCredentials(''); + + if (mainStatus) { + mainStatus.innerHTML = '✅ New credentials created successfully'; + } } + + // Now proceed with pairing process + await prepareAndSendPairingTx(); // Re-enable button if (mainPairingButton) {