goog.provide 'app.react.Layout'

class app.react.Layout

  ###*
    PATTERN(steida): Here we can choose mobile/tablet/desktop layout.
    @param {app.Routes} routes
    @param {app.react.Header} header
    @param {app.react.Footer} footer
    @constructor
  ###
  constructor: (routes, header, footer) ->

    {div} = React.DOM

    @create = React.createClass

      render: ->
        div className: 'layout',
          header.create()
          @props.page.create()
          footer.create()
goog.provide 'app.react.Layout'

class app.react.Layout

  ###*
    PATTERN(steida): Layout is responsible for mobile/tablet/desktop look.
    @param {app.Routes} routes
    @param {app.react.Header} header
    @param {app.react.Footer} footer
    @param {app.react.pages.Song} song
    @constructor
  ###
  constructor: (routes, header, footer, song) ->

    {div} = React.DOM

    @create = React.createClass

      render: ->
        page = @props.page
        songPageIsShown = page == song

        div className: 'layout',
          header.create() unless songPageIsShown
          page.create()
          footer.create() unless songPageIsShown
Hide header and footer when song page is shown.
Hide header and footer when song page is shown.

App needs maximum space to shown lyrics as big as possible.
