diff --git a/src/accounting-app/views/BalancePage.vue b/src/accounting-app/views/BalancePage.vue index 8b6492b..1335021 100644 --- a/src/accounting-app/views/BalancePage.vue +++ b/src/accounting-app/views/BalancePage.vue @@ -98,11 +98,8 @@ async function loadData() { totalIncomeSats.value = balanceData.total_income_sats || 0 totalIncomeFiat.value = balanceData.total_income_fiat || {} - // Filter for pending transactions (flag = '!'), excluding voided ones - // (libra convention: voided keeps '!' flag and carries a 'voided' tag). - pendingTransactions.value = txData.entries.filter( - tx => tx.flag === '!' && !tx.tags?.includes('voided') - ) + // Filter for pending transactions (flag = '!') + pendingTransactions.value = txData.entries.filter(tx => tx.flag === '!') } catch (error) { console.error('[BalancePage] Error loading data:', error) toast.error('Failed to load balance data') diff --git a/src/modules/expenses/views/TransactionsPage.vue b/src/modules/expenses/views/TransactionsPage.vue index fbec2d9..70b560c 100644 --- a/src/modules/expenses/views/TransactionsPage.vue +++ b/src/modules/expenses/views/TransactionsPage.vue @@ -46,10 +46,6 @@ function isExpense(t: Transaction): boolean { return t.tags?.includes('expense-entry') ?? false } -function isVoided(t: Transaction): boolean { - return t.tags?.includes('voided') ?? false -} - const walletKey = computed(() => user.value?.wallets?.[0]?.inkey) // Fuzzy search state and configuration @@ -112,20 +108,17 @@ function formatAmount(amount: number): string { return new Intl.NumberFormat('en-US').format(amount) } -// Get status icon and color. Voided entries (per libra convention) keep -// flag='!' and carry a 'voided' tag — surface that as the icon regardless -// of the underlying flag. -function getStatusInfo(transaction: Transaction) { - if (isVoided(transaction)) { - return { icon: XCircle, color: 'text-muted-foreground', label: 'Voided' } - } - switch (transaction.flag) { +// Get status icon and color based on flag +function getStatusInfo(flag?: string) { + switch (flag) { case '*': return { icon: CheckCircle2, color: 'text-green-600', label: 'Cleared' } case '!': return { icon: Clock, color: 'text-orange-600', label: 'Pending' } case '#': return { icon: Flag, color: 'text-red-600', label: 'Flagged' } + case 'x': + return { icon: XCircle, color: 'text-muted-foreground', label: 'Voided' } default: return null } @@ -335,19 +328,14 @@ onMounted(() => {
+
{{ formatAmount(transaction.amount) }} sats
-+
{{ transaction.fiat_amount.toFixed(2) }} {{ transaction.fiat_currency }}