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() {
}