aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/js/header_footer.jsx
blob: 3cb9937a460af21a93056e011ccae724e6b1af37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import React from 'react';

class Signout extends React.Component {
  render = () => {
    return <a href="/signout"><u>Logout</u></a>;
  }
}

class Logo extends React.Component {
  render() {
    return <div id="logo" className="w-100 h-100 align-self-center">
             <h1><a href="/">CryptoPF</a></h1>
           </div>;
  }
}

class Footer extends React.Component {
  render = () => {
    var elements = this.props.elements;
    if (elements === undefined) {
      elements = [];
    }

    if (this.props.isLoggedIn === true) {
      elements = elements.concat(<Signout />);
    }

    if (elements.length > 0) {
      elements = [<hr key="hr"/>].concat(elements);
    }

    var rows = elements.map(function(element, i) {
      return <div className="row text-center"  key={'footer-el-' + i}>
               <div className="col-12">
                 {element}
               </div>
             </div>;
    });
    return <div id="footer" className="row">
             <div className="offset-4 col-4 d-sm-none">
               {rows}
             </div>
           </div>;
  }
}

class Header extends React.Component {
  render = () => {
    var elements = this.props.elements;
    if (elements === undefined) {
      elements = [];
    }

    if (this.props.isLoggedIn === true) {
      elements = elements.concat(<Signout />);
    }

    elements = elements.map(function(element, i) {
      return <div className="text-center"  key={'header-el-' + i}>
               {element}
             </div>;
    });

    return <div id="header" className="row">
              <div className="offset-3 col-6 offset-md-4 col-md-4">
                <Logo />
              </div>
              <div className="col-3 col-md-4 align-self-center h-100 d-none d-sm-flex justify-content-end">
                {elements}
              </div>
           </div>;
  }
}

export {
  Header,
  Footer,
};