diff --git a/client/pages/SubscriptionsPage.jsx b/client/pages/SubscriptionsPage.jsx index 5ce773b..8b67f29 100644 --- a/client/pages/SubscriptionsPage.jsx +++ b/client/pages/SubscriptionsPage.jsx @@ -319,6 +319,30 @@ function SubscriptionRow({ item, onEdit, onToggle, moveControls, dragProps, busy Paused — not actively tracked )} + {!!item.autopay_enabled && ( + + + AP + + Autopay enabled + + )} + {!!item.has_2fa && ( + + + 2FA + + Two-factor authentication configured + + )} + {(!!item.has_merchant_rule || !!item.has_linked_transactions) && ( + + + L + + Linked to bank transactions + + )}
diff --git a/services/subscriptionService.js b/services/subscriptionService.js index 7758b3d..c22e21c 100644 --- a/services/subscriptionService.js +++ b/services/subscriptionService.js @@ -509,7 +509,10 @@ function getSubscriptions(db, userId) { SELECT b.*, b.catalog_id, c.name AS category_name, CASE WHEN EXISTS( SELECT 1 FROM bill_merchant_rules WHERE bill_id = b.id AND user_id = b.user_id - ) THEN 1 ELSE 0 END AS has_merchant_rule + ) THEN 1 ELSE 0 END AS has_merchant_rule, + CASE WHEN EXISTS( + SELECT 1 FROM transactions WHERE matched_bill_id = b.id AND match_status = 'matched' + ) THEN 1 ELSE 0 END AS has_linked_transactions FROM bills b LEFT JOIN categories c ON c.id = b.category_id AND c.user_id = b.user_id AND c.deleted_at IS NULL WHERE b.user_id = ?