diff options
author | ilyayudovin <46264063+ilyayudovin@users.noreply.github.com> | 2020-06-14 15:58:02 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-14 15:58:02 +0300 |
commit | 99b44bc80fa3228131a05fccb13f75ff8a46b116 (patch) | |
tree | a77bcec54244156844e245494f1ce434a12fff34 /src/index.tsx | |
parent | 57a2ff3cfa7eae111bb8f46447198586c47425fb (diff) | |
parent | 0308460d896966a9fe5e510926f44bac112923bb (diff) | |
download | which-ui-99b44bc80fa3228131a05fccb13f75ff8a46b116.tar.gz |
Merge pull request #31 from ilyayudovin/signIn
add sing in form
Diffstat (limited to 'src/index.tsx')
-rw-r--r-- | src/index.tsx | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/index.tsx b/src/index.tsx index adf44a5..0855038 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import ReactDOM from 'react-dom'; import { createMuiTheme, @@ -13,6 +13,8 @@ import Header from './Header/Header'; import Feed from './Feed/Feed'; import ProfileInfo from './ProfileInfo/ProfileInfo'; +import SignInForm from './Form/SignInForm'; +import { User } from './types'; import { get } from './requests'; const theme = createMuiTheme({ @@ -33,12 +35,17 @@ const useStyles = makeStyles({ const App: React.FC = () => { const [page, setPage] = useState('feed'); - const [id, setId] = useState<string>(''); + const [user, setUser] = React.useState<User | undefined>(); const classes = useStyles(); - get('/users').then(response => { - setId(response.data[0]._id); - }); + useEffect(() => { + const userId = localStorage.getItem('userId'); + if (userId) { + get(`/users/${userId}`).then(response => { + setUser(response.data); + }); + } + }, []); return ( <ThemeProvider theme={theme}> @@ -46,9 +53,19 @@ const App: React.FC = () => { <Header setPage={setPage} /> <div className={classes.root}> { - page === 'profile' && <ProfileInfo id={id} /> + page === 'profile' + ? ( + user + ? ( + <> + <ProfileInfo id={user?._id || ''} setUser={setUser} /> + <Feed page={page} /> + </> + ) + : <SignInForm setUser={setUser} /> + ) + : <Feed page={page} /> } - <Feed page={page} /> </div> </ThemeProvider> ); |