Home

ugit @main - refs - log -
-
https://git.jolheiser.com/ugit.git
The code powering this h*ckin' site
ugit / internal / html / repo_file.go
- raw
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package html

import (
	_ "embed"

	. "maragu.dev/gomponents"
	. "maragu.dev/gomponents/html"
)

type RepoFileContext struct {
	BaseContext
	RepoHeaderComponentContext
	RepoBreadcrumbComponentContext
	Code string
}

//go:embed repo_file.js
var repoFileJS string

func RepoFileTemplate(rfc RepoFileContext) Node {
	return base(rfc.BaseContext, []Node{
		repoHeaderComponent(rfc.RepoHeaderComponentContext),
		Div(Class("mt-2 text-text"),
			repoBreadcrumbComponent(rfc.RepoBreadcrumbComponentContext),
			Text(" - "),
			A(Class("text-text underline decoration-text/50 decoration-dashed hover:decoration-solid"), Href("?raw"), Text("raw")),
			Div(Class("code relative"),
				Raw(rfc.Code),
				Button(ID("copy"), Class("absolute top-0 right-0 rounded bg-base hover:bg-surface0")),
			),
		),
		Script(Text(repoFileJS)),
	}...)
}