From 06553b9b26fd9c46569d11dfca37bd1550d8e631 Mon Sep 17 00:00:00 2001 From: tapframe <85391825+tapframe@users.noreply.github.com> Date: Tue, 5 May 2026 20:43:40 +0530 Subject: [PATCH] ref: add submit intro button to top player controls --- .../app/features/player/PlayerControls.kt | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerControls.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerControls.kt index 48ffd528..13f975ed 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerControls.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerControls.kt @@ -131,6 +131,7 @@ internal fun PlayerControlsShell( episodeTitle = episodeTitle, metrics = metrics, isLocked = isLocked, + onSubmitIntroClick = onSubmitIntroClick, onLockToggle = onLockToggle, onBack = onBack, modifier = Modifier @@ -168,7 +169,6 @@ internal fun PlayerControlsShell( onAudioClick = onAudioClick, onSourcesClick = onSourcesClick, onEpisodesClick = onEpisodesClick, - onSubmitIntroClick = onSubmitIntroClick, modifier = Modifier .align(Alignment.BottomCenter) .fillMaxWidth() @@ -189,6 +189,7 @@ private fun PlayerHeader( episodeTitle: String?, metrics: PlayerLayoutMetrics, isLocked: Boolean, + onSubmitIntroClick: (() -> Unit)?, onLockToggle: () -> Unit, onBack: () -> Unit, modifier: Modifier = Modifier, @@ -264,6 +265,15 @@ private fun PlayerHeader( horizontalArrangement = Arrangement.spacedBy(10.dp), verticalAlignment = Alignment.CenterVertically, ) { + if (onSubmitIntroClick != null) { + PlayerHeaderIconButton( + icon = Icons.Rounded.Flag, + contentDescription = "Submit Intro", + buttonSize = metrics.headerIconSize + 16.dp, + iconSize = metrics.headerIconSize, + onClick = onSubmitIntroClick, + ) + } PlayerHeaderIconButton( icon = if (isLocked) Icons.Rounded.LockOpen else Icons.Rounded.Lock, contentDescription = if (isLocked) { @@ -424,7 +434,6 @@ private fun ProgressControls( onAudioClick: () -> Unit, onSourcesClick: (() -> Unit)? = null, onEpisodesClick: (() -> Unit)? = null, - onSubmitIntroClick: (() -> Unit)? = null, modifier: Modifier = Modifier, ) { val durationMs = playbackSnapshot.durationMs.coerceAtLeast(1L) @@ -506,13 +515,6 @@ private fun ProgressControls( onClick = onEpisodesClick, ) } - if (onSubmitIntroClick != null) { - PlayerActionPillButton( - label = "Submit Intro", - icon = Icons.Rounded.Flag, - onClick = onSubmitIntroClick, - ) - } } } } @@ -676,6 +678,9 @@ private fun PlayerActionPillButton( text = label, style = MaterialTheme.nuvioTypeScale.labelSm, color = Color.White, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + softWrap = false, ) } }