ui(zap): reorder amount-choice chips — Cashu, Lightning, on-chain

Previously the popup rendered Lightning chips first, then on-chain, then
Cashu. With recipient-capability gating in place, lead with the rail
that's both fastest and free-of-fees when available — Cashu (nutzap) —
falling back to Lightning, then on-chain. Mirrors the priority order
RailCapabilityResolver uses for the underlying capability fallback,
so the visual top-down sweep matches "best rail for this recipient that
the sender has configured".

Mechanical reorder inside ZapAmountChoicePopupContent's FlowRow — no
behaviour change beyond layout. Gear settings button stays at the end.

https://claude.ai/code/session_01MdWddiar819f8XYt5N8BjP
This commit is contained in:
Claude
2026-05-27 15:17:43 +00:00
parent b0bb2885ea
commit a105eb91d7
@@ -2035,6 +2035,17 @@ fun ZapAmountChoicePopupContent(
verticalArrangement = Arrangement.Center,
itemVerticalAlignment = CenterVertically,
) {
// Order: Cashu first (instant, no fees), then Lightning,
// then on-chain — matches the recipient-capability fallback
// order used elsewhere (RailCapabilityResolver) so the
// "happiest path" rail surfaces first for the eye.
nutzapAmountChoices.forEach { amountInSats ->
NutzapAmountChip(
amountInSats = amountInSats,
onClick = { onNutzap(amountInSats) },
onLongClick = onChangeAmount,
)
}
zapAmountChoices.forEach { amountInSats ->
ZapAmountChip(
amountInSats = amountInSats,
@@ -2049,13 +2060,6 @@ fun ZapAmountChoicePopupContent(
onLongClick = onChangeAmount,
)
}
nutzapAmountChoices.forEach { amountInSats ->
NutzapAmountChip(
amountInSats = amountInSats,
onClick = { onNutzap(amountInSats) },
onLongClick = onChangeAmount,
)
}
ClickableBox(
modifier =
Modifier