<!--
  Copyright 2021 The Go Authors. All rights reserved.
  Use of this source code is governed by a BSD-style
  license that can be found in the LICENSE file.
-->

{{define "title"}}
  <title>{{.HTMLTitle}} - Go Packages</title>
{{end}}

{{define "pre-content"}}
  <link href="/static/frontend/vuln/vuln.min.css?version={{.AppVersionLabel}}" rel="stylesheet">
  {{block "main-styles" .}}{{end}}
{{end}}

{{define "main"}}
  <main class="go-Container">
    <div class="go-Content Vuln">
      {{block "main-content" .}}{{end}}
    </div>
  </main>
{{end}}

{{define "vuln-details"}}
  {{/* . is osv.Entry */}}
  <div class="Vuln-details">
    <ul class="Vuln-detailsMetadata">
      {{if .Aliases}}
        <li class="go-textSubtle Vuln-alias">
          {{range $i, $v := .Aliases}}{{if ne $i 0}}, {{end}}{{$v}}{{end}}
        </li>
      {{end}}
      <li class="go-textSubtle">Affects:
        {{range $i, $v := .Affected}}
          {{- if lt $i 2}}{{- if ne $i 0}}, {{end -}}{{$v.Package.Name}}{{end -}}
          {{- if eq $i 2}}, and {{subtract (len $.Affected) 2}} more{{end -}}
        {{end}}
      </li>
      <li class="go-textSubtle">Published: {{.Published.Format "Jan 02, 2006"}}</li>
      {{if ne .Published .Modified}}
        <li class="go-textSubtle">Modified: {{.Modified.Format "Jan 02, 2006"}}</li>
      {{end}}
    </ul>
    <p>{{.Details}}</p>
  </div>
{{end}}

{{define "vuln-search"}}
  <p>
    Data about new vulnerabilities come directly from Go package maintainers or sources such as MITRE
    and GitHub. Reports are curated by the Go Security team. Learn more at <a href="https://go.dev/security/vulndb">go.dev/security/vulndb</a>.
  </p>
  <h2>Search</h2>
  <form
    class="go-InputGroup VulnMain-search"
    action="/search"
    data-gtmc="search vuln"
    aria-label="Search GO IDs"
    role="search"
  >
    <input name="q" class="go-Input" placeholder="Search GO IDs" />
    <button class="go-Button">Submit</button>
  </form>
{{end}}