diff --git a/app/page.tsx b/app/page.tsx index de34a12..651227f 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -390,7 +390,7 @@ export default function HomePage() { return `${label} Plan` })()}
- {(typeof subscription.sites_count === 'number' || (subscription.pageview_limit > 0 && typeof subscription.pageview_usage === 'number')) && ( + {(typeof subscription.sites_count === 'number' || (subscription.pageview_limit > 0 && typeof subscription.pageview_usage === 'number') || (subscription.next_invoice_amount_due != null && subscription.next_invoice_currency && !subscription.cancel_at_period_end && (subscription.subscription_status === 'active' || subscription.subscription_status === 'trialing'))) && ({typeof subscription.sites_count === 'number' && ( Sites: {(() => { @@ -398,10 +398,26 @@ export default function HomePage() { return limit != null && typeof subscription.sites_count === 'number' ? `${subscription.sites_count}/${limit}` : subscription.sites_count })()} )} - {typeof subscription.sites_count === 'number' && subscription.pageview_limit > 0 && typeof subscription.pageview_usage === 'number' && ' · '} + {typeof subscription.sites_count === 'number' && (subscription.pageview_limit > 0 && typeof subscription.pageview_usage === 'number') && ' · '} {subscription.pageview_limit > 0 && typeof subscription.pageview_usage === 'number' && ( Pageviews: {subscription.pageview_usage.toLocaleString()}/{subscription.pageview_limit.toLocaleString()} )} + {subscription.next_invoice_amount_due != null && subscription.next_invoice_currency && !subscription.cancel_at_period_end && (subscription.subscription_status === 'active' || subscription.subscription_status === 'trialing') && ( + + Renews {(() => { + const ts = subscription.next_invoice_period_end ?? subscription.current_period_end + const d = ts ? new Date(typeof ts === 'number' ? ts * 1000 : ts) : null + const dateStr = d && !Number.isNaN(d.getTime()) && d.getTime() !== 0 + ? d.toLocaleDateString(undefined, { month: 'short', day: 'numeric', year: 'numeric' }) + : null + const amount = (subscription.next_invoice_amount_due / 100).toLocaleString('en-US', { + style: 'currency', + currency: subscription.next_invoice_currency.toUpperCase(), + }) + return dateStr ? `${dateStr} for ${amount}` : amount + })()} + + )}
)}