// Transactions page JavaScript let currentPage = 1; let filters = { category_id: '', start_date: '', end_date: '', search: '' }; // Load transactions async function loadTransactions() { try { const params = new URLSearchParams({ page: currentPage, ...filters }); const data = await apiCall(`/api/expenses/?${params}`); displayTransactions(data.expenses); displayPagination(data.pages, data.current_page, data.total || data.expenses.length); } catch (error) { console.error('Failed to load transactions:', error); } } // Display transactions function displayTransactions(transactions) { const container = document.getElementById('transactions-list'); if (transactions.length === 0) { container.innerHTML = `
No transactions found