diff options
author | eug-vs <eug-vs@keemail.me> | 2020-06-07 19:11:22 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-06-07 19:11:22 +0300 |
commit | dcb9b3aeb6dec55b133afa5748233494e8374fcd (patch) | |
tree | 594040b22ffd54bb14017e81746b54ce3a9bb1fb | |
parent | f20db9b746b5e09878fd032f54e7c5cde2767b80 (diff) | |
download | which-ui-dcb9b3aeb6dec55b133afa5748233494e8374fcd.tar.gz |
feat: add searchbar and improve header
-rw-r--r-- | package-lock.json | 8 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/Header/Header.tsx | 52 | ||||
-rw-r--r-- | src/Header/SearchBar.tsx | 32 | ||||
-rw-r--r-- | src/index.tsx | 2 |
5 files changed, 69 insertions, 26 deletions
diff --git a/package-lock.json b/package-lock.json index 52e71f8..670ba1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1366,6 +1366,14 @@ "react-transition-group": "^4.4.0" } }, + "@material-ui/icons": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.9.1.tgz", + "integrity": "sha512-GBitL3oBWO0hzBhvA9KxqcowRUsA0qzwKkURyC8nppnC3fw54KPKZ+d4V1Eeg/UnDRSzDaI9nGCdel/eh9AQMg==", + "requires": { + "@babel/runtime": "^7.4.4" + } + }, "@material-ui/styles": { "version": "4.10.0", "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.10.0.tgz", diff --git a/package.json b/package.json index c4dbec6..0ace916 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "@material-ui/core": "^4.10.1", + "@material-ui/icons": "^4.9.1", "@types/node": "^12.12.44", "@types/react": "^16.9.35", "@types/react-dom": "^16.9.8", diff --git a/src/Header/Header.tsx b/src/Header/Header.tsx index 8e8a301..5ce79be 100644 --- a/src/Header/Header.tsx +++ b/src/Header/Header.tsx @@ -2,45 +2,47 @@ import React from 'react'; import { AppBar, Toolbar, - Tabs, - Tab + IconButton, + Typography } from '@material-ui/core'; import { makeStyles } from '@material-ui/core/styles'; +import AccountCircle from '@material-ui/icons/AccountCircle'; +import NotificationsIcon from '@material-ui/icons/Notifications'; -interface PropTypes { - page: string; - setPage: (newPage: string) => void; -} +import SearchBar from './SearchBar'; const useStyles = makeStyles(theme => ({ - tab: { - '& .MuiTab-wrapper': { - padding: theme.spacing(2), - flexDirection: 'row', - fontSize: '0.8125rem' - } + root: { + display: 'flex', + justifyContent: 'space-around', + width: '60%', + margin: 'auto' + }, + logo: { + fontWeight: 'bold', } })); -const tabs = ['Profile', 'Feed']; - -const Header: React.FC<PropTypes> = ({ page /* , setPage */ }) => { +const Header: React.FC = () => { const classes = useStyles(); const handleChange = () => {}; return ( <AppBar position="static"> - <Toolbar> - <Tabs onChange={handleChange} value={page}> - {tabs.map((tab: string) => ( - <Tab - label={tab} - key={tab} - className={classes.tab} - /> - ))} - </Tabs> + <Toolbar className={classes.root}> + <Typography variant="h5" className={classes.logo}> + Which + </Typography> + <SearchBar /> + <div> + <IconButton> + <NotificationsIcon /> + </IconButton> + <IconButton> + <AccountCircle /> + </IconButton> + </div> </Toolbar> </AppBar> ); diff --git a/src/Header/SearchBar.tsx b/src/Header/SearchBar.tsx new file mode 100644 index 0000000..ed59874 --- /dev/null +++ b/src/Header/SearchBar.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import SearchIcon from '@material-ui/icons/Search'; +import { InputBase } from '@material-ui/core'; +import { makeStyles } from '@material-ui/core/styles'; + +const useStyles = makeStyles(theme => ({ + root: { + background: 'rgba(255, 255, 255, 0.5)', + borderRadius: '2px', + padding: theme.spacing(0.5), + display: 'flex', + alignItems: 'center', + // marginRight: theme.spacing(8), + } +})); + +const SearchBar: React.FC = () => { + const classes = useStyles(); + + return ( + <div className={classes.root}> + <SearchIcon /> + <InputBase + placeholder="Search..." + /> + </div> + ); +}; + + +export default SearchBar; + diff --git a/src/index.tsx b/src/index.tsx index e397ca2..b0a8fdc 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -43,7 +43,7 @@ const App: React.FC = () => { return ( <ThemeProvider theme={theme}> <CssBaseline /> - <Header page={page} setPage={setPage} /> + <Header /> <PollCard author={pollProps.author} contents={pollProps.contents} /> </ThemeProvider> ); |