Checkpoint

This commit is contained in:
Magnus Åhall 2026-02-23 09:39:52 +01:00
parent 4637689db4
commit 5112113aae
4 changed files with 104 additions and 40 deletions

57
dns.go
View file

@ -104,19 +104,17 @@ func BuildRecordsTree(records []DNSRecord) *DomainPart {
return topPart
}
func (dp *DomainPart) ToHTML(parts []string) string {
html := ""
type HTMLElement struct {
Header bool
HTML string
}
/*
var lines []struct {
Header bool
HTML string
}
*/
func (dp *DomainPart) ToHTMLElements(parts []string, idFrom int) []HTMLElement {
var lines []HTMLElement
sortedParts := slices.Sorted(maps.Keys(dp.Subparts))
for _, part := range sortedParts {
for i, part := range sortedParts {
subpart := dp.Subparts[part]
newParts := append(parts, part)
@ -132,32 +130,41 @@ func (dp *DomainPart) ToHTML(parts []string) string {
mostSpecificPart += "."
}
var subHTML string
if len(subpart.Subparts) == 0 {
html += fmt.Sprintf(
`<div class="record" style="margin-left: %dpx" data-top="%s"><span>%s</span><span>%s</span></div>`,
len(newParts)*16,
restPart,
html := fmt.Sprintf(
`
<div class="record" style="padding-left: %dpx" data-i="%d" data-top="%s"><span>%s</span><span>%s</span></div>
<div class="type" data-i="%d">hum</div>
`,
len(newParts)*32,
idFrom + i, // data-i
restPart, // data-top
mostSpecificPart,
restPart,
idFrom + i,
)
lines = append(lines, HTMLElement{Header: false, HTML: html})
} else {
subHTML = subpart.ToHTML(newParts)
html += fmt.Sprintf(`
<div class="top" data-top="%s" style="margin-left: %dpx">
<div class="fqdn">%s</div>
html := fmt.Sprintf(`
<div class="top" data-i="%d" data-top="%s" data-self="%s" style="padding-left: %dpx">
<span>%s</span><span>%s</span>
</div>
<div data-top="%s" class="records">%s</div>
<div class="type" data-i="%d"></div>
`,
fqdn,
len(newParts)*16,
fqdn,
fqdn,
subHTML,
idFrom + i, // data-i
restPart, // data-top
fqdn, // data-self
len(newParts)*32, // margin-left
mostSpecificPart, // innerText
restPart,
idFrom + i,
)
lines = append(lines, HTMLElement{Header: true, HTML: html})
subLines := subpart.ToHTMLElements(newParts, idFrom + i)
lines = append(lines, subLines...)
}
}
return html
return lines
}