32 lines
892 B
Go
32 lines
892 B
Go
package tui
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
func (m Model) CardsView(width int) string {
|
|
contentStyle := m.theme.TextBody().Width(width)
|
|
|
|
lines := ""
|
|
if m.SavedCardsIsEmpty() {
|
|
lines += contentStyle.Render("No saved cards")
|
|
} else {
|
|
for i, card := range m.SavedCards {
|
|
isSelected := m.account.cardListFocused && i == m.account.cardCursor
|
|
label := fmt.Sprintf("**** **** **** %s %s exp %02d/%02d", card.Last4, card.Brand, card.ExpMonth, card.ExpYear%100)
|
|
if m.account.cardDeleting != nil && *m.account.cardDeleting == i {
|
|
lines += m.theme.TextError().Bold(true).Render(" delete? (y/s)") + "\n"
|
|
} else {
|
|
lines += m.formatListItemCustom(label, isSelected, width, true) + "\n"
|
|
}
|
|
}
|
|
}
|
|
if m.account.cardListFocused {
|
|
lines += "\n" + m.theme.TextDim().Render("x: delete esc: back")
|
|
} else {
|
|
lines += "\n" + m.theme.TextDim().Render("enter: manage")
|
|
}
|
|
|
|
return lines
|
|
}
|