diff --git a/frontend/packages/core/src/index.ts b/frontend/packages/core/src/index.ts index 760a84b3ef..8a046c8315 100644 --- a/frontend/packages/core/src/index.ts +++ b/frontend/packages/core/src/index.ts @@ -5,6 +5,8 @@ export { } from './components/EntityLink'; export { default as Page } from './layout/Page'; export { gradients, theme } from './layout/Page'; +export { default as Content } from './layout/Content/Content'; +export { default as ContentHeader } from './layout/ContentHeader/ContentHeader'; export { default as Header } from './layout/Header/Header'; export { default as HeaderLabel } from './layout/HeaderLabel'; export { default as InfoCard } from './layout/InfoCard'; diff --git a/frontend/packages/core/src/layout/Content/Content.tsx b/frontend/packages/core/src/layout/Content/Content.tsx new file mode 100644 index 0000000000..b04df9b181 --- /dev/null +++ b/frontend/packages/core/src/layout/Content/Content.tsx @@ -0,0 +1,51 @@ +import React, { FC } from 'react'; +import classNames from 'classnames'; +import { makeStyles } from '@material-ui/core/styles'; +import { Theme } from '@material-ui/core'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + gridArea: 'pageContent', + minWidth: 0, + paddingTop: theme.spacing(3), + paddingBottom: theme.spacing(3), + ...theme.mixins.gutters({}), + }, + centered: { + maxWidth: 1600, + justifySelf: 'center', + }, + centerWrapper: { + display: 'flex', + justifyContent: 'center', + }, + centerContent: { + width: '100%', + maxWidth: 1600, + }, +})); + +type Props = { + centered?: boolean; + className?: string; +}; + +const Content: FC = ({ centered = false, className = '', children, ...props }) => { + const classes = useStyles(); + + if (centered) { + return ( +
+
{children}
+
+ ); + } + + return ( +
+ {children} +
+ ); +}; + +export default Content; diff --git a/frontend/packages/core/src/layout/ContentHeader/ContentHeader.js b/frontend/packages/core/src/layout/ContentHeader/ContentHeader.js index ed3e69d37a..6a13f6a75a 100644 --- a/frontend/packages/core/src/layout/ContentHeader/ContentHeader.js +++ b/frontend/packages/core/src/layout/ContentHeader/ContentHeader.js @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import { Typography, withStyles } from '@material-ui/core'; import Helmet from 'react-helmet'; -import FavoriteButton from 'shared/components/layout/FavoriteButton'; +// import FavoriteButton from 'shared/components/layout/FavoriteButton'; const styles = theme => ({ container: { @@ -39,20 +39,37 @@ class ContentHeader extends Component { static defaultProps = { favoriteable: true, title: 'Unknown page', + titleComponent: undefined, }; render() { - const { title, description, favoriteable, children, classes } = this.props; + const { + title, + description, + /* favoriteable,*/ children, + classes, + } = this.props; + const TitleComponent = this.props.titleComponent; + const renderedTitle = + TitleComponent !== undefined ? ( + + ) : ( + + {title} + + ); return (
- - {title} - - {favoriteable && } + {renderedTitle} + {/* favoriteable && */} {description && ( {description} diff --git a/frontend/packages/plugins/home-page/src/components/HomePage/HomePage.tsx b/frontend/packages/plugins/home-page/src/components/HomePage/HomePage.tsx index ffe75b2699..a14340fda6 100644 --- a/frontend/packages/plugins/home-page/src/components/HomePage/HomePage.tsx +++ b/frontend/packages/plugins/home-page/src/components/HomePage/HomePage.tsx @@ -2,6 +2,7 @@ import React, { FC } from 'react'; import { Typography, makeStyles, Theme, Grid } from '@material-ui/core'; import HomePageTimer from '../HomepageTimer'; import { + Content, EntityLink, InfoCard, SortableTable, @@ -48,9 +49,6 @@ const useStyles = makeStyles(theme => ({ overflowX: 'hidden', overflowY: 'auto', }, - pageBody: { - padding: theme.spacing(3), - }, avatarButton: { padding: theme.spacing(2), }, @@ -91,7 +89,7 @@ const HomePage: FC<{}> = () => { > -
+ @@ -105,7 +103,7 @@ const HomePage: FC<{}> = () => { -
+
);