Change remove to more context menu button

This commit is contained in:
Damontecres 2026-03-03 22:35:15 -05:00
parent c72f444448
commit 1af906fe90
No known key found for this signature in database
2 changed files with 26 additions and 21 deletions

View file

@ -22,7 +22,7 @@ import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Delete
import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.derivedStateOf
@ -68,7 +68,7 @@ fun NowPlayingOverlay(
onLongClickSong: (Int, AudioItem) -> Unit,
onClickMore: () -> Unit,
onMoveQueue: (Int, MoveDirection) -> Unit,
onClickRemove: (Int, AudioItem) -> Unit,
onClickMoreItem: (Int, AudioItem) -> Unit,
modifier: Modifier = Modifier,
) {
val scope = rememberCoroutineScope()
@ -195,13 +195,13 @@ fun NowPlayingOverlay(
onClick = { onMoveQueue.invoke(index, MoveDirection.DOWN) },
)
Button(
onClick = { onClickRemove.invoke(index, song) },
onClick = { onClickMoreItem.invoke(index, song) },
enabled = true,
modifier = Modifier.size(32.dp),
) {
Icon(
imageVector = Icons.Default.Delete,
contentDescription = stringResource(R.string.remove_from_queue),
imageVector = Icons.Default.MoreVert,
contentDescription = stringResource(R.string.more),
)
}
}

View file

@ -39,6 +39,7 @@ import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.Text
import coil3.compose.AsyncImage
import com.github.damontecres.wholphin.R
import com.github.damontecres.wholphin.data.model.AudioItem
import com.github.damontecres.wholphin.preferences.AppPreferences
import com.github.damontecres.wholphin.preferences.UserPreferences
import com.github.damontecres.wholphin.services.rememberQueue
@ -184,6 +185,24 @@ fun NowPlayingPage(
}
}
}
val showContextForItem =
remember {
{ fromLongClick: Boolean, index: Int, song: AudioItem ->
itemMoreDialog =
DialogParams(
title = song.title ?: "",
fromLongClick = fromLongClick,
items =
buildMoreDialogForMusicQueue(
context = context,
actions = actions,
item = song,
index = index,
canRemove = true,
),
)
}
}
BackHandler(controllerViewState.controlsVisible) {
controllerViewState.hideControls()
@ -205,22 +224,8 @@ fun NowPlayingPage(
onMoveQueue = { index, direction -> viewModel.moveQueue(index, direction) },
onClickMore = { showMoreDialog = true },
onClickSong = { index, _ -> viewModel.play(index) },
onClickRemove = { index, _ -> viewModel.removeFromQueue(index) },
onLongClickSong = { index, song ->
itemMoreDialog =
DialogParams(
title = song.title ?: "",
fromLongClick = true,
items =
buildMoreDialogForMusicQueue(
context = context,
actions = actions,
item = song,
index = index,
canRemove = true,
),
)
},
onClickMoreItem = { index, song -> showContextForItem.invoke(false, index, song) },
onLongClickSong = { index, song -> showContextForItem.invoke(true, index, song) },
modifier =
Modifier
.background(AppColors.TransparentBlack50)