doctype html
html(ng-app='app')
  head
    meta(charset='utf-8')
    base(href='/')
    meta(name='viewport', content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no')
    meta(name='mobile-web-app-capable', content='yes')
    meta(name='apple-mobile-web-app-capable', content='yes')
    meta(name='apple-mobile-web-app-title', content='STF')
    meta(name='format-detection', content='telephone=no')
    meta(name='apple-mobile-web-app-status-bar-style', content='black-translucent')
    link(href='static/logo/exports/STF-128.png', rel='apple-touch-icon')

    title(ng-bind='pageTitle ? "STF - " + pageTitle : "STF"') STF
  body(ng-cloak).bg-1.fill-height.unselectable
    div(ng-controller='LayoutCtrl', basic-mode, admin-mode, standalone, landscape).fill-height
      .pane-top.fill-height(fa-pane)
        .pane-top-bar(fa-pane, pane-id='menu', pane-anchor='north',
          pane-size='{{!$root.basicMode && !$root.standalone ? 44 : 0 }}px',

          pane-handle='')
          div(ng-include='"menu.jade"')

        .pane-center(fa-pane, pane-id='main', pane-anchor='center').fill-height
          socket-state
          div(growl)
          div(ng-view).fill-height

    script(src='/app/api/v1/state.js')
    script(src='static/app/build/entry/commons.entry.js')
    script(src='static/app/build/entry/app.entry.js')
