Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. import { Props } from 'react'
  2.  
  3. interface ILayoutProps extends Props<{}> {
  4. footer?: boolean
  5. needScroll?: boolean
  6. header?: boolean
  7. }
  8.  
  9. import * as React from 'react'
  10.  
  11. import ModalRouter from '~/routers/ModalRouter'
  12. import { Wrapper, Header, Footer, ContactInfo } from '~/components/common'
  13. import { ILayoutProps } from './Layout.d'
  14.  
  15. const Fragment = React.Fragment
  16.  
  17. export default class Layout extends React.PureComponent<ILayoutProps> {
  18. static defaultProps = {
  19. footer: true,
  20. needScroll: true
  21. }
  22.  
  23. componentDidMount() {
  24. if (this.props.needScroll) {
  25. window.scrollTo(0, 0)
  26. }
  27. }
  28.  
  29. render() {
  30. const { children, footer, needScroll, header, ...props } = this.props
  31.  
  32. return (
  33. <Fragment>
  34. <Wrapper>
  35. <Header header={header}/>
  36. <main {...props}>{children}</main>
  37. </Wrapper>
  38. {footer && (
  39. <Fragment>
  40. <ContactInfo />
  41. <Footer />
  42. </Fragment>
  43. )}
  44. <ModalRouter />
  45. </Fragment>
  46. )
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement