diff options
author | Eugene Sokolov <eug-vs@keemail.me> | 2020-10-10 14:11:42 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-10 14:11:42 +0300 |
commit | 2f96d3e26f433a57af26ecf2ec34b9fec4183d71 (patch) | |
tree | a8c2b1daf5170923f9e7ccb46f098e30d51e8a08 /src/lib | |
parent | c33c6a521325adafb250124d2814423b3a4187b5 (diff) | |
parent | 36c0a6b3e7ac72e4e787d5def6b0cc03eae7db6c (diff) | |
download | react-benzin-2f96d3e26f433a57af26ecf2ec34b9fec4183d71.tar.gz |
Merge pull request #15 from eug-vs/refactor/orientation
Revise BENZIN orientation
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Button/Button.tsx | 18 | ||||
-rw-r--r-- | src/lib/ContentSection/ContentSection.tsx | 4 | ||||
-rw-r--r-- | src/lib/Header/Header.tsx | 81 | ||||
-rw-r--r-- | src/lib/SmartList/SmartList.tsx | 43 | ||||
-rw-r--r-- | src/lib/Window/Window.tsx | 62 | ||||
-rw-r--r-- | src/lib/Window/WindowSurface.tsx | 44 | ||||
-rw-r--r-- | src/lib/Window/types.ts | 11 | ||||
-rw-r--r-- | src/lib/index.ts | 4 |
8 files changed, 0 insertions, 267 deletions
diff --git a/src/lib/Button/Button.tsx b/src/lib/Button/Button.tsx deleted file mode 100644 index 6bc0f98..0000000 --- a/src/lib/Button/Button.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { Button as MaterialButton } from '@material-ui/core'; - - -interface PropTypes { - color: 'primary' | 'secondary'; -} - -const Button: React.FC<PropTypes> = ({ color, children }) => ( - <MaterialButton - variant="contained" - color={color} - children={children} - /> -); - - -export default Button; diff --git a/src/lib/ContentSection/ContentSection.tsx b/src/lib/ContentSection/ContentSection.tsx index 28b1ad5..3432bd5 100644 --- a/src/lib/ContentSection/ContentSection.tsx +++ b/src/lib/ContentSection/ContentSection.tsx @@ -16,10 +16,6 @@ const useStyles = makeStyles(theme => ({ content: { padding: theme.spacing(2, 2, 1, 3), marginBottom: theme.spacing(1), - - '& .MuiButton-root': { - margin: theme.spacing(1, 2, 2, 0), - }, }, })); diff --git a/src/lib/Header/Header.tsx b/src/lib/Header/Header.tsx deleted file mode 100644 index 58be989..0000000 --- a/src/lib/Header/Header.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React from 'react'; - -import { - AppBar, - Tabs, - Tab, - Typography, - Toolbar, -} from '@material-ui/core'; - -import { makeStyles } from '@material-ui/core/styles'; - - -interface PropTypes { - logo: { - icon: React.ReactNode; - title: string; - }; - contents: { - [key: string]: React.ReactNode | null; - }; - page: string; - setPage: (newPage: string) => void; -} - -const useStyles = makeStyles(theme => ({ - root: { - background: theme.palette.background.elevation2, - color: theme.palette.text.primary, - paddingLeft: theme.spacing(3), - }, - logo: { - margin: theme.spacing(0, 3, 0, 1), - }, - tab: { - '& .MuiTab-wrapper': { - padding: theme.spacing(2), - flexDirection: 'row', - fontSize: '0.8125rem', - '& svg': { - marginRight: theme.spacing(1), - marginBottom: '0 !important', - }, - }, - }, -})); - - -const Header: React.FC<PropTypes> = ({ - logo, contents, page, setPage, -}) => { - const classes = useStyles(); - - const handleChange = (event: React.ChangeEvent<{}>, newPage: string): void => { - setPage(newPage); - }; - - return ( - <AppBar position="sticky" className={classes.root}> - <Toolbar> - {logo.icon} - <Typography variant="h5" className={classes.logo} color="primary"> - {logo.title} - </Typography> - <Tabs onChange={handleChange} value={page}> - {contents && Object.keys(contents).map((item: string) => ( - <Tab - label={item} - icon={contents[item] as JSX.Element} - value={item} - className={classes.tab} - key={item} - /> - ))} - </Tabs> - </Toolbar> - </AppBar> - ); -}; - -export default Header; diff --git a/src/lib/SmartList/SmartList.tsx b/src/lib/SmartList/SmartList.tsx deleted file mode 100644 index c86c127..0000000 --- a/src/lib/SmartList/SmartList.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import React from 'react'; -import { FixedSizeList } from 'react-window'; -import AutoSizer from 'react-virtualized-auto-sizer'; - - -interface RenderPropTypes { - index: number; - style: React.CSSProperties; -} - -interface PropTypes { - itemSize: number; - itemCount: number; - renderItem: React.FC<RenderPropTypes>; -} - -interface Size { - height: number; - width: number; -} - - -const SmartList: React.FC<PropTypes> = ({ itemSize, itemCount, renderItem }) => { - const ResizedList: React.FC<Size> = ({ width, height }) => ( - <FixedSizeList - height={height} - width={width} - itemSize={itemSize} - itemCount={itemCount} - > - {renderItem} - </FixedSizeList> - ); - - return ( - <div style={{ flex: '1 1 auto', overflow: 'hidden' }}> - <AutoSizer children={ResizedList} /> - </div> - ); -}; - - -export default SmartList; diff --git a/src/lib/Window/Window.tsx b/src/lib/Window/Window.tsx deleted file mode 100644 index beaa672..0000000 --- a/src/lib/Window/Window.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from 'react'; - -import { Typography, Divider, makeStyles } from '@material-ui/core'; - -import WindowSurface from './WindowSurface'; -import { SurfaceSize, SurfacePosition } from './types'; - - -interface PropTypes { - type: 'primary' | 'secondary' | 'mono'; - name?: string; -} - - -const useStyles = makeStyles(theme => ({ - header: { - padding: theme.spacing(1, 0, 1, 2), - background: theme.palette.background.elevation2, - }, -})); - - -const Window: React.FC<PropTypes> = ({ type, name, children }) => { - const classes = useStyles(); - - const size: SurfaceSize = { - height: '85vh', - }; - - const position: SurfacePosition = { - bottom: '3vh', - }; - - if (type === 'primary') { - size.width = '63vw'; - position.left = '2vw'; - } else if (type === 'secondary') { - size.width = '31vw'; - position.right = '2vw'; - } else if (type === 'mono') { - position.left = '2vw'; - position.right = '2vw'; - } - - return ( - <WindowSurface - size={size} - position={position} - > - {name - && ( - <div> - <Typography variant="h5" className={classes.header}>{name}</Typography> - <Divider /> - </div> - )} - {children} - </WindowSurface> - ); -}; - -export default Window; diff --git a/src/lib/Window/WindowSurface.tsx b/src/lib/Window/WindowSurface.tsx deleted file mode 100644 index 1900901..0000000 --- a/src/lib/Window/WindowSurface.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; - -import { Paper, makeStyles } from '@material-ui/core'; - -import { SurfaceSize, SurfacePosition } from './types'; - - -interface PropTypes { - size: SurfaceSize; - position: SurfacePosition; -} - - -const useStyles = makeStyles(theme => ({ - surface: { - position: 'absolute', - display: 'flex', - flexDirection: 'column', - overflowY: 'auto', - scrollbarColor: `${theme.palette.secondary.dark} ${theme.palette.secondary.light}`, - - '& a.MuiTypography-root': { - color: theme.palette.primary.light, - }, - }, -})); - - -const WindowSurface: React.FC<PropTypes> = ({ size, position, children }) => { - const classes = useStyles(); - - return ( - <Paper - variant="outlined" - style={{ ...size, ...position }} - className={classes.surface} - > - {children} - </Paper> - ); -}; - - -export default WindowSurface; diff --git a/src/lib/Window/types.ts b/src/lib/Window/types.ts deleted file mode 100644 index 9e18fe3..0000000 --- a/src/lib/Window/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface SurfaceSize { - height: string; - width?: string; -} - -export interface SurfacePosition { - bottom: string; - left?: string; - right?: string; -} - diff --git a/src/lib/index.ts b/src/lib/index.ts index 0f31104..545e6f8 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,7 +1,3 @@ -export { default as Window } from './Window/Window'; -export { default as Header } from './Header/Header'; export { default as ContentSection } from './ContentSection/ContentSection'; -export { default as SmartList } from './SmartList/SmartList'; export { default as Benzin } from './Benzin/Benzin'; -export { default as Button } from './Button/Button'; export { default as Markdown } from './Markdown/Markdown'; |