mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 16:57:39 +00:00
feat(podcasts): standard ReactionsRow for the show between header and episodes
Give the podcast show itself the usual engagement affordance: the standard NoteCompose ReactionsRow (comment / zap / react, with counts) now sits between the show header and the episode list on the detail screen, bracketed by the usual dividers like any other content detail. Acts on the resolved show note and only renders once that event loads. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JGa1EM5KWyDo1o5Yr6sS18
This commit is contained in:
+18
@@ -44,6 +44,7 @@ import com.vitorpamplona.amethyst.commons.model.toImmutableListOfLists
|
||||
import com.vitorpamplona.amethyst.model.Note
|
||||
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
|
||||
import com.vitorpamplona.amethyst.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.ui.note.ReactionsRow
|
||||
import com.vitorpamplona.amethyst.ui.note.types.PodcastCoverCard
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
||||
@@ -137,9 +138,26 @@ fun PodcastHeader(
|
||||
}
|
||||
}
|
||||
|
||||
// Standard engagement row for the show itself (comment / zap / react), like any other
|
||||
// content detail. Only shown once the show event resolves so it acts on a real note.
|
||||
if (show != null) {
|
||||
HorizontalDivider(thickness = DividerThickness)
|
||||
|
||||
ReactionsRow(
|
||||
baseNote = metadataNote,
|
||||
showReactionDetail = true,
|
||||
addPadding = true,
|
||||
editState = null,
|
||||
accountViewModel = accountViewModel,
|
||||
nav = nav,
|
||||
)
|
||||
}
|
||||
|
||||
// Only render once episodes have actually loaded — avoids flashing "0 episodes"
|
||||
// under the cover while the relay request is still in flight.
|
||||
episodeCount?.let { count ->
|
||||
HorizontalDivider(thickness = DividerThickness)
|
||||
|
||||
Text(
|
||||
text = pluralStringResource(R.plurals.podcast_episode_count, count, count),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
|
||||
Reference in New Issue
Block a user