The callback page traded the code every time its effect ran: twice under
StrictMode, again when the translations loaded, and again on a reload of
the page. The server refuses a spent code, so a sign-in that had worked
could end on an error.
A code is now traded once. A second run leaves it to the trade under
way, and a code already traded (kept for the tab in sessionStorage) goes
on to the console when signed in, or to a fresh sign-in when not.
No new strings.