SIGN IN SIGN UP

(core) Give the welcome page an empty state when personal sites are off

Summary:
With GRIST_PERSONAL_ORGS=false, a user who belongs to no team site is sent
to /welcome/teams, which rendered "You have access to the following Grist
sites." over two empty columns. Grist looks broken, and the one escape --
"Create new team site" in the site switcher -- was dead too, since
showNewSiteModal() returns early when there is no plan, and there is never
a plan without a current org.

The picker now splits into the site list and a "No sites available" state
that says what happened. Install admins get a button to create the first
team site (they are exempt from GRIST_ORG_CREATION_ANYONE); everyone else
is told to ask an admin. showNewSiteModal() no longer bails when there is
no current org.

Signed-out visitors, who can reach /welcome/teams directly since it has no
login middleware, get a sign-in prompt instead. That applies whatever the
personal-sites setting is: with them on, the page used to greet anonymous
visitors with "Welcome back" and offer anon@getgrist.com as a site to
enter. Anonymous visitors who do have public team sites still get the list.

Test Plan: added tests

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D5063
P
Paul Fitzpatrick committed
faa59dab1f4ec4b9908cf04874e0071c6a487ef8
Parent: ce0df09