<html>
<head>
  <meta name="description" content="Google COS build changelog">
  <link rel="stylesheet" href="/static/css/base.css">
  <link rel="stylesheet" href="/static/css/changelog.css">
</head>
<body>
  <div class="navbar">
    <p class="navbar-title">Container Optimized OS</p>
    <a class="signout" href="/signout/?redirect=/findbuild/">Sign Out</a>
  </div>
  <div class="sidenav">
    <a href="/">Home</a>
    <a href="/changelog/">Changelog</a>
    <a class="active" href="/findbuild/">Find Build</a>
  </div>
  <div class="main">
    <h1>Find Build with CL</h1>
    <p class="feature-info">Find the first build containing a requested CL.</p>
    <p class="feature-info">Note: It is possible that a COS build was not created using the build number returned. However, any COS build with build number greater than the returned build number should have the desired change present.</p>
    <form class="changelog-form" action="/findbuild">
      <div class="text">
        {{if (ne .CL "")}}
          <input type="text" class="cl-input" name="cl" placeholder="CL-Number or Commit-SHA" value={{.CL}} autocomplete="off" required>
        {{else}}
          <input type="text" class="cl-input" name="cl" placeholder="CL-Number or Commit-SHA" autocomplete="off" required>
        {{end}}
        <input class="submit" type="submit" value="Submit"><br>
      </div>
      <div class="radio">
        {{if .Internal}}
          <label>
            <input type="radio" class="internal" name="internal" value="true" checked>
            Internal
          </label>
          <label>
            <input type="radio" class="external" name="internal" value="false">
            External
          </label>
        {{else}}
          <label>
            <input type="radio" class="internal" name="internal" value="true">
            Internal
          </label>
          <label>
            <input type="radio" class="external" name="internal" value="false" checked>
            External
          </label>
        {{end}}
      </div>
    </form>
    <div class="locate-build-result">
      {{if (ne .BuildNum "")}}
        <p><a href={{.GerritLink}} target="_blank">CL {{.CLNum}}</a> landed in build <b>{{.BuildNum}}</b>.</p>
      {{end}}
    </div>
  </div>
</body>
</html>