diff --git a/domain/src/commonMain/kotlin/ca/gosyer/jui/domain/manga/model/Manga.kt b/domain/src/commonMain/kotlin/ca/gosyer/jui/domain/manga/model/Manga.kt index 658f45bd..06881350 100644 --- a/domain/src/commonMain/kotlin/ca/gosyer/jui/domain/manga/model/Manga.kt +++ b/domain/src/commonMain/kotlin/ca/gosyer/jui/domain/manga/model/Manga.kt @@ -23,6 +23,7 @@ data class Manga( val url: String, val title: String, val thumbnailUrl: String?, + val thumbnailUrlLastFetched: Long = 0, val initialized: Boolean, val artist: String?, val author: String?, diff --git a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/image/ImageLoaderProvider.kt b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/image/ImageLoaderProvider.kt index 52d9eab4..7a492782 100644 --- a/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/image/ImageLoaderProvider.kt +++ b/presentation/src/commonMain/kotlin/ca/gosyer/jui/ui/base/image/ImageLoaderProvider.kt @@ -66,7 +66,7 @@ class ImageLoaderProvider @Inject constructor( class MangaCoverKeyer : Keyer { override fun key(data: Any, options: Options): String? { if (data !is Manga) return null - return "${data.sourceId}-${data.url}" + return "${data.sourceId}-${data.thumbnailUrl}-${data.thumbnailUrlLastFetched}" } } @@ -74,7 +74,7 @@ class ImageLoaderProvider @Inject constructor( override fun map(data: Any, options: Options): String? { if (data !is Extension) return null if (data.iconUrl.isBlank()) return null - return serverUrl.value.toString() + data.iconUrl + return "${serverUrl.value}${data.iconUrl}" } }