Extract the AI-categorization upgrade dialog into a shared UpgradeDialog (plan picker -> Stripe checkout) and use it at two more Pro-feature entry points that previously showed a plain "go to billing" dialog: - Connections: "Connect Bank" - Accounts: the "Connected" account option Each passes its own copy and an upsell "source". To measure how much revenue each point drives, the source is captured two ways: - PostHog "upgrade_checkout_started" event at click (intent), and - carried into Stripe as subscription metadata (SubscriptionController), then persisted onto the local "subscriptions.upsell_source" column when the subscription webhook lands (PersistUpsellSourceFromStripe) so revenue can be grouped by point with the existing local tooling. Delete the now-unused UpgradeConnectionDialog. |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| layouts | ||
| lib | ||
| pages | ||
| providers | ||
| services | ||
| types | ||
| utils | ||
| app.tsx | ||
| ssr.tsx | ||