frontend/pages/auth/login.tsx (view raw)
1import CardMedia from '@material-ui/core/CardMedia';
2import Divider from '@material-ui/core/Divider';
3import Card from '@material-ui/core/Card';
4import {useTranslation} from 'react-i18next';
5import Layout from '../../layouts/Centered';
6import Logo from '../../components/Logo';
7import SignInForm from '../../containers/SignInForm';
8import LoginGoogle from '../../containers/LoginGoogle';
9import LanguagesIcon from '../../containers/Languages/Icon';
10import {getSession} from 'next-auth/react';
11import pageUtils from '../../lib/pageUtils';
12
13const Login = () => {
14 const {t} = useTranslation();
15
16 return (
17 <Layout menuTitle={t('signin.title')} displayMenu={false}>
18 <Card>
19 <CardMedia component={Logo} />
20 <SignInForm />
21 <Divider />
22 <LoginGoogle />
23 </Card>
24 <LanguagesIcon />
25 </Layout>
26 );
27};
28
29export const getServerSideProps = async (context: any) => {
30 const session = await getSession(context);
31
32 if (session)
33 return {
34 redirect: {
35 destination: '/',
36 permanent: false,
37 },
38 };
39 else return pageUtils.getServerSideProps()(context);
40};
41
42export default Login;