(EditMergedSettings): Allow open merge children manga

This commit is contained in:
Cuong-Tran 2025-02-11 17:56:05 +07:00
parent ff8d48bf4c
commit 2d6cf074ff
4 changed files with 37 additions and 1 deletions

View file

@ -567,6 +567,11 @@ class MangaScreen(
onDismissRequest = screenModel::dismissDialog,
onDeleteClick = screenModel::deleteMerge,
onPositiveClick = screenModel::updateMergeSettings,
// KMK -->
onOpenEntryClick = { merge ->
merge.mangaId?.let { navigator.push(MangaScreen(it)) }
},
// KMK <--
)
}
// SY <--

View file

@ -29,6 +29,10 @@ class EditMergedMangaAdapter(
fun onDeleteClick(position: Int)
fun onToggleChapterUpdatesClicked(position: Int)
fun onToggleChapterDownloadsClicked(position: Int)
// KMK -->
fun onOpenEntryClick(position: Int)
// KMK <--
}
override fun onSetPrioritySort(isPriorityOrder: Boolean) {

View file

@ -19,6 +19,11 @@ class EditMergedMangaHolder(view: View, val adapter: EditMergedMangaAdapter) : F
init {
setDragHandleView(binding.reorder)
// KMK -->
binding.cover.setOnClickListener {
adapter.editMergedMangaItemListener.onOpenEntryClick(bindingAdapterPosition)
}
// KMK <--
binding.remove.setOnClickListener {
adapter.editMergedMangaItemListener.onDeleteClick(bindingAdapterPosition)
}

View file

@ -40,6 +40,9 @@ class EditMergedSettingsState(
private val onDeleteClick: (MergedMangaReference) -> Unit,
private val onDismissRequest: () -> Unit,
private val onPositiveClick: (List<MergedMangaReference>) -> Unit,
// KMK -->
private val onOpenEntryClick: (MergedMangaReference) -> Unit,
// KMK <--
) : EditMergedMangaAdapter.EditMergedMangaItemListener {
var mergedMangas: List<Pair<Manga?, MergedMangaReference>> by mutableStateOf(emptyList())
var mergeReference: MergedMangaReference? by mutableStateOf(null)
@ -105,6 +108,14 @@ class EditMergedSettingsState(
}
}
// KMK -->
override fun onOpenEntryClick(position: Int) {
val mergedMangaAdapter = mergedMangaAdapter ?: return
val mergeMangaReference = mergedMangaAdapter.currentItems.getOrNull(position)?.mergedMangaReference ?: return
onOpenEntryClick(mergeMangaReference)
}
// KMK <--
override fun onDeleteClick(position: Int) {
val mergedMangaAdapter = mergedMangaAdapter ?: return
val mergeMangaReference = mergedMangaAdapter.currentItems.getOrNull(position)?.mergedMangaReference ?: return
@ -192,6 +203,9 @@ fun EditMergedSettingsDialog(
mergedData: MergedMangaData,
onDeleteClick: (MergedMangaReference) -> Unit,
onPositiveClick: (List<MergedMangaReference>) -> Unit,
// KMK -->
onOpenEntryClick: (MergedMangaReference) -> Unit,
// KMK <--
) {
// KMK -->
val colorScheme = AndroidViewColorScheme(MaterialTheme.colorScheme)
@ -199,7 +213,15 @@ fun EditMergedSettingsDialog(
val context = LocalContext.current
val state = remember {
EditMergedSettingsState(context, onDeleteClick, onDismissRequest, onPositiveClick)
EditMergedSettingsState(
context,
onDeleteClick,
onDismissRequest,
onPositiveClick,
// KMK -->
onOpenEntryClick,
// KMK <--
)
}
AlertDialog(
onDismissRequest = onDismissRequest,