keeps: hoist initAuth0 + token refresh before connectWallet
The prior guard sat after connectWallet, which was too late:
connectWallet -> syncWalletToProfile early-returns when acToken is null,
so on first modal open the wallet never got written to the user's profile
in MongoDB. keep-prepare then rejected with "No wallet linked" (new mint)
or skipped wallet-based ownership shortcuts. On second open acToken was
already populated from the first attempt's getTokenSilently, so the sync
ran and validate passed — which matches the reported "close & reopen fixes
it" symptom.
Hoisting the guard to the top of startMintFlow ensures syncWalletToProfile
has a token on the first open too.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>