mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2026-01-06 03:42:33 +01:00
Long click on android to access context menu
This commit is contained in:
@@ -6,12 +6,46 @@
|
||||
|
||||
package ca.gosyer.ui.library.components
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.combinedClickable
|
||||
import androidx.compose.material.DropdownMenu
|
||||
import androidx.compose.material.DropdownMenuItem
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.composed
|
||||
import ca.gosyer.i18n.MR
|
||||
import ca.gosyer.uicore.resources.stringResource
|
||||
|
||||
actual fun Modifier.libraryMangaModifier(
|
||||
onClickManga: () -> Unit,
|
||||
onClickRemoveManga: () -> Unit
|
||||
): Modifier = Modifier.clickable(
|
||||
onClick = { onClickManga() }
|
||||
)
|
||||
): Modifier = composed {
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
DropdownMenu(
|
||||
expanded,
|
||||
onDismissRequest = { expanded = false }
|
||||
) {
|
||||
listOf(
|
||||
stringResource(MR.strings.action_remove_favorite) to onClickRemoveManga
|
||||
).forEach { (label, onClick) ->
|
||||
DropdownMenuItem(
|
||||
onClick = {
|
||||
expanded = false
|
||||
onClick()
|
||||
}
|
||||
) {
|
||||
Text(text = label)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Modifier.combinedClickable(
|
||||
onClick = { onClickManga() },
|
||||
onLongClick = {
|
||||
expanded = true
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -6,14 +6,50 @@
|
||||
|
||||
package ca.gosyer.ui.manga.components
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.combinedClickable
|
||||
import androidx.compose.material.DropdownMenu
|
||||
import androidx.compose.material.DropdownMenuItem
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.composed
|
||||
import ca.gosyer.i18n.MR
|
||||
import ca.gosyer.uicore.resources.stringResource
|
||||
|
||||
actual fun Modifier.chapterItemModifier(
|
||||
onClick: () -> Unit,
|
||||
toggleRead: () -> Unit,
|
||||
toggleBookmarked: () -> Unit,
|
||||
markPreviousAsRead: () -> Unit
|
||||
): Modifier = Modifier.clickable(
|
||||
onClick = { onClick() }
|
||||
)
|
||||
): Modifier = composed {
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
DropdownMenu(
|
||||
expanded,
|
||||
onDismissRequest = { expanded = false }
|
||||
) {
|
||||
listOf(
|
||||
stringResource(MR.strings.action_toggle_read) to toggleRead ,
|
||||
stringResource(MR.strings.action_mark_previous_read) to markPreviousAsRead ,
|
||||
stringResource(MR.strings.action_toggle_bookmarked) to toggleBookmarked
|
||||
).forEach { (label, onClick) ->
|
||||
DropdownMenuItem(
|
||||
onClick = {
|
||||
expanded = false
|
||||
onClick()
|
||||
}
|
||||
) {
|
||||
Text(text = label)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Modifier.combinedClickable(
|
||||
onClick = { onClick() },
|
||||
onLongClick = {
|
||||
expanded = true
|
||||
}
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user