diff options
-rw-r--r-- | public/index.html | 2 | ||||
-rw-r--r-- | src/Feed/Feed.tsx | 1 | ||||
-rw-r--r-- | src/ProfileInfo/ProfileInfo.tsx | 60 | ||||
-rw-r--r-- | src/index.tsx | 10 |
4 files changed, 69 insertions, 4 deletions
diff --git a/public/index.html b/public/index.html index 6252f08..c3d52e2 100644 --- a/public/index.html +++ b/public/index.html @@ -3,7 +3,7 @@ <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <title>React App</title> + <title>Which</title> </head> <body> <noscript>You need to enable JavaScript to run this app.</noscript> diff --git a/src/Feed/Feed.tsx b/src/Feed/Feed.tsx index e5bc9aa..33e6d03 100644 --- a/src/Feed/Feed.tsx +++ b/src/Feed/Feed.tsx @@ -9,6 +9,7 @@ interface PropTypes { const usedStyles = makeStyles(theme => ({ feed: { + position: 'relative', maxWidth: theme.spacing(75), margin: '0 auto' } diff --git a/src/ProfileInfo/ProfileInfo.tsx b/src/ProfileInfo/ProfileInfo.tsx new file mode 100644 index 0000000..ac8ef26 --- /dev/null +++ b/src/ProfileInfo/ProfileInfo.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { Avatar } from '@material-ui/core/'; +import { makeStyles } from '@material-ui/core/styles'; +import { Poll } from '../types'; + +interface PropTypes { + profile: Poll; +} + +const useStyles = makeStyles({ + avatar: { + margin: '0 auto', + width: 150, + height: 150, + marginBottom: 10 + }, + name: { + fontSize: 20, + textAlign: 'center' + }, + profileMenu: { + display: 'flex', + width: '100%', + height: 50, + borderBottom: '1px solid lightgray', + margin: '50px 0' + }, + menuButton: { + width: 200, + height: 50, + paddingTop: 15, + textAlign: 'center' + } +}); + +const ProfileInfo: React.FC<PropTypes> = ({ profile }) => { + const classes = useStyles(); + + return ( + <div> + <Avatar className={classes.avatar} src={profile.author.avatarUrl} /> + <div className={classes.name}> + Nick Name + </div> + <div className={classes.profileMenu}> + <div style={{ borderBottom: '1px solid green', color: 'green' }} className={classes.menuButton}> + Polls + </div> + <div className={classes.menuButton}> + Followers + </div> + <div className={classes.menuButton}> + Following + </div> + </div> + </div> + ); +}; + +export default ProfileInfo; diff --git a/src/index.tsx b/src/index.tsx index 8340b79..0d9751c 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -11,6 +11,7 @@ import 'typeface-roboto'; import Header from './Header/Header'; import Feed from './Feed/Feed'; +import ProfileInfo from './ProfileInfo/ProfileInfo'; const theme = createMuiTheme({ palette: { @@ -58,11 +59,12 @@ const polls = [{ const useStyles = makeStyles({ root: { - marginTop: theme.spacing(15) + width: theme.spacing(75), + marginTop: theme.spacing(15), + margin: '0 auto' } }); - const App: React.FC = () => { const [page, setPage] = useState('feed'); const classes = useStyles(); @@ -72,8 +74,10 @@ const App: React.FC = () => { <CssBaseline /> <Header setPage={setPage} /> <div className={classes.root}> + { + page === 'profile' && <ProfileInfo profile={polls[0]} /> + } <Feed polls={polls} /> - <h1> We are on page {page}! </h1> </div> </ThemeProvider> ); |