diff --git a/calendar_event.templ b/calendar_event.templ index 1403f28..d6fbb1a 100644 --- a/calendar_event.templ +++ b/calendar_event.templ @@ -1,5 +1,29 @@ package main +import ( + _ "embed" + "strings" + "unicode" + "github.com/nbd-wtf/go-nostr/nip19" + "github.com/nbd-wtf/go-nostr/nip52" +) + +func formatPartecipants(partecipants []nip52.Participant) string { + var list = make([]string, 0) + for _, p := range partecipants { + nreplace, _ := nip19.EncodePublicKey(p.PubKey) + bytes := []byte(p.Role) + bytes[0] = byte(unicode.ToUpper(rune(bytes[0]))) + role := string(bytes) + nreplace = replaceNostrURLsWithHTMLTags(nostrNpubNprofileMatcher, "nostr:" + nreplace) + if p.Role != "" { + nreplace = nreplace + " as " + role + } + list = append(list, nreplace) + } + return strings.Join(list, ", ") +} + templ calendarEventTemplate(params CalendarPageParams) { @eventPageTemplate( @@ -52,12 +76,10 @@ templ calendarEventTemplate(params CalendarPageParams) {
- if len(params.People) != 0 { + if len(params.CalendarEvent.Participants) != 0 {
- People: - for _, p := range params.People { - @templ.Raw(replaceNostrURLsWithHTMLTags(nostrNpubNprofileMatcher, "nostr:" + p)) - } + People: + @templ.Raw(formatPartecipants(params.CalendarEvent.Participants))
} if params.CalendarEvent.Image != "" { @@ -74,4 +96,4 @@ templ calendarEventTemplate(params CalendarPageParams) { }
} -} +} \ No newline at end of file diff --git a/pages.go b/pages.go index a14115c..5f4a859 100644 --- a/pages.go +++ b/pages.go @@ -246,7 +246,6 @@ type CalendarPageParams struct { EndAtTime string Content template.HTML CalendarEvent Kind31922Or31923Metadata - People []string Clients []ClientReference } diff --git a/render_event.go b/render_event.go index 6bb6787..2d4526c 100644 --- a/render_event.go +++ b/render_event.go @@ -470,14 +470,6 @@ func renderEvent(w http.ResponseWriter, r *http.Request) { data.kind31922Or31923Metadata.End.Second() != 0 { EndAtTime = data.kind31922Or31923Metadata.End.Format("15:04") } - var People []string - for _, value := range data.event.Tags { - nreplace := "" - if value[0] == "p" { - nreplace, _ = nip19.EncodePublicKey(value[1]) - People = append(People, nreplace) - } - } component = calendarEventTemplate(CalendarPageParams{ BaseEventPageParams: baseEventPageParams, @@ -493,7 +485,6 @@ func renderEvent(w http.ResponseWriter, r *http.Request) { EndAtDate: EndAtDate, EndAtTime: EndAtTime, CalendarEvent: *data.kind31922Or31923Metadata, - People: People, Details: detailsData, Content: template.HTML(data.content), Clients: generateClientList(data.event.Kind, data.naddr),