Into a component that does Interactive Auth and a dialog that
wraps it, so we can do interactive auth not necessarily in a
dialog.
As a side effect:
* Put the buttons for each auth stage in the stage itself.
Some stages don't have submit buttons (and it's very possible
other stages may have other buttons entirely, like 'resend')
so it makes more sense for the buttons to live in the stage
components themselves. Plus it saves the slightly evil
calling-functions-on-react-children thing we were doing (and
indeed extending that to show the submit button at all).
* Give all BaseDialogs a cross in the top right to cancel. They
were all dismissable by clicking outside or pressing esc, so
this adds a more visually obvious way of dismissing them. Plus,
it means our InteractiveAuthDialog can have a way of canceling
the whole operation separate from buttons for the individual
stages.
This has the benefit of being possible from the _second_ riot instance, which may not actually have the email of the user registering. With these parameters, the RTS can get the email and user ID itself.
(see https://github.com/matrix-org/riot-team-server/pull/15)
Use the first path segment to key off config.teamTokenMap, which contains a mapping to teamTokens. The client then behaves as before, keeping the path in the address bar constant with no redirects required.
This means the riot-web will use the same teamToken used by sdk components. This includes cases where only the fragment query parameter has been provided.
Fixesmatrix-org/riot-web#3185
There was a bug here that meant that sometimes arguments were given in the wrong order; presumably leading to the status bar not appearing for calls etc.
This was necessary because the team token may not be known when registering, but domain is. Storing the icon under the "common" directory is the chosen solution to this.
Only claim there's nothing to display once we've failed to back
paginate, otherwise we'll show the empty message instead of the
MessagePanel and therefore never try to back-paginate.
BaseAvatar can be passed an onClick which is called when it's, er,
clicked, except when it was the default avatar in which case it
merrily ignored it. Make it not ignore it.