From 940cc4193a8137584d29cc2c35f5a646ee6f42af Mon Sep 17 00:00:00 2001 From: Damontecres Date: Wed, 24 Jun 2026 11:33:09 -0400 Subject: [PATCH] Fix nulls in career dates --- .../stashapp/PerformerDetailsFragment.kt | 8 ++++---- .../components/main/MainPagePerformerDetails.kt | 12 ++++-------- .../stashapp/ui/pages/PerformerPage.kt | 15 ++++++++------- .../damontecres/stashapp/views/Formatting.kt | 10 ++++++++++ 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/github/damontecres/stashapp/PerformerDetailsFragment.kt b/app/src/main/java/com/github/damontecres/stashapp/PerformerDetailsFragment.kt index 977d152b..b6b95b2a 100644 --- a/app/src/main/java/com/github/damontecres/stashapp/PerformerDetailsFragment.kt +++ b/app/src/main/java/com/github/damontecres/stashapp/PerformerDetailsFragment.kt @@ -14,6 +14,7 @@ import com.github.damontecres.stashapp.util.StashCoroutineExceptionHandler import com.github.damontecres.stashapp.util.StashGlide import com.github.damontecres.stashapp.util.ageInYears import com.github.damontecres.stashapp.util.showSetRatingToast +import com.github.damontecres.stashapp.views.careerString import com.github.damontecres.stashapp.views.models.PerformerViewModel import com.github.damontecres.stashapp.views.parseTimeToString import kotlinx.coroutines.launch @@ -119,10 +120,9 @@ class PerformerDetailsFragment : DetailsFragment() { addRow(R.string.stashapp_tattoos, perf.tattoos) addRow(R.string.stashapp_piercings, perf.piercings) - addRow( - R.string.stashapp_career_length, - listOf(perf.career_start, perf.career_end).joinToString(" - "), - ) + perf.careerString?.let { + addRow(R.string.stashapp_career_length, it) + } addRow(R.string.stashapp_created_at, parseTimeToString(perf.created_at)) addRow(R.string.stashapp_updated_at, parseTimeToString(perf.updated_at)) diff --git a/app/src/main/java/com/github/damontecres/stashapp/ui/components/main/MainPagePerformerDetails.kt b/app/src/main/java/com/github/damontecres/stashapp/ui/components/main/MainPagePerformerDetails.kt index b33edb21..aa281a67 100644 --- a/app/src/main/java/com/github/damontecres/stashapp/ui/components/main/MainPagePerformerDetails.kt +++ b/app/src/main/java/com/github/damontecres/stashapp/ui/components/main/MainPagePerformerDetails.kt @@ -9,7 +9,6 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha @@ -32,6 +31,7 @@ import com.github.damontecres.stashapp.ui.components.TitleValueText import com.github.damontecres.stashapp.util.isNotNullOrBlank import com.github.damontecres.stashapp.util.listOfNotNullOrBlank import com.github.damontecres.stashapp.util.yearsBetween +import com.github.damontecres.stashapp.views.careerString import kotlin.math.floor import kotlin.math.round import kotlin.math.roundToInt @@ -167,15 +167,11 @@ fun MainPagePerformerDetails( modifier = Modifier.widthIn(max = 64.dp), ) } - if (perf.career_start.isNotNullOrBlank()) { + val career = perf.careerString + career?.let { TitleValueText( stringResource(R.string.stashapp_career_length), - remember(perf) { - listOf( - perf.career_start, - perf.career_end, - ).joinToString(" - ") - }, + it, ) } if (perf.penis_length != null) { diff --git a/app/src/main/java/com/github/damontecres/stashapp/ui/pages/PerformerPage.kt b/app/src/main/java/com/github/damontecres/stashapp/ui/pages/PerformerPage.kt index 26962aee..76028015 100644 --- a/app/src/main/java/com/github/damontecres/stashapp/ui/pages/PerformerPage.kt +++ b/app/src/main/java/com/github/damontecres/stashapp/ui/pages/PerformerPage.kt @@ -96,6 +96,7 @@ import com.github.damontecres.stashapp.util.ageInYears import com.github.damontecres.stashapp.util.getUiTabs import com.github.damontecres.stashapp.util.isNotNullOrBlank import com.github.damontecres.stashapp.util.showSetRatingToast +import com.github.damontecres.stashapp.views.careerString import kotlinx.coroutines.launch import kotlin.math.floor import kotlin.math.round @@ -556,6 +557,13 @@ fun PerformerDetails( } } add(TableRow.from(context, R.string.stashapp_death_date, perf.death_date)) + add( + TableRow.from( + context, + R.string.stashapp_career_length, + perf.careerString, + ), + ) add( TableRow.from(context, R.string.stashapp_country, perf.country) { navigateTo( @@ -637,13 +645,6 @@ fun PerformerDetails( add(TableRow.from(context, R.string.stashapp_tattoos, perf.tattoos)) add(TableRow.from(context, R.string.stashapp_piercings, perf.piercings)) } - add( - TableRow.from( - context, - R.string.stashapp_career_length, - listOf(perf.career_start, perf.career_end).joinToString(" - "), - ), - ) }.filterNotNull() } ItemDetails( diff --git a/app/src/main/java/com/github/damontecres/stashapp/views/Formatting.kt b/app/src/main/java/com/github/damontecres/stashapp/views/Formatting.kt index e52fa248..66061146 100644 --- a/app/src/main/java/com/github/damontecres/stashapp/views/Formatting.kt +++ b/app/src/main/java/com/github/damontecres/stashapp/views/Formatting.kt @@ -6,6 +6,7 @@ import com.github.damontecres.stashapp.R import com.github.damontecres.stashapp.StashApplication import com.github.damontecres.stashapp.api.fragment.FullMarkerData import com.github.damontecres.stashapp.api.fragment.MarkerData +import com.github.damontecres.stashapp.api.fragment.PerformerData import com.github.damontecres.stashapp.api.type.CircumcisedEnum import com.github.damontecres.stashapp.api.type.CriterionModifier import com.github.damontecres.stashapp.util.StashServer @@ -200,3 +201,12 @@ val MarkerData.formatSeconds: String } else { seconds.toInt().seconds.toString() } + +val PerformerData.careerString: String? + get() = + when { + career_start != null && career_end != null -> "$career_start - $career_end" + career_start != null -> "$career_start - " + career_end != null -> "- $career_end" + else -> null + }