app/views/main.scala.html (49 lines of code) (raw):

@import model.EstateProvider @(title: String, estateProvider:EstateProvider, stage: Option[String] = None, refreshSecs: Option[Int] = None, scripts: List[String] = Nil)(content: Html)(implicit request: play.api.mvc.Security.AuthenticatedRequest[_, com.gu.googleauth.UserIdentity]) <!DOCTYPE html> <html> <head> <title>@title</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="refresh" content="300"> <link rel="stylesheet" href='@routes.Assets.at("lib/bootstrap/css/bootstrap.min.css")'> <link rel="stylesheet" media="screen" href="@routes.Assets.at("css/main.css")"> <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")"> <script src='@routes.Assets.at("lib/jquery/jquery.min.js")' type="text/javascript"></script> <script src='@routes.Assets.at("lib/react/react-with-addons.min.js")'></script> @refreshSecs.map { s => <meta http-equiv="refresh" content="@s"> } </head> <body> <nav class="navbar navbar-default navbar-static-top tight-bottom"> <ul class="nav navbar-nav"> @for(s <- estateProvider().stageNames) { <li class="@if(stage.exists(_ == s)) {active}"><a href="/@s">@s</a></li> } </ul> <ul class="nav navbar-nav navbar-right hidden-xs"> <li class="dropdown"> <a data-toggle="dropdown" href="#" class="dropdown-toggle"> <i class="glyphicon glyphicon-user"></i> @request.user.fullName <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li><a href="@routes.Login.logout">Sign Out</a></li> </ul> </li> </ul> @for(updatedTime <- estateProvider().lastUpdated) { <p class="navbar-text navbar-right hidden-xs"> <small>Last Updated: @lib.UptimeDisplay.print(updatedTime) ago</small> </p> } </nav> @content <script src='@routes.Assets.at("lib/bootstrap/js/bootstrap.min.js")'></script> @for(script <- scripts) { <script src="@script"></script> } </body> </html>