From baf8ea2ec0661b32c6bab320be69c2d3a698bd63 Mon Sep 17 00:00:00 2001 From: tapframe <85391825+tapframe@users.noreply.github.com> Date: Fri, 10 Apr 2026 20:23:19 +0530 Subject: [PATCH] fix: addon description as optional instead of required --- .../app/features/addons/AddonManifestParser.kt | 2 +- .../com/nuvio/app/features/addons/AddonsScreen.kt | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonManifestParser.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonManifestParser.kt index b56b8c73..414c4cf1 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonManifestParser.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonManifestParser.kt @@ -25,7 +25,7 @@ internal object AddonManifestParser { return AddonManifest( id = root.requiredString("id"), name = root.requiredString("name"), - description = root.requiredString("description"), + description = root.optionalString("description").orEmpty(), version = root.requiredString("version"), logoUrl = root.optionalString("logo")?.resolveAgainstManifest(manifestUrl), resources = root.resources(defaultTypes, defaultPrefixes), diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonsScreen.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonsScreen.kt index 6fc1e610..e8b0ad45 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonsScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/addons/AddonsScreen.kt @@ -408,13 +408,16 @@ private fun InstalledAddonCard( manifest != null -> { Spacer(modifier = Modifier.height(16.dp)) - Text( - text = manifest.description, - style = MaterialTheme.typography.bodyLarge, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) + manifest.description.takeIf { it.isNotBlank() }?.let { description -> + Text( + text = description, + style = MaterialTheme.typography.bodyLarge, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + + Spacer(modifier = Modifier.height(14.dp)) + } - Spacer(modifier = Modifier.height(14.dp)) Text( text = manifestSummary(manifest), style = MaterialTheme.typography.bodyMedium,