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 officialRating: AnnotatedString? = null,
|
||||||
val criticRating: AnnotatedString? = null,
|
val criticRating: AnnotatedString? = null,
|
||||||
val communityRating: 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 {
|
ratings.criticEntries.takeIf { it.isNotEmpty() }?.let {
|
||||||
buildAnnotatedString { appendRatings(it) }
|
buildAnnotatedString { appendRatings(it) }
|
||||||
},
|
},
|
||||||
|
criticRatingFirst = true,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -243,8 +243,8 @@ fun listToDotString(
|
||||||
if (index != strings.lastIndex) dot()
|
if (index != strings.lastIndex) dot()
|
||||||
}
|
}
|
||||||
ratings?.let {
|
ratings?.let {
|
||||||
appendRatings(it.communityEntries)
|
|
||||||
appendRatings(it.criticEntries)
|
appendRatings(it.criticEntries)
|
||||||
|
appendRatings(it.communityEntries)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,11 +59,14 @@ fun QuickDetails(
|
||||||
if (DisplayToggle.OFFICIAL_RATING in enabled) {
|
if (DisplayToggle.OFFICIAL_RATING in enabled) {
|
||||||
QuickDetailsText(details.officialRating, Modifier, textStyle, inlineContentMap)
|
QuickDetailsText(details.officialRating, Modifier, textStyle, inlineContentMap)
|
||||||
}
|
}
|
||||||
if (DisplayToggle.COMMUNITY_RATING in enabled) {
|
val community = DisplayToggle.COMMUNITY_RATING in enabled
|
||||||
QuickDetailsText(details.communityRating, Modifier, textStyle, inlineContentMap)
|
val critic = DisplayToggle.CRITIC_RATING in enabled
|
||||||
}
|
if (details.criticRatingFirst) {
|
||||||
if (DisplayToggle.CRITIC_RATING in enabled) {
|
if (critic) QuickDetailsText(details.criticRating, Modifier, textStyle, inlineContentMap)
|
||||||
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) {
|
if (timeRemaining != null) {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.github.damontecres.wholphin.data.model
|
||||||
|
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import org.junit.Assert.assertEquals
|
import org.junit.Assert.assertEquals
|
||||||
|
import org.junit.Assert.assertFalse
|
||||||
import org.junit.Assert.assertNull
|
import org.junit.Assert.assertNull
|
||||||
import org.junit.Assert.assertSame
|
import org.junit.Assert.assertSame
|
||||||
import org.junit.Assert.assertTrue
|
import org.junit.Assert.assertTrue
|
||||||
|
|
@ -131,6 +132,9 @@ class SourceRatingsTest {
|
||||||
assertTrue(details.communityRating!!.text.endsWith("8.8"))
|
assertTrue(details.communityRating!!.text.endsWith("8.8"))
|
||||||
assertTrue(details.criticRating!!.text.endsWith("96%"))
|
assertTrue(details.criticRating!!.text.endsWith("96%"))
|
||||||
assertEquals(jellyfinDetails.basic, details.basic)
|
assertEquals(jellyfinDetails.basic, details.basic)
|
||||||
|
// PWA order: Rotten Tomatoes before IMDb
|
||||||
|
assertTrue(details.criticRatingFirst)
|
||||||
|
assertFalse(jellyfinDetails.criticRatingFirst)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue