// Code generated by qtc from "navbar.qtpl". DO NOT EDIT.
// See https://github.com/valyala/quicktemplate for details.

//line navbar.qtpl:1
package templates

//line navbar.qtpl:1
import (
	qtio422016 "io"

	qt422016 "github.com/valyala/quicktemplate"
)

//line navbar.qtpl:1
var (
	_ = qtio422016.Copy
	_ = qt422016.AcquireByteBuffer
)

//line navbar.qtpl:2
type Selection int

const (
	Git Selection = iota
	List
	About
	Config
)

//line navbar.qtpl:12
type GitSelection int

const (
	Readme GitSelection = iota
	Log
	Summary
	Refs
	Tree
)

//line navbar.qtpl:22
func streaminsertIfEqual(qw422016 *qt422016.Writer, s, d any) {
//line navbar.qtpl:22
	if s == d {
//line navbar.qtpl:22
		qw422016.N().S(` selected`)
//line navbar.qtpl:22
	}
//line navbar.qtpl:22
}

//line navbar.qtpl:22
func writeinsertIfEqual(qq422016 qtio422016.Writer, s, d any) {
//line navbar.qtpl:22
	qw422016 := qt422016.AcquireWriter(qq422016)
//line navbar.qtpl:22
	streaminsertIfEqual(qw422016, s, d)
//line navbar.qtpl:22
	qt422016.ReleaseWriter(qw422016)
//line navbar.qtpl:22
}

//line navbar.qtpl:22
func insertIfEqual(s, d any) string {
//line navbar.qtpl:22
	qb422016 := qt422016.AcquireByteBuffer()
//line navbar.qtpl:22
	writeinsertIfEqual(qb422016, s, d)
//line navbar.qtpl:22
	qs422016 := string(qb422016.B)
//line navbar.qtpl:22
	qt422016.ReleaseByteBuffer(qb422016)
//line navbar.qtpl:22
	return qs422016
//line navbar.qtpl:22
}

//line navbar.qtpl:24
func StreamNavbar(qw422016 *qt422016.Writer, s Selection) {
//line navbar.qtpl:24
	qw422016.N().S(`
        <nav class="container navbar navbar-expand">
          <div class="navbar-nav">
            <a class="nav-link`)
//line navbar.qtpl:27
	streaminsertIfEqual(qw422016, s, Git)
//line navbar.qtpl:27
	qw422016.N().S(`" href="/">git</a>
`)
//line navbar.qtpl:31
	qw422016.N().S(`
`)
//line navbar.qtpl:35
	qw422016.N().S(`
            <a class="nav-link`)
//line navbar.qtpl:36
	streaminsertIfEqual(qw422016, s, Config)
//line navbar.qtpl:36
	qw422016.N().S(`" href="/config">config</a>
          </div>
        </nav>
`)
//line navbar.qtpl:39
}

//line navbar.qtpl:39
func WriteNavbar(qq422016 qtio422016.Writer, s Selection) {
//line navbar.qtpl:39
	qw422016 := qt422016.AcquireWriter(qq422016)
//line navbar.qtpl:39
	StreamNavbar(qw422016, s)
//line navbar.qtpl:39
	qt422016.ReleaseWriter(qw422016)
//line navbar.qtpl:39
}

//line navbar.qtpl:39
func Navbar(s Selection) string {
//line navbar.qtpl:39
	qb422016 := qt422016.AcquireByteBuffer()
//line navbar.qtpl:39
	WriteNavbar(qb422016, s)
//line navbar.qtpl:39
	qs422016 := string(qb422016.B)
//line navbar.qtpl:39
	qt422016.ReleaseByteBuffer(qb422016)
//line navbar.qtpl:39
	return qs422016
//line navbar.qtpl:39
}

