Crunched and clean all the components even more.

This commit is contained in:
2018-10-28 21:48:33 +11:00
parent 21aed1b61f
commit f598a0295c
10 changed files with 59 additions and 87 deletions

View File

@ -24,50 +24,34 @@
import React from 'react';
import { connect } from 'react-redux';
import { Helmet } from "react-helmet";
import { withLanguage } from '@public/language/Language';
import Styles from './Page.scss';
//Publics
import Language from '@public/language/Language';
//Components
import PageBoundary from './boundary/PageBoundary';
class Page extends React.Component {
constructor(props) {
super(props);
export default withLanguage(props => {
let { title, style, className, lang, children } = props;
let clazzes = `c-page ${className||""}`;
let titleHelmet;
if((!title || !title.length) && style != "home-page") {
console.exception(`This page (${style||className}) does not have a title!`);
} else {
titleHelmet = <title>{ title }</title>
}
render() {
let { title, style, className } = this.props;
let clazzes = `c-page ${className||""}`;
let titleHelmet;
if((!title || !title.length) && style != "home-page") {
console.exception(`This page (${style||className}) does not have a title!`);
} else {
titleHelmet = <title>{ this.props.title }</title>
}
return (
<div className={clazzes}>
<Helmet defaultTitle={ Language.get("site.title") } titleTemplate={ Language.get("site.titleTemplate") }>
{ titleHelmet }
</Helmet>
{ this.props.children }
</div>
);
}
}
const mapStateToProps = function(state) {
return {
code: state.language.code
}
}
export default connect(mapStateToProps)(Page);
return (
<div className={clazzes}>
<Helmet defaultTitle={ lang.site.title } titleTemplate={ lang.site.titleTemplate }>
{ titleHelmet }
</Helmet>
{ children }
</div>
);
});
export {
PageBoundary

View File

@ -29,13 +29,12 @@ export default (props) => {
let newProps = { ...props };
let { full, small, className } = props;
delete newProps.full;
delete newProps.small;
["full","small"].forEach(e => delete newProps[e]);
let clazzes = "c-page-boundary";
if(props.full) clazzes += " is-full";
if(props.small) clazzes += " is-small";
if(props.className) clazzes += " " + props.className;
if(full) clazzes += " is-full";
if(small) clazzes += " is-small";
if(className) clazzes += ` ${className}`
return (
<div {...newProps} className={ clazzes }>

View File

@ -22,12 +22,13 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import React from 'react';
import { withLanguage} from '@public/language/Language';
export default props => {
let { className } = props;
export default withLanguage(props => {
let { className, lang } = props;
return (
<Page className="c-error-page">
An error occured! Try again later.
<Page className={`c-error-page ${className||""}`} title={lang.pages.error.title}>
<p>{ lang.pages.error.body }</p>
</Page>
);
};
});

View File

@ -22,6 +22,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import React from 'react';
import { withLanguage } from '@public/language/Language';
import Styles from './LoadingPage.scss';
@ -29,12 +30,12 @@ import Page from '@components/Page/Page';
import Loader from '@objects/loading/Loader';
export default props => {
let { className } = props;
export default withLanguage(props => {
let { className, lang } = props;
return (
<Page className={`o-loading-page ${className||''}`} title="Loading...">
<Page className={`o-loading-page ${className||''}`} title={lang.pages.loading.title}>
<Loader />
</Page>
);
};
});