mirror of https://git.jolheiser.com/ugit.git
134 lines
4.3 KiB
Go
134 lines
4.3 KiB
Go
|
// Code generated by templ - DO NOT EDIT.
|
||
|
|
||
|
// templ: version: v0.2.707
|
||
|
package html
|
||
|
|
||
|
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||
|
|
||
|
import "github.com/a-h/templ"
|
||
|
import "context"
|
||
|
import "io"
|
||
|
import "bytes"
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
type RepoBreadcrumbComponentContext struct {
|
||
|
Repo string
|
||
|
Ref string
|
||
|
Path string
|
||
|
}
|
||
|
|
||
|
type breadcrumb struct {
|
||
|
label string
|
||
|
href string
|
||
|
end bool
|
||
|
}
|
||
|
|
||
|
func (r RepoBreadcrumbComponentContext) crumbs() []breadcrumb {
|
||
|
parts := strings.Split(r.Path, "/")
|
||
|
breadcrumbs := []breadcrumb{
|
||
|
{
|
||
|
label: r.Repo,
|
||
|
href: fmt.Sprintf("/%s/tree/%s", r.Repo, r.Ref),
|
||
|
},
|
||
|
}
|
||
|
for idx, part := range parts {
|
||
|
breadcrumbs = append(breadcrumbs, breadcrumb{
|
||
|
label: part,
|
||
|
href: breadcrumbs[idx].href + "/" + part,
|
||
|
})
|
||
|
}
|
||
|
breadcrumbs[len(breadcrumbs)-1].end = true
|
||
|
return breadcrumbs
|
||
|
}
|
||
|
|
||
|
func repoBreadcrumbComponent(rbcc RepoBreadcrumbComponentContext) templ.Component {
|
||
|
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||
|
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||
|
if !templ_7745c5c3_IsBuffer {
|
||
|
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||
|
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||
|
}
|
||
|
ctx = templ.InitializeContext(ctx)
|
||
|
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||
|
if templ_7745c5c3_Var1 == nil {
|
||
|
templ_7745c5c3_Var1 = templ.NopComponent
|
||
|
}
|
||
|
ctx = templ.ClearChildren(ctx)
|
||
|
if rbcc.Path != "" {
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"inline-block text-text\">")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
for _, crumb := range rbcc.crumbs() {
|
||
|
if crumb.end {
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<span>")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
var templ_7745c5c3_Var2 string
|
||
|
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(crumb.label)
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `repo_breadcrumb.templ`, Line: 43, Col: 24}
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</span>")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
} else {
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a class=\"underline decoration-text/50 decoration-dashed hover:decoration-solid\" href=\"")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
var templ_7745c5c3_Var3 templ.SafeURL = templ.SafeURL(crumb.href)
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var3)))
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
var templ_7745c5c3_Var4 string
|
||
|
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(crumb.label)
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `repo_breadcrumb.templ`, Line: 45, Col: 134}
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a> ")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
var templ_7745c5c3_Var5 string
|
||
|
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(" / ")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `repo_breadcrumb.templ`, Line: 46, Col: 12}
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||
|
if templ_7745c5c3_Err != nil {
|
||
|
return templ_7745c5c3_Err
|
||
|
}
|
||
|
}
|
||
|
if !templ_7745c5c3_IsBuffer {
|
||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||
|
}
|
||
|
return templ_7745c5c3_Err
|
||
|
})
|
||
|
}
|