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>
);
}