From fc2b1a95e61dcc1bacb624f94b5b77374eb65faa Mon Sep 17 00:00:00 2001 From: eug-vs Date: Sun, 15 Nov 2020 04:42:11 +0300 Subject: refactor: LoginSection -> LoginForm --- .../BsuFantomSection/BsuFantomSection.tsx | 42 +++++++++---- src/containers/BsuFantomSection/LoginForm.tsx | 70 ++++++++++++++++++++++ 2 files changed, 100 insertions(+), 12 deletions(-) create mode 100644 src/containers/BsuFantomSection/LoginForm.tsx (limited to 'src/containers/BsuFantomSection') diff --git a/src/containers/BsuFantomSection/BsuFantomSection.tsx b/src/containers/BsuFantomSection/BsuFantomSection.tsx index 496c210..33f39b2 100644 --- a/src/containers/BsuFantomSection/BsuFantomSection.tsx +++ b/src/containers/BsuFantomSection/BsuFantomSection.tsx @@ -4,28 +4,46 @@ import { Grid, Link } from '@material-ui/core'; import EventCard from '../../components/EventCard/EventCard'; import { useEvents } from '../../hooks/APIClient'; import EventForm from './EventForm'; +import LoginForm from './LoginForm'; +import { useAuth } from '../../hooks/useAuth'; const BsuFantomSection: React.FC = () => { const { data: events, mutate } = useEvents(); + const { isAuthenticated } = useAuth(); return (

Schedule your offline EDUFPMI conference attendance

- - - - - - {events?.map((event, index) => ( - - - - ))} - - + { + isAuthenticated + ? ( + <> + + + + + + {events?.map((event, index) => ( + + + + ))} + + + + ) : ( + +

+ In order to use bsu-fantom you must log in + using your EDUFPMI credentials: +

+ +
+ ) + }
); }; diff --git a/src/containers/BsuFantomSection/LoginForm.tsx b/src/containers/BsuFantomSection/LoginForm.tsx new file mode 100644 index 0000000..208c1f7 --- /dev/null +++ b/src/containers/BsuFantomSection/LoginForm.tsx @@ -0,0 +1,70 @@ +import React, { useState } from 'react'; +import { ContentSection } from 'react-benzin'; +import { Link, TextField, Button, Grid } from '@material-ui/core'; +import { makeStyles } from '@material-ui/core/styles'; +import { useAuth } from '../../hooks/useAuth'; + + +const useStyles = makeStyles(theme => ({ + form: { + width: theme.spacing(50), + display: 'flex', + flexDirection: 'column', + '& > *': { + margin: theme.spacing(1) + } + }, +})); + + +const LoginForm: React.FC = () => { + const classes = useStyles(); + const { login } = useAuth(); + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + + const handleChangeUsername = (event: React.ChangeEvent) => { + setUsername(event.target.value); + }; + + const handleChangePassword = (event: React.ChangeEvent) => { + setPassword(event.target.value); + }; + + const handleSubmit = () => login(username, password); + + return ( + + + + + + + + + + + + ); +}; + +export default LoginForm; -- cgit v1.2.3