'idle' is "not determined yet", not "disconnected": gate a connect button on 'disconnected',
or a returning user is turned away before the boot restore runs. 'disconnecting' is the session
tearing down; keep connect disabled until it settles, so a new connect never overlaps it.
Example
const { status } = useAccount() if (status === 'idle') returnnull returnstatus === 'disconnected' ? <ConnectButton /> : <App />
'idle'is "not determined yet", not "disconnected": gate a connect button on'disconnected', or a returning user is turned away before the boot restore runs.'disconnecting'is the session tearing down; keep connect disabled until it settles, so a new connect never overlaps it.