fix(channels): sanitize card data and format suffixes

This commit is contained in:
2026-09-28 14:26:22 +08:00
parent 99d4a85ece
commit ea4a54f5c6
4 changed files with 51 additions and 25 deletions
+10 -6
View File
@@ -118,6 +118,15 @@ function formatCardNumber(cardNumber: string) {
.trim()
}
function getCardSuffix(channel: ChannelWithAccountNames) {
const digits = (
channel.cardNumberSuffix ||
channel.cardNumberFull ||
""
).replace(/\D/g, "")
return digits.length >= 4 ? digits.slice(-4) : digits
}
export function ChannelsView({
initialChannels,
initialAccounts,
@@ -402,12 +411,7 @@ export function ChannelsView({
{visibleCardIds.has(channel.id) &&
channel.cardNumberFull
? formatCardNumber(channel.cardNumberFull)
: `•••• ${
channel.cardNumberSuffix ||
formatCardNumber(
channel.cardNumberFull || ""
).slice(-4)
}`}
: `•••• ${getCardSuffix(channel)}`}
</span>
{channel.cardNumberFull && (
<>