//line navbar.qtpl:41
func StreamGitItemNav(qw422016 *qt422016.Writer, name, ref string, s GitSelection) {
//line navbar.qtpl:41
	qw422016.N().S(`
<div class="row">
    <h3>`)
//line navbar.qtpl:43
	qw422016.E().S(name)
//line navbar.qtpl:43
	qw422016.N().S(` `)
//line navbar.qtpl:43
	if ref != "" && (s == Log || s == Tree) {
//line navbar.qtpl:43
		qw422016.N().S(`@ `)
//line navbar.qtpl:43
		qw422016.E().S(ref)
//line navbar.qtpl:43
	}
//line navbar.qtpl:43
	qw422016.N().S(`</h3>
</div>
<div class="row">
  <ul class="nav">
    <li class="nav-item">
      <a class="nav-link`)
//line navbar.qtpl:48
	streaminsertIfEqual(qw422016, s, Readme)
//line navbar.qtpl:48
	qw422016.N().S(`" aria-current="page" href="/`)
//line navbar.qtpl:48
	qw422016.E().S(name)
//line navbar.qtpl:48
	qw422016.N().S(`/about">about</a>
    </li>
    <li class="nav-item">
      <a class="nav-link`)
//line navbar.qtpl:51
	streaminsertIfEqual(qw422016, s, Log)
//line navbar.qtpl:51
	qw422016.N().S(`" aria-current="page" href="/`)
//line navbar.qtpl:51
	qw422016.E().S(name)
//line navbar.qtpl:51
	qw422016.N().S(`/log/`)
//line navbar.qtpl:51
	qw422016.E().S(ref)
//line navbar.qtpl:51
	qw422016.N().S(`">log</a>
    </li>
    <li class="nav-item">
      <a class="nav-link`)
//line navbar.qtpl:54
	streaminsertIfEqual(qw422016, s, Summary)
//line navbar.qtpl:54
	qw422016.N().S(`" aria-current="page" href="/`)
//line navbar.qtpl:54
	qw422016.E().S(name)
//line navbar.qtpl:54
	qw422016.N().S(`">summary</a>
    </li>
    <li class="nav-item">
      <a class="nav-link`)
//line navbar.qtpl:57
	streaminsertIfEqual(qw422016, s, Refs)
//line navbar.qtpl:57
	qw422016.N().S(`" aria-current="page" href="/`)
//line navbar.qtpl:57
	qw422016.E().S(name)
//line navbar.qtpl:57
	qw422016.N().S(`/refs">refs</a>
    </li>
    <li class="nav-item">
      <a class="nav-link`)
//line navbar.qtpl:60
	streaminsertIfEqual(qw422016, s, Tree)
//line navbar.qtpl:60
	qw422016.N().S(`" aria-current="page" href="/`)
//line navbar.qtpl:60
	qw422016.E().S(name)
//line navbar.qtpl:60
	qw422016.N().S(`/tree/`)
//line navbar.qtpl:60
	qw422016.E().S(ref)
//line navbar.qtpl:60
	qw422016.N().S(`">tree</a>
    </li>
  </ul>
</div>
`)
//line navbar.qtpl:64
}

//line navbar.qtpl:64
func WriteGitItemNav(qq422016 qtio422016.Writer, name, ref string, s GitSelection) {
//line navbar.qtpl:64
	qw422016 := qt422016.AcquireWriter(qq422016)
//line navbar.qtpl:64
	StreamGitItemNav(qw422016, name, ref, s)
//line navbar.qtpl:64
	qt422016.ReleaseWriter(qw422016)
//line navbar.qtpl:64
}

//line navbar.qtpl:64
func GitItemNav(name, ref string, s GitSelection) string {
//line navbar.qtpl:64
	qb422016 := qt422016.AcquireByteBuffer()
//line navbar.qtpl:64
	WriteGitItemNav(qb422016, name, ref, s)
//line navbar.qtpl:64
	qs422016 := string(qb422016.B)
//line navbar.qtpl:64
	qt422016.ReleaseByteBuffer(qb422016)
//line navbar.qtpl:64
	return qs422016
//line navbar.qtpl:64
}