package transaction_recurring import "fmt" import "spend-sparrow/template/svg" import "spend-sparrow/types" templ TransactionRecurringItems(transactionsRecurring []*types.TransactionRecurring, editId, accountId, treasureChestId string) {
Active Party Description Interval Value if editId == "new" { @EditTransactionRecurring(nil, accountId, treasureChestId) } for _, transaction := range transactionsRecurring { if transaction.Id.String() == editId { @EditTransactionRecurring(transaction, accountId, treasureChestId) } else { @TransactionRecurringItem(transaction, accountId, treasureChestId) } }
} templ TransactionRecurringItem(transactionRecurring *types.TransactionRecurring, accountId, treasureChestId string) {

if transactionRecurring.Active { ✅ } else { ❌ }

if transactionRecurring.Party != "" { { transactionRecurring.Party } } else { - }

if transactionRecurring.Description != "" { { transactionRecurring.Description } } else { - }

Every { transactionRecurring.IntervalMonths } month(s)

if transactionRecurring.Value < 0 {

{ displayBalance(transactionRecurring.Value)+" €" }

} else {

{ displayBalance(transactionRecurring.Value)+" €" }

}
} templ EditTransactionRecurring(transactionRecurring *types.TransactionRecurring, accountId, treasureChestId string) { {{ var ( id string ) party := "" description := "" value := "0.00" intervalMonths := "1" active := true if transactionRecurring == nil { id = "new" } else { intervalMonths = fmt.Sprintf("%d", transactionRecurring.IntervalMonths) active = transactionRecurring.Active party = transactionRecurring.Party description = transactionRecurring.Description value = displayBalance(transactionRecurring.Value) id = transactionRecurring.Id.String() } }} if accountId != "" { } if treasureChestId != "" { }
} func displayBalance(balance int64) string { euros := float64(balance) / 100 return fmt.Sprintf("%.2f", euros) } func calculateReferences() { }