fix(account): show payment history + next-charge for paid-then-$0 members
Three related changes on /member/account:
1. Payment History section now renders when contributionAmount > 0 OR
past payments exist. Previously a paid member who switched to $0 lost
visibility of their own past charges.
2. New "Next charge: $X on DATE" row renders above the transaction list
when nextPaymentDate is available, using --candle dashed border.
3. server/api/helcim/subscription.get.js now reads dateBilling from
Helcim's GET response and handles data as either object or array.
Helcim's real shape is {data: {id, dateBilling, ...}} — the old code
expected {data: [{nextBillingDate}]} and returned empty strings, so
the Membership-card "Next payment" row never rendered for members
whose cached date was missing. subscription.post.js and
update-contribution.post.js have the same wrong field name in their
CREATE flows; left for a follow-up — the GET refresh masks it.
Manual edit-flow and admin-flow tests also recorded in
docs/LAUNCH_READINESS.md.
This commit is contained in:
parent
a80728f0a8
commit
335a4db7cc
3 changed files with 51 additions and 13 deletions
|
|
@ -19,11 +19,15 @@ export default defineEventHandler(async (event) => {
|
|||
|
||||
try {
|
||||
const response = await getHelcimSubscription(member.helcimSubscriptionId)
|
||||
const subscription = Array.isArray(response)
|
||||
? response[0]
|
||||
: (response?.data?.[0] || response)
|
||||
const data = response?.data
|
||||
const subscription = Array.isArray(data)
|
||||
? data[0]
|
||||
: (data && typeof data === 'object' ? data : response)
|
||||
|
||||
const nextBillingDate = subscription?.nextBillingDate || null
|
||||
// Helcim's GET /subscriptions/:id returns `dateBilling` (YYYY-MM-DD).
|
||||
// POST /subscriptions responses have sometimes been seen with `nextBillingDate`;
|
||||
// accept both so the refresh works regardless of shape.
|
||||
const nextBillingDate = subscription?.dateBilling || subscription?.nextBillingDate || null
|
||||
|
||||
if (nextBillingDate) {
|
||||
const parsed = new Date(nextBillingDate)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue