fix(dashboard): center revenue empty state - #627
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The latest updates on your projects. Learn more about Unkey Deploy
|
Greptile SummaryThe PR centers the dashboard revenue empty state and substantially replaces Stripe revenue ingestion and query reconciliation with canonical provider identities.
Confidence Score: 3/5The PR should not merge until legacy endpoint ingestion and persisted pre-cutover Stripe revenue remain protected from duplicate counting. Successful invoice-associated PaymentIntents can now be counted alongside unlinked invoice rows, and removing historical reconciliation allows distinct legacy invoice and PaymentIntent records for one payment to contribute simultaneously. Files Needing Attention: apps/basket/src/routes/webhooks/stripe-normalization.ts, packages/ai/src/query/builders/revenue.ts, packages/db/src/clickhouse/revenue.ts Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
S[Stripe webhooks] --> B[Basket normalization]
B --> C[(ClickHouse analytics.revenue)]
C --> Q[Canonical revenue CTE]
Q --> R[Revenue and profile builders]
R --> D[Dashboard and AI analytics]
PI[payment_intent.succeeded] --> B
IP[invoice_payment.paid] --> B
INV[invoice.paid] --> B
|
Summary
Validation
Summary by cubic
Aligns revenue page empty and error states under the analytics toolbar and adds retry for failed loads. Previously empty views could be off-center and errors were silent; now
RevenueContent, the chart, and attribution tables render a centeredEmptyStatewith a minimum height and optional retry.EmptyState; improves X-axis ticks (min gap,dayjsformatting) and wraps legend.Buttoninstead of raw buttons; adds aria labels for copy/toggle controls; keeps copy, routing, and state logic unchanged.Written for commit 37e03ab. Summary will update on new commits.