<html>
<head>
  <title>{{.Header}}</title>
  <meta name="description" content="Google COS build information">
  <link rel="stylesheet" href="/static/css/base.css">
</head>
<body>
  <div class="navbar">
    <p class="navbar-title">Container Optimized OS</p>
    {{if .SignedIn}}
      <a class="signout" href="/signout/?redirect={{.ActivePage}}">Sign Out</a>
    {{else}}
      <a class="login" href="/login/?redirect={{.ActivePage}}">Login</a>
    {{end}}
  </div>
  <div class="sidenav">
    {{if (eq .ActivePage "home")}}
      <a class="active" href="/">Home</a>
    {{else}}
      <a href="/">Home</a>
    {{end}}
    {{if (eq .ActivePage "/changelog/")}}
      <a class="active" href="/changelog/">Changelog</a>
    {{else}}
      <a href="/changelog/">Changelog</a>
    {{end}}
    {{if (eq .ActivePage "/findbuild/")}}
      <a class="active" href="/findbuild/">Find Build</a>
    {{else}}
      <a href="/findbuild/">Find Build</a>
    {{end}}
    {{if (eq .ActivePage "/findreleasedbuild/")}}
      <a class="active" href="/findreleasedbuild/">Find Released Build</a>
    {{else}}
      <a href="/findreleasedbuild/">Find Released Build</a>
    {{end}}
    <a href="/readme/">Readme</a>
  </div>
  <div class="main">
    <div class="text-content">
      <h1>{{ .Header }}</h1>
      <p>{{ .Body }}</p>
      <a href={{.ActivePage}}>Go back</a>
    </div>
  </div>
</body>

</html>