Skip to content

Instantly share code, notes, and snippets.

@nesbtesh
Created April 10, 2020 14:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nesbtesh/afdbb1ade4952bc92285525e07d7eb64 to your computer and use it in GitHub Desktop.
Save nesbtesh/afdbb1ade4952bc92285525e07d7eb64 to your computer and use it in GitHub Desktop.
import React from 'react';
import Header from "../components/Header"
import Footer from "../components/Footer"
import LanguageChanger from "../components/LanguageChanger/index"
import { LangContext } from "../context"
class MainTemplate extends React.Component {
constructor(props) {
super(props);
this.renderBody = this.renderBody.bind(this)
let { lang } = props.match.params;
}
_t = (expresion ) => {
return lang(expresion, this.props.match.params.lang)
}
renderPrivate = () => {
const { lang } = this.props.match.params;
return (
<div className="require-login">
<p>
{this._t("youMustEnter")} <strong>{this._t("youMustEnter2")}</strong>
</p>
<NavLink to={`/${lang}/account/login`} className="button-blue">
Login
</NavLink>
</div>
);
}
renderHeader = () => {
return (
<Header
/>
);
}
renderFooter = () => {
return (
<Footer
/>
);
}
renderLanguageChanger = () => {
return (
<LanguageChanger
lang={this.props.match.params.lang}
setLanguage={this.setLanguage}
/>
);
}
render() {
return (
<LangContext.Provider value={{lang}} status={status}>
<div>
{this.renderHeader()}
<section id="main-content" className="main__content site-main">
{ isLoggedIn ? this.renderPrivate() :this.renderBody() }
</section>
{this.renderFooter(footerConfig, configJson)}
{this.renderLanguageChanger()}
</div>
</LangContext.Provider>
);
}
}
export default MainTemplate;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment