feat(expense): add refresh functionality to expense list
This commit is contained in:
parent
4a01371fad
commit
93cdaab2c2
@ -26,7 +26,11 @@ class _ExpenseMainScreenState extends State<ExpenseMainScreen> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
expenseController.fetchExpenses(); // Load expenses from API
|
||||
expenseController.fetchExpenses();
|
||||
}
|
||||
|
||||
void _refreshExpenses() {
|
||||
expenseController.fetchExpenses();
|
||||
}
|
||||
|
||||
@override
|
||||
@ -41,6 +45,7 @@ class _ExpenseMainScreenState extends State<ExpenseMainScreen> {
|
||||
searchController: searchController,
|
||||
onChanged: (value) => searchQuery.value = value,
|
||||
onFilterTap: _openFilterBottomSheet,
|
||||
onRefreshTap: _refreshExpenses,
|
||||
),
|
||||
_ToggleButtons(isHistoryView: isHistoryView),
|
||||
Expanded(
|
||||
@ -217,15 +222,18 @@ class _ExpenseAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||
}
|
||||
|
||||
// Search and Filter Widget
|
||||
|
||||
class _SearchAndFilter extends StatelessWidget {
|
||||
final TextEditingController searchController;
|
||||
final ValueChanged<String> onChanged;
|
||||
final VoidCallback onFilterTap;
|
||||
final VoidCallback onRefreshTap;
|
||||
|
||||
const _SearchAndFilter({
|
||||
required this.searchController,
|
||||
required this.onChanged,
|
||||
required this.onFilterTap,
|
||||
required this.onRefreshTap,
|
||||
});
|
||||
|
||||
@override
|
||||
@ -260,6 +268,18 @@ class _SearchAndFilter extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
MySpacing.width(8),
|
||||
Tooltip(
|
||||
message: 'Refresh Data',
|
||||
child: InkWell(
|
||||
borderRadius: BorderRadius.circular(24),
|
||||
onTap: onRefreshTap,
|
||||
child: const Padding(
|
||||
padding: EdgeInsets.all(0),
|
||||
child: Icon(Icons.refresh, color: Colors.green, size: 28),
|
||||
),
|
||||
),
|
||||
),
|
||||
MySpacing.width(8),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.tune, color: Colors.black),
|
||||
onPressed: null, // Disabled as per request
|
||||
@ -401,7 +421,6 @@ class _ExpenseList extends StatelessWidget {
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
|
||||
MyText.bodyMedium(
|
||||
expense.expensesType.name,
|
||||
fontWeight: 700,
|
||||
|
Loading…
x
Reference in New Issue
Block a user