package main
import "github.com/nbd-wtf/go-nostr"
templ reportsPage(reports chan *nostr.Event, loggedUser string) {
@layout(loggedUser) {
reports received
for report := range reports {
if e := report.Tags.GetFirst([]string{"e", ""}); e != nil {
@eventReportComponent(e, report)
} else if p := report.Tags.GetFirst([]string{"p", ""}); p != nil {
@profileReportComponent(p, report)
}
}
}
}
templ eventReportComponent(e *nostr.Tag, report *nostr.Event) {
if res, _ := sys.StoreRelay.QuerySync(ctx, nostr.Filter{IDs: []string{(*e)[1]}}); len(res) > 0 {
if len(*e) >= 3 {
{ (*e)[2] }
}
{ " report" }
by @userNameComponent(sys.FetchProfileMetadata(ctx, report.PubKey))
{ report.Content }
event reported:
{ res[0].String() }
}
}
templ profileReportComponent(p *nostr.Tag, report *nostr.Event) {
if isPublicKeyInWhitelist((*p)[1]) {
if len(*p) >= 3 {
{ (*p)[2] }
}
{ " report" }
by @userNameComponent(sys.FetchProfileMetadata(ctx, report.PubKey))
{ report.Content }
profile reported:
@userNameComponent(sys.FetchProfileMetadata(ctx, (*p)[1]))
}
}