diff --git a/src/components/LoginOptions.tsx b/src/components/LoginOptions.tsx index 31461b05..6d98a694 100644 --- a/src/components/LoginOptions.tsx +++ b/src/components/LoginOptions.tsx @@ -22,15 +22,24 @@ const LoginOptions: React.FC = () => { accountManager.setActive(account) } catch (err) { console.error('Extension login failed:', err) - setError( - <> - Please install a nostr browser extension like{' '} - - nos2x - - {' '}and try again. - - ) + const errorMessage = err instanceof Error ? err.message : String(err) + + // Check if extension is not installed + if (errorMessage.includes('window.nostr') || errorMessage.includes('not found') || errorMessage.includes('undefined')) { + setError( + <> + No browser extension found. Please install{' '} + + nos2x + + {' '}or another nostr extension. + + ) + } else if (errorMessage.includes('denied') || errorMessage.includes('rejected') || errorMessage.includes('cancel')) { + setError('Authentication was cancelled or denied.') + } else { + setError(`Authentication failed: ${errorMessage}`) + } } finally { setIsLoading(false) }