1+ import React , { Component } from "react" ;
12import Head from "next/head" ;
23import NavigationBar from "./navbar" ;
4+ import UnderMaintenance from "./Common/UnderMaintenance" ;
35import Footer from "./footer" ;
6+ import * as action from "utils/apiAdmin" ;
47
58import {
69 websiteTitle ,
@@ -9,80 +12,99 @@ import {
912 websiteImage ,
1013} from "utils/constants" ;
1114
12- import * as action from "utils/api" ;
1315import "bootstrap/dist/css/bootstrap.min.css" ;
1416import "../styles/style.scss" ;
1517import "../styles/fonts/style.css" ;
1618
17- const Layout = ( props ) => {
19+ class Layout extends Component {
20+
21+ constructor ( props ) {
22+ super ( props ) ;
23+ this . state = {
24+ orgData : [ ]
25+ }
26+ }
27+
28+ componentDidMount ( ) {
29+ action
30+ . getData ( "organisation-info/client" )
31+ . then (
32+ res => {
33+ this . setState ( { orgData : res && res . data && res . data . dataList && res . data . dataList [ 0 ] } )
34+ }
35+ ) ;
36+ }
37+
38+ render ( ) {
39+ const { orgData } = this . state ;
1840 return (
1941 < >
2042 < Head >
21- < title > { props . websiteTitle ? props . websiteTitle : websiteTitle } </ title >
43+ < title > { this . props . websiteTitle ? this . props . websiteTitle : websiteTitle } </ title >
2244 < meta
2345 name = "author"
24- content = { props . articleAuthor ? props . articleAuthor : "ETH" }
46+ content = { this . props . articleAuthor ? this . props . articleAuthor : "ETH" }
2547 />
2648 < meta
2749 name = "description"
2850 content = {
29- props . websiteDescription
30- ? props . websiteDescription
51+ this . props . websiteDescription
52+ ? this . props . websiteDescription
3153 : websiteDescription
3254 }
3355 />
3456 < meta
3557 name = "keywords"
3658 content = {
37- props . websiteKeywords ? props . websiteKeywords : websiteKeywords
59+ this . props . websiteKeywords ? this . props . websiteKeywords : websiteKeywords
3860 }
3961 > </ meta >
4062 < meta
4163 name = "image"
42- content = { props . websiteImage ? `${ props . websiteImage } ` : websiteImage }
64+ content = { this . props . websiteImage ? `${ this . props . websiteImage } ` : websiteImage }
4365 />
4466
4567 { /* OG:Type */ }
4668 < meta property = "og:type" content = "article" />
4769 < meta
4870 property = "og:title"
49- content = { props . websiteTitle ? props . websiteTitle : websiteTitle }
71+ content = { this . props . websiteTitle ? this . props . websiteTitle : websiteTitle }
5072 />
5173 < meta
5274 property = "og:description"
5375 content = {
54- props . websiteDescription
55- ? props . websiteDescription
76+ this . props . websiteDescription
77+ ? this . props . websiteDescription
5678 : websiteDescription
5779 }
5880 />
5981 < meta
6082 property = "og:image"
61- content = { props . websiteImage ? `${ props . websiteImage } ` : websiteImage }
83+ content = { this . props . websiteImage ? `${ this . props . websiteImage } ` : websiteImage }
6284 />
6385
6486 { /* Item Prop */ }
6587 < meta
6688 itemProp = "author"
67- content = { props . articleAuthor ? props . articleAuthor : "ETH" }
89+ content = { this . props . articleAuthor ? this . props . articleAuthor : "ETH" }
6890 />
6991 < meta
7092 itemProp = "description"
7193 content = {
72- props . websiteDescription
73- ? props . websiteDescription
94+ this . props . websiteDescription
95+ ? this . props . websiteDescription
7496 : websiteDescription
7597 }
7698 />
7799 < meta
78100 itemProp = "keywords"
79101 content = {
80- props . websiteKeywords ? props . websiteKeywords : websiteKeywords
102+ this . props . websiteKeywords ? this . props . websiteKeywords : websiteKeywords
81103 }
82104 > </ meta >
83105 < meta
84106 itemProp = "image"
85- content = { props . websiteImage ? props . websiteImage : websiteImage }
107+ content = { this . props . websiteImage ? this . props . websiteImage : websiteImage }
86108 />
87109
88110 < meta
@@ -109,14 +131,26 @@ const Layout = (props) => {
109131 </ script >
110132 { /* <script
111133 type='application/ld+json'
112- dangerouslySetInnerHTML={{ __html: JSON.stringify(props.schemaData) }}
134+ dangerouslySetInnerHTML={{ __html: JSON.stringify(this. props.schemaData) }}
113135 /> */ }
114136 </ Head >
115- { ! props . metaDataFlag && < NavigationBar { ...props } /> }
116- < div className = "wrapper" > { props . children } </ div >
117- { ! props . metaDataFlag && < Footer { ...props } /> }
118- </ >
137+ { orgData && orgData . active === false && < UnderMaintenance /> }
138+ { orgData && orgData . active === true && ! this . props . metaDataFlag && < NavigationBar { ...this . props } /> }
139+ { orgData && orgData . active === true &&
140+ < div className = "wrapper" >
141+ { this . props . children }
142+ </ div >
143+ }
144+ { orgData && orgData . active === true && ! this . props . metaDataFlag && < Footer { ...this . props } /> }
145+ { /* { orgData && orgData.active === false && <UnderMaintenance />}
146+ {!this.props.metaDataFlag && <NavigationBar {...this.props} /> }
147+ <div className="wrapper">
148+ {this.props.children}
149+ </div>
150+ {!this.props.metaDataFlag && <Footer {...this.props} /> } */ }
151+ </ >
119152 ) ;
153+ }
120154} ;
121155
122156export default Layout ;
0 commit comments