summaryrefslogtreecommitdiff
path: root/www/app/components/main_panel/section_layout.js
blob: e7c6f2abc33b71e6e454f870cc101a109cbbb9f4 (plain)
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
//
// This is the layout for a service section in the main window.
// It does not do anything except for arrange items using css and html.
//

import React from 'react'

export default class SectionLayout extends React.Component {

  static get defaultProps() {return{
    icon: null,
    buttons: null,
    status: null,
    className: "",
    style: {}
  }}

  constructor(props) {
    super(props)
  }

  render() {
    let className = ["service-section", this.props.className].join(' ')
    let status = null
    let icon = null
    let buttons = null

    if (this.props.status) {
      status = (
        <div className="status">
          <img src={'img/' + this.props.status + '.svg' } />
        </div>
      )
    }
    if (this.props.icon) {
      icon = (
        <div className="icon">
          <img src={'img/' + this.props.icon + '.svg'} />
        </div>
      )
    }
    if (this.props.buttons)
      buttons = (
        <div className="buttons">
          {this.props.buttons}
        </div>
      )
    return(
      <div className={className} style={this.props.style}>
        {icon}
        <div className="body">
          {this.props.children}
        </div>
        {buttons}
        {status}
      </div>
    )
  }
}