compose: menu: Expose modifier and expanded state boolean

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-04-30 18:48:18 +08:00
parent ea9ab9ebbc
commit 6f1ee9f082

View File

@@ -19,6 +19,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
@@ -28,18 +29,23 @@ import com.aurora.store.compose.menu.items.BlacklistMenuItem
/** /**
* Menu for the blacklist screen * Menu for the blacklist screen
* @param modifier The modifier to be applied to the composable
* @param onMenuItemClicked Callback when a menu item has been clicked * @param onMenuItemClicked Callback when a menu item has been clicked
* @see BlacklistMenuItem * @see BlacklistMenuItem
*/ */
@Composable @Composable
fun BlacklistMenu(onMenuItemClicked: (blacklistMenuItem: BlacklistMenuItem) -> Unit = {}) { fun BlacklistMenu(
var expanded by remember { mutableStateOf(false) } modifier: Modifier = Modifier,
isExpanded: Boolean = false,
onMenuItemClicked: (blacklistMenuItem: BlacklistMenuItem) -> Unit = {}
) {
var expanded by remember { mutableStateOf(isExpanded) }
fun onClick(blacklistMenuItem: BlacklistMenuItem) { fun onClick(blacklistMenuItem: BlacklistMenuItem) {
onMenuItemClicked(blacklistMenuItem) onMenuItemClicked(blacklistMenuItem)
expanded = false expanded = false
} }
Box { Box(modifier = modifier) {
IconButton(onClick = { expanded = true }) { IconButton(onClick = { expanded = true }) {
Icon(Icons.Default.MoreVert, contentDescription = stringResource(R.string.menu)) Icon(Icons.Default.MoreVert, contentDescription = stringResource(R.string.menu))
} }
@@ -87,5 +93,5 @@ fun BlacklistMenu(onMenuItemClicked: (blacklistMenuItem: BlacklistMenuItem) -> U
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
private fun BlacklistMenuPreview() { private fun BlacklistMenuPreview() {
BlacklistMenu() BlacklistMenu(isExpanded = true)
} }