feat(badges): render feed items with author + reactions chrome

Revert of 93cf9f1 restored the BadgeCard chrome that works well when
embedded inside another NoteCompose (e.g. a BadgeAwardEvent's body).
But the badge feed was still bypassing NoteCompose's author header and
ReactionsRow because BadgeDefinitionEvent was hoisted out of
CheckNewAndRenderNote up at the top of NoteCompose.

Move BadgeDefinitionEvent into RenderNoteRow next to BadgeAwardEvent
so it flows through the same chrome path. Feed items now get:
- the author avatar / name / timestamp header
- the existing BadgeDisplay card body
- the standard ReactionsRow (reply / repost / zap / like)

Other call sites of BadgeDisplay are untouched:
- RenderBadgeAward still embeds BadgeDisplay as a child card
- BadgeCompose notifications still embed BadgeDisplay
- DisplayBadges profile strip uses BadgeThumb, not BadgeDisplay
This commit is contained in:
Claude
2026-04-19 16:31:06 +00:00
parent ffa55a30f3
commit d1fc49dc51
@@ -396,10 +396,6 @@ fun AcceptableNote(
}
}
is BadgeDefinitionEvent -> {
BadgeDisplay(baseNote = baseNote, accountViewModel = accountViewModel, nav = nav)
}
else -> {
LongPressToQuickAction(baseNote = baseNote, accountViewModel = accountViewModel, nav) { showPopup ->
CheckNewAndRenderNote(
@@ -454,10 +450,6 @@ fun AcceptableNote(
}
}
is BadgeDefinitionEvent -> {
BadgeDisplay(baseNote = baseNote, accountViewModel = accountViewModel, nav = nav)
}
else -> {
LongPressToQuickAction(baseNote, accountViewModel, nav) { showPopup ->
CheckNewAndRenderNote(
@@ -938,6 +930,10 @@ private fun RenderNoteRow(
RenderBadgeAward(baseNote, backgroundColor, accountViewModel, nav)
}
is BadgeDefinitionEvent -> {
BadgeDisplay(baseNote = baseNote, accountViewModel = accountViewModel, nav = nav)
}
is LnZapEvent -> {
RenderLnZap(baseNote, backgroundColor, accountViewModel, nav)
}