This commit is contained in:
perokhe 2024-10-24 19:43:03 +09:00 committed by GitHub
commit 9584bb0eb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 26 additions and 14 deletions

View File

@ -84,6 +84,7 @@ fun MangaScreen(
state: MangaScreenModel.State.Success, state: MangaScreenModel.State.Success,
snackbarHostState: SnackbarHostState, snackbarHostState: SnackbarHostState,
nextUpdate: Instant?, nextUpdate: Instant?,
isUpdateIntervalEnabled: Boolean,
isTabletUi: Boolean, isTabletUi: Boolean,
chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction,
chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction,
@ -139,6 +140,7 @@ fun MangaScreen(
state = state, state = state,
snackbarHostState = snackbarHostState, snackbarHostState = snackbarHostState,
nextUpdate = nextUpdate, nextUpdate = nextUpdate,
isUpdateIntervalEnabled = isUpdateIntervalEnabled,
chapterSwipeStartAction = chapterSwipeStartAction, chapterSwipeStartAction = chapterSwipeStartAction,
chapterSwipeEndAction = chapterSwipeEndAction, chapterSwipeEndAction = chapterSwipeEndAction,
onBackClicked = onBackClicked, onBackClicked = onBackClicked,
@ -176,6 +178,7 @@ fun MangaScreen(
chapterSwipeStartAction = chapterSwipeStartAction, chapterSwipeStartAction = chapterSwipeStartAction,
chapterSwipeEndAction = chapterSwipeEndAction, chapterSwipeEndAction = chapterSwipeEndAction,
nextUpdate = nextUpdate, nextUpdate = nextUpdate,
isUpdateIntervalEnabled = isUpdateIntervalEnabled,
onBackClicked = onBackClicked, onBackClicked = onBackClicked,
onChapterClicked = onChapterClicked, onChapterClicked = onChapterClicked,
onDownloadChapter = onDownloadChapter, onDownloadChapter = onDownloadChapter,
@ -212,6 +215,7 @@ private fun MangaScreenSmallImpl(
state: MangaScreenModel.State.Success, state: MangaScreenModel.State.Success,
snackbarHostState: SnackbarHostState, snackbarHostState: SnackbarHostState,
nextUpdate: Instant?, nextUpdate: Instant?,
isUpdateIntervalEnabled: Boolean,
chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction,
chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction,
onBackClicked: () -> Unit, onBackClicked: () -> Unit,
@ -396,6 +400,7 @@ private fun MangaScreenSmallImpl(
favorite = state.manga.favorite, favorite = state.manga.favorite,
trackingCount = state.trackingCount, trackingCount = state.trackingCount,
nextUpdate = nextUpdate, nextUpdate = nextUpdate,
isUpdateIntervalEnabled = isUpdateIntervalEnabled,
isUserIntervalMode = state.manga.fetchInterval < 0, isUserIntervalMode = state.manga.fetchInterval < 0,
onAddToLibraryClicked = onAddToLibraryClicked, onAddToLibraryClicked = onAddToLibraryClicked,
onWebViewClicked = onWebViewClicked, onWebViewClicked = onWebViewClicked,
@ -456,6 +461,7 @@ fun MangaScreenLargeImpl(
state: MangaScreenModel.State.Success, state: MangaScreenModel.State.Success,
snackbarHostState: SnackbarHostState, snackbarHostState: SnackbarHostState,
nextUpdate: Instant?, nextUpdate: Instant?,
isUpdateIntervalEnabled: Boolean,
chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeStartAction: LibraryPreferences.ChapterSwipeAction,
chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction, chapterSwipeEndAction: LibraryPreferences.ChapterSwipeAction,
onBackClicked: () -> Unit, onBackClicked: () -> Unit,
@ -628,6 +634,7 @@ fun MangaScreenLargeImpl(
favorite = state.manga.favorite, favorite = state.manga.favorite,
trackingCount = state.trackingCount, trackingCount = state.trackingCount,
nextUpdate = nextUpdate, nextUpdate = nextUpdate,
isUpdateIntervalEnabled = isUpdateIntervalEnabled,
isUserIntervalMode = state.manga.fetchInterval < 0, isUserIntervalMode = state.manga.fetchInterval < 0,
onAddToLibraryClicked = onAddToLibraryClicked, onAddToLibraryClicked = onAddToLibraryClicked,
onWebViewClicked = onWebViewClicked, onWebViewClicked = onWebViewClicked,

View File

@ -157,11 +157,13 @@ fun MangaInfoBox(
} }
} }
@Suppress("CyclomaticComplexMethod")
@Composable @Composable
fun MangaActionRow( fun MangaActionRow(
favorite: Boolean, favorite: Boolean,
trackingCount: Int, trackingCount: Int,
nextUpdate: Instant?, nextUpdate: Instant?,
isUpdateIntervalEnabled: Boolean,
isUserIntervalMode: Boolean, isUserIntervalMode: Boolean,
onAddToLibraryClicked: () -> Unit, onAddToLibraryClicked: () -> Unit,
onWebViewClicked: (() -> Unit)?, onWebViewClicked: (() -> Unit)?,
@ -195,20 +197,22 @@ fun MangaActionRow(
onClick = onAddToLibraryClicked, onClick = onAddToLibraryClicked,
onLongClick = onEditCategory, onLongClick = onEditCategory,
) )
MangaActionButton( if (nextUpdateDays != null || isUpdateIntervalEnabled) {
title = when (nextUpdateDays) { MangaActionButton(
null -> stringResource(MR.strings.not_applicable) title = when (nextUpdateDays) {
0 -> stringResource(MR.strings.manga_interval_expected_update_soon) null -> stringResource(MR.strings.not_applicable)
else -> pluralStringResource( 0 -> stringResource(MR.strings.manga_interval_expected_update_soon)
MR.plurals.day, else -> pluralStringResource(
count = nextUpdateDays, MR.plurals.day,
nextUpdateDays, count = nextUpdateDays,
) nextUpdateDays,
}, )
icon = Icons.Default.HourglassEmpty, },
color = if (isUserIntervalMode) MaterialTheme.colorScheme.primary else defaultActionButtonColor, icon = Icons.Default.HourglassEmpty,
onClick = { onEditIntervalClicked?.invoke() }, color = if (isUserIntervalMode) MaterialTheme.colorScheme.primary else defaultActionButtonColor,
) onClick = { onEditIntervalClicked?.invoke() },
)
}
MangaActionButton( MangaActionButton(
title = if (trackingCount == 0) { title = if (trackingCount == 0) {
stringResource(MR.strings.manga_tracking_tab) stringResource(MR.strings.manga_tracking_tab)

View File

@ -118,6 +118,7 @@ class MangaScreen(
state = successState, state = successState,
snackbarHostState = screenModel.snackbarHostState, snackbarHostState = screenModel.snackbarHostState,
nextUpdate = successState.manga.expectedNextUpdate, nextUpdate = successState.manga.expectedNextUpdate,
isUpdateIntervalEnabled = screenModel.isUpdateIntervalEnabled,
isTabletUi = isTabletUi(), isTabletUi = isTabletUi(),
chapterSwipeStartAction = screenModel.chapterSwipeStartAction, chapterSwipeStartAction = screenModel.chapterSwipeStartAction,
chapterSwipeEndAction = screenModel.chapterSwipeEndAction, chapterSwipeEndAction = screenModel.chapterSwipeEndAction,