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>