separate parameterization for short and long-form notes, properly use cover for the latter.

fixes https://github.com/fiatjaf/njump/issues/67
This commit is contained in:
fiatjaf
2024-09-05 10:46:36 -03:00
parent 878d7223c1
commit bfeb56ec91
2 changed files with 31 additions and 7 deletions

View File

@@ -81,9 +81,12 @@ func grabData(ctx context.Context, code string) (Data, error) {
data.alt = nip31.GetAlt(*event)
switch event.Kind {
case 1, 7, 30023, 30024:
case 1, 7:
data.templateId = Note
data.content = event.Content
case 30023, 30024:
data.templateId = LongForm
data.content = event.Content
case 6:
data.templateId = Note
if reposted := event.Tags.GetFirst([]string{"e", ""}); reposted != nil {

View File

@@ -331,11 +331,6 @@ func renderEvent(w http.ResponseWriter, r *http.Request) {
opengraph.BigImage = opengraph.Image
}
enhancedCode := data.nevent
if data.naddr != "" {
enhancedCode = data.naddr
}
content := data.content
for _, tag := range data.event.Tags.GetAll([]string{"emoji"}) {
// custom emojis
@@ -356,9 +351,35 @@ func renderEvent(w http.ResponseWriter, r *http.Request) {
NaddrNaked: data.naddrNaked,
NeventNaked: data.neventNaked,
},
Clients: generateClientList(data.event.Kind, enhancedCode),
Clients: generateClientList(data.event.Kind, data.nevent),
Details: detailsData,
Content: template.HTML(content),
TitleizedContent: titleizedContent,
}
component = noteTemplate(params, isEmbed)
case LongForm:
if data.cover != "" {
opengraph.Image = data.cover
opengraph.BigImage = data.cover
} else if style == StyleTwitter {
// twitter has started sprinkling this over our image, so let's make it invisible
opengraph.SingleTitle = string(INVISIBLE_SPACE)
}
params := NotePageParams{
BaseEventPageParams: baseEventPageParams,
OpenGraphParams: opengraph,
HeadParams: HeadParams{
IsProfile: false,
Oembed: oembed,
NaddrNaked: data.naddrNaked,
NeventNaked: data.neventNaked,
},
Clients: generateClientList(data.event.Kind, data.naddr),
Details: detailsData,
Content: template.HTML(data.content),
Cover: data.cover,
TitleizedContent: titleizedContent,
}