
- Abstract away relative date string building - Dedupe large update warning logic (cherry picked from commit 3d0d5c047228f13d8a6a7d90400f4d67f2817f24) # Conflicts: # app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt # app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
39 lines
1.1 KiB
Kotlin
39 lines
1.1 KiB
Kotlin
package eu.kanade.presentation.components
|
|
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.runtime.remember
|
|
import androidx.compose.ui.platform.LocalContext
|
|
import eu.kanade.domain.ui.UiPreferences
|
|
import eu.kanade.tachiyomi.util.lang.toRelativeString
|
|
import tachiyomi.i18n.MR
|
|
import tachiyomi.presentation.core.i18n.stringResource
|
|
import uy.kohesive.injekt.Injekt
|
|
import uy.kohesive.injekt.api.get
|
|
import java.util.Date
|
|
|
|
@Composable
|
|
fun relativeDateText(
|
|
date: Long,
|
|
): String {
|
|
return relativeDateText(date = Date(date).takeIf { date > 0L })
|
|
}
|
|
|
|
@Composable
|
|
fun relativeDateText(
|
|
date: Date?,
|
|
): String {
|
|
val context = LocalContext.current
|
|
|
|
val preferences = remember { Injekt.get<UiPreferences>() }
|
|
val relativeTime = remember { preferences.relativeTime().get() }
|
|
val dateFormat = remember { UiPreferences.dateFormat(preferences.dateFormat().get()) }
|
|
|
|
return date
|
|
?.toRelativeString(
|
|
context,
|
|
relativeTime,
|
|
dateFormat,
|
|
)
|
|
?: stringResource(MR.strings.not_applicable)
|
|
}
|