Show Rotten Tomatoes before IMDb like the PWA
All checks were successful
review/code-claude Claude code review: pass, no blocking findings
All checks were successful
review/code-claude Claude code review: pass, no blocking findings
This commit is contained in:
parent
38db9e5127
commit
c54acc9c1d
5 changed files with 18 additions and 6 deletions
|
|
@ -371,6 +371,10 @@ data class QuickDetailsData(
|
|||
val officialRating: AnnotatedString? = null,
|
||||
val criticRating: AnnotatedString? = null,
|
||||
val communityRating: AnnotatedString? = null,
|
||||
/**
|
||||
* Show [criticRating] (Rotten Tomatoes) before [communityRating] (IMDb/TMDB) like the PWA, instead of the Jellyfin order
|
||||
*/
|
||||
val criticRatingFirst: Boolean = false,
|
||||
)
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -219,5 +219,6 @@ fun QuickDetailsData.withSourceRatings(ratings: SourceRatings?): QuickDetailsDat
|
|||
ratings.criticEntries.takeIf { it.isNotEmpty() }?.let {
|
||||
buildAnnotatedString { appendRatings(it) }
|
||||
},
|
||||
criticRatingFirst = true,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -243,8 +243,8 @@ fun listToDotString(
|
|||
if (index != strings.lastIndex) dot()
|
||||
}
|
||||
ratings?.let {
|
||||
appendRatings(it.communityEntries)
|
||||
appendRatings(it.criticEntries)
|
||||
appendRatings(it.communityEntries)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,11 +59,14 @@ fun QuickDetails(
|
|||
if (DisplayToggle.OFFICIAL_RATING in enabled) {
|
||||
QuickDetailsText(details.officialRating, Modifier, textStyle, inlineContentMap)
|
||||
}
|
||||
if (DisplayToggle.COMMUNITY_RATING in enabled) {
|
||||
QuickDetailsText(details.communityRating, Modifier, textStyle, inlineContentMap)
|
||||
}
|
||||
if (DisplayToggle.CRITIC_RATING in enabled) {
|
||||
QuickDetailsText(details.criticRating, Modifier, textStyle, inlineContentMap)
|
||||
val community = DisplayToggle.COMMUNITY_RATING in enabled
|
||||
val critic = DisplayToggle.CRITIC_RATING in enabled
|
||||
if (details.criticRatingFirst) {
|
||||
if (critic) QuickDetailsText(details.criticRating, Modifier, textStyle, inlineContentMap)
|
||||
if (community) QuickDetailsText(details.communityRating, Modifier, textStyle, inlineContentMap)
|
||||
} else {
|
||||
if (community) QuickDetailsText(details.communityRating, Modifier, textStyle, inlineContentMap)
|
||||
if (critic) QuickDetailsText(details.criticRating, Modifier, textStyle, inlineContentMap)
|
||||
}
|
||||
}
|
||||
if (timeRemaining != null) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.github.damontecres.wholphin.data.model
|
|||
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertNull
|
||||
import org.junit.Assert.assertSame
|
||||
import org.junit.Assert.assertTrue
|
||||
|
|
@ -131,6 +132,9 @@ class SourceRatingsTest {
|
|||
assertTrue(details.communityRating!!.text.endsWith("8.8"))
|
||||
assertTrue(details.criticRating!!.text.endsWith("96%"))
|
||||
assertEquals(jellyfinDetails.basic, details.basic)
|
||||
// PWA order: Rotten Tomatoes before IMDb
|
||||
assertTrue(details.criticRatingFirst)
|
||||
assertFalse(jellyfinDetails.criticRatingFirst)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue