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 ++++++++++++++++++++++ src/containers/LoginSection/LoginSection.tsx | 64 -------------------- src/index.tsx | 2 - 4 files changed, 100 insertions(+), 78 deletions(-) create mode 100644 src/containers/BsuFantomSection/LoginForm.tsx delete mode 100644 src/containers/LoginSection/LoginSection.tsx 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; diff --git a/src/containers/LoginSection/LoginSection.tsx b/src/containers/LoginSection/LoginSection.tsx deleted file mode 100644 index 812afd8..0000000 --- a/src/containers/LoginSection/LoginSection.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import React, { useState } from 'react'; -import { ContentSection } from 'react-benzin'; -import { Link, TextField, Button } 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 LoginSection: React.FC = () => { - const classes = useStyles(); - const { login, isAuthenticated } = 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 isAuthenticated ? null : ( - - Log in using your EDUFPMI credentials -

- - - -

-
- ); -}; - -export default LoginSection; diff --git a/src/index.tsx b/src/index.tsx index ddde049..5155ab7 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -4,7 +4,6 @@ import { Benzin, ContentSection } from 'react-benzin'; import { Paper } from '@material-ui/core'; import { makeStyles } from '@material-ui/core/styles'; import BsuFantomSection from './containers/BsuFantomSection/BsuFantomSection'; -import LoginSection from './containers/LoginSection/LoginSection'; import { AuthProvider } from './hooks/useAuth'; const useStyles = makeStyles(theme => ({ @@ -24,7 +23,6 @@ const App: React.FC = () => { - -- cgit v1.2.3