mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
refactor(amethyst): fall back to quartz KindNames for unknown kinds
The relay kind chips, NIP-86 management screen, and app-recommendation labels all map kinds to translated R.string labels via kindDisplayName(), returning -1 for kinds without a localized name. Route that -1 case through the shared quartz KindNames registry so any kind known to the protocol layer renders its canonical English label instead of a bare "k<kind>"/empty placeholder. Translations still win where they exist; quartz is the canonical source for the rest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011SapGdtAc1j7woifoCZ9fY
This commit is contained in:
+2
-1
@@ -75,6 +75,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.kindDisplayName
|
||||
import com.vitorpamplona.amethyst.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
|
||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||
import com.vitorpamplona.quartz.kinds.KindNames
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
||||
import com.vitorpamplona.quartz.nip89AppHandlers.definition.AppDefinitionEvent
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -427,7 +428,7 @@ private fun supportedKindsLabel(kinds: List<Int>): String {
|
||||
val names =
|
||||
kinds.take(VISIBLE_KIND_NAMES).map { kind ->
|
||||
val nameRes = kindDisplayName(kind)
|
||||
if (nameRes != -1) stringRes(nameRes) else "k$kind"
|
||||
if (nameRes != -1) stringRes(nameRes) else (KindNames.nameFor(kind) ?: "k$kind")
|
||||
}
|
||||
val overflow = kinds.size - VISIBLE_KIND_NAMES
|
||||
val suffix = if (overflow > 0) " +$overflow" else ""
|
||||
|
||||
+2
-1
@@ -133,6 +133,7 @@ import com.vitorpamplona.quartz.experimental.nns.NNSEvent
|
||||
import com.vitorpamplona.quartz.experimental.notifications.wake.WakeUpEvent
|
||||
import com.vitorpamplona.quartz.experimental.profileGallery.ProfileGalleryEntryEvent
|
||||
import com.vitorpamplona.quartz.experimental.zapPolls.ZapPollEvent
|
||||
import com.vitorpamplona.quartz.kinds.KindNames
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.client.stats.ErrorDebugMessage
|
||||
@@ -694,7 +695,7 @@ val reports = setOf(ReportEvent.KIND, MuteListEvent.KIND, DeletionEvent.KIND, Re
|
||||
@Composable
|
||||
fun KindChip(kind: Int) {
|
||||
val nameResId = kindDisplayName(kind)
|
||||
val name = if (nameResId != -1) stringResource(nameResId) else "k$kind"
|
||||
val name = if (nameResId != -1) stringResource(nameResId) else (KindNames.nameFor(kind) ?: "k$kind")
|
||||
val (bg, fg) =
|
||||
when (kind) {
|
||||
in posts -> {
|
||||
|
||||
+2
-1
@@ -102,6 +102,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size55dp
|
||||
import com.vitorpamplona.amethyst.ui.theme.SmallBorder
|
||||
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
|
||||
import com.vitorpamplona.amethyst.ui.theme.nip05
|
||||
import com.vitorpamplona.quartz.kinds.KindNames
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.displayUrl
|
||||
@@ -897,7 +898,7 @@ private fun KindEntryCard(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
val nameResId = kindDisplayName(kind)
|
||||
val name = if (nameResId != -1) stringResource(nameResId) else ""
|
||||
val name = if (nameResId != -1) stringResource(nameResId) else (KindNames.nameFor(kind) ?: "")
|
||||
|
||||
Text(
|
||||
"Kind $kind: $name",
|
||||
|
||||
Reference in New Issue
Block a user