chore: refactor add expense dialog to its own ui block
This commit is contained in:
parent
7e3a2db356
commit
0008e93973
2 changed files with 38 additions and 27 deletions
33
internal/ui/blocks/dialogs/add_transaction.templ
Normal file
33
internal/ui/blocks/dialogs/add_transaction.templ
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
package dialogs
|
||||||
|
|
||||||
|
import "git.juancwu.dev/juancwu/budgit/internal/ui/components/dialog"
|
||||||
|
import "git.juancwu.dev/juancwu/budgit/internal/ui/components/button"
|
||||||
|
import "git.juancwu.dev/juancwu/budgit/internal/ui/components/expense"
|
||||||
|
import "git.juancwu.dev/juancwu/budgit/internal/model"
|
||||||
|
|
||||||
|
templ AddTransaction(space *model.Space, tags []*model.Tag, listsWithItems []model.ListWithUncheckedItems, methods []*model.PaymentMethod) {
|
||||||
|
@dialog.Dialog(dialog.Props{ID: "add-transaction-dialog"}) {
|
||||||
|
@dialog.Trigger() {
|
||||||
|
@button.Button() {
|
||||||
|
Add Transaction
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@dialog.Content() {
|
||||||
|
@dialog.Header() {
|
||||||
|
@dialog.Title() {
|
||||||
|
Add Transaction
|
||||||
|
}
|
||||||
|
@dialog.Description() {
|
||||||
|
Add a new expense or top-up to your space.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@expense.AddExpenseForm(expense.AddExpenseFormProps{
|
||||||
|
Space: space,
|
||||||
|
Tags: tags,
|
||||||
|
ListsWithItems: listsWithItems,
|
||||||
|
PaymentMethods: methods,
|
||||||
|
DialogID: "add-transaction-dialog",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"git.juancwu.dev/juancwu/budgit/internal/ui/components/icon"
|
"git.juancwu.dev/juancwu/budgit/internal/ui/components/icon"
|
||||||
"git.juancwu.dev/juancwu/budgit/internal/ui/components/pagination"
|
"git.juancwu.dev/juancwu/budgit/internal/ui/components/pagination"
|
||||||
"git.juancwu.dev/juancwu/budgit/internal/ui/layouts"
|
"git.juancwu.dev/juancwu/budgit/internal/ui/layouts"
|
||||||
|
"git.juancwu.dev/juancwu/budgit/internal/ui/blocks/dialogs"
|
||||||
)
|
)
|
||||||
|
|
||||||
templ SpaceExpensesPage(space *model.Space, expenses []*model.ExpenseWithTagsAndMethod, balance int, allocated int, tags []*model.Tag, listsWithItems []model.ListWithUncheckedItems, methods []*model.PaymentMethod, currentPage, totalPages int) {
|
templ SpaceExpensesPage(space *model.Space, expenses []*model.ExpenseWithTagsAndMethod, balance int, allocated int, tags []*model.Tag, listsWithItems []model.ListWithUncheckedItems, methods []*model.PaymentMethod, currentPage, totalPages int) {
|
||||||
|
|
@ -18,30 +19,7 @@ templ SpaceExpensesPage(space *model.Space, expenses []*model.ExpenseWithTagsAnd
|
||||||
<div class="space-y-4">
|
<div class="space-y-4">
|
||||||
<div class="flex justify-between items-center">
|
<div class="flex justify-between items-center">
|
||||||
<h1 class="text-2xl font-bold">Expenses</h1>
|
<h1 class="text-2xl font-bold">Expenses</h1>
|
||||||
@dialog.Dialog(dialog.Props{ID: "add-expense-dialog"}) {
|
@dialogs.AddTransaction(space, tags, listsWithItems, methods)
|
||||||
@dialog.Trigger() {
|
|
||||||
@button.Button() {
|
|
||||||
Add Expense
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@dialog.Content() {
|
|
||||||
@dialog.Header() {
|
|
||||||
@dialog.Title() {
|
|
||||||
Add Transaction
|
|
||||||
}
|
|
||||||
@dialog.Description() {
|
|
||||||
Add a new expense or top-up to your space.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@expense.AddExpenseForm(expense.AddExpenseFormProps{
|
|
||||||
Space: space,
|
|
||||||
Tags: tags,
|
|
||||||
ListsWithItems: listsWithItems,
|
|
||||||
PaymentMethods: methods,
|
|
||||||
DialogID: "add-expense-dialog",
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</div>
|
</div>
|
||||||
// Balance Card
|
// Balance Card
|
||||||
@expense.BalanceCard(space.ID, balance, allocated, false)
|
@expense.BalanceCard(space.ID, balance, allocated, false)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue