export function Login()

in packages/app/src/login.tsx [39:81]


export function Login() {
  const [initialLoad, setInitialLoad] = React.useState<boolean>(true);
  const [loginLink, setLoginLink] = React.useState<any>(null);
  const navigate = useNavigate();
  const account = useAccount();

  React.useEffect(() => {
    if (account.login) {
      navigate('/', { replace: true });
    } else if (initialLoad) {
      setInitialLoad(false);
      async function getLoginLink() {
        const resp = await fetch('/_/login-link');
        const json = await resp.json();
        setLoginLink(json.link);
      }
      getLoginLink();
    }
  }, [account, navigate, initialLoad]);

  return (
    <main>
      <CssBaseline />
      <Nav />
      <div style={{paddingTop: '10px'}} />
      <Container maxWidth="md">
        <Box sx={{ flexGrow: 1 }}>
          <Grid container spacing={2}>
            <Grid item xs={12}>
              <Item>
                <div style={{textAlign: 'left'}}>
                  <ButtonGroup variant="contained" aria-label="outlined primary button group">
                    <Button href={loginLink}>Login to Wombat Dressing Room</Button>
                  </ButtonGroup>
                </div>
              </Item>
            </Grid>
          </Grid>
        </Box>
      </Container>
    </main>
  );
}