fix(#44): pin expense filter chips directly under tabs

Hoist the date-range filter chip group and divider out of the
LazyColumn and into a Column wrapper, so the chips sit directly
under the Expenses/Recurring tabs and the list fills the rest of
the page. Previously the chips were the first item of the
LazyColumn, which left a large empty area between the tabs and
the chips.

Also add Modifier.fillMaxSize() to the Recurring tab's LazyColumn
so it fills the pager page (no chips to hoist, but the layout
is now consistent with the Expenses tab).
This commit is contained in:
Achmad Setyabudi Susilo
2026-06-28 21:57:16 +07:00
parent 7963ac55e2
commit 0977e34a2d
@@ -270,29 +270,28 @@ private fun ExpensesTabContent(
return
}
LazyColumn(
contentPadding = contentPadding,
) {
item {
SingleSelectFilterChipGroup(
options = DateRangeFilter.entries.map { it to stringResource(it.labelRes()) },
selectedOption = dateRangeFilter to stringResource(dateRangeFilter.labelRes()),
onSelectionChanged = { (filter, _) -> screenModel.setDateRangeFilter(filter) },
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 4.dp),
)
}
item {
HorizontalDivider(modifier = Modifier.padding(vertical = 8.dp))
}
items(items = expenses, key = { it.expense.id }) { item ->
ExpenseRow(
item = item,
onClick = { onExpenseClick(item.expense.id) },
onLongClick = { onExpenseLongClick(item.expense.id) },
)
HorizontalDivider()
Column(modifier = Modifier.fillMaxSize()) {
SingleSelectFilterChipGroup(
options = DateRangeFilter.entries.map { it to stringResource(it.labelRes()) },
selectedOption = dateRangeFilter to stringResource(dateRangeFilter.labelRes()),
onSelectionChanged = { (filter, _) -> screenModel.setDateRangeFilter(filter) },
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 4.dp),
)
HorizontalDivider(modifier = Modifier.padding(vertical = 8.dp))
LazyColumn(
modifier = Modifier.fillMaxSize(),
contentPadding = contentPadding,
) {
items(items = expenses, key = { it.expense.id }) { item ->
ExpenseRow(
item = item,
onClick = { onExpenseClick(item.expense.id) },
onLongClick = { onExpenseLongClick(item.expense.id) },
)
HorizontalDivider()
}
}
}
}
@@ -318,6 +317,7 @@ private fun RecurringTabContent(
}
LazyColumn(
modifier = Modifier.fillMaxSize(),
contentPadding = contentPadding,
) {
items(items = recurring, key = { it.recurring.id }) { item ->