Account page: billing, YC perks, integrations, and shared notes - #6982
Merged
Conversation
Cancel-at-period-end still leaves Pro active until the paid period ends, so the account page kept saying "You're on Pro" with no mention of the cancel. Keep Pro access, surface the cancel date from Stripe, and put the same flags on JWT claims. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
✅ Deploy Preview for anarlog ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Existing Pro subscribers were sent to the billing portal on checkout, so emailed YC codes could not be redeemed. Apply the Stripe promotion on the current subscription (and un-cancel if needed), or pre-attach it on Checkout for new subscribers. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
The account page stacked nine sections in one column. A sticky left nav on large screens (and a compact jump list on smaller ones) scrolls to each section and highlights the one in view. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Two Google Calendars both said "Connected." List the account email or Slack workspace instead. Keep actions on one row: Reconnect with the error as a tooltip, and hide Disconnect until the connection is healthy. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Replace the Open / Restrict / Stop sharing pills with a three-dot dropdown, and add a Stop sharing all control (with a confirm tap) at the top of the list. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
The danger area nested a pink alert inside a white card. Flatten it to one red card with the delete copy and Continue action. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Plan status is the more important account section, so it comes first in both the page and the section nav. Invite #referrals links still work. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Nine stacked sections were hard to scan even with a jump list. Group them into three tabs, keep #referrals (and other section hashes) opening the right tab, and send integration callbacks to Connections. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Reconnect-needed rows still show the error on Reconnect hover, but they also keep Disconnect so a revoked connection can be removed without completing OAuth again. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 06886cb. Configure here.
Tab clicks used history.replaceState(null), which dropped router state, and omitted hash so TanStack Router kept #referrals / #integrations. Clear the hash via a navigate updater so the selected tab actually opens. Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Cancel-at-period-end still leaves Pro active until the paid period ends, so the account page kept saying You're on Pro / Thanks for supporting Anarlog even after the Stripe portal showed Cancels Sep 17.
This keeps Pro access through the current period and makes the scheduled cancel visible.
YC founders had a second dead end: paid checkout sends existing subscribers to the billing portal, so an emailed
YC-code never had a place to be redeemed.Scheduled cancel
Cancels September 17, 2026.when Stripe hascancel_at_period_endcancel_at_period_end,current_period_end) as a fallback after session refreshPro remains entitled until the period actually ends. Manage billing still opens the portal so the cancel can be reversed.
YC founder perk
YC-code and applies the Stripe promotion through the API/ycget the same apply path instead of only an emailed codediscounts), instead of hoping the Stripe promo box is available?code=YC-…applies the promotion to an existing subscription instead of bouncing to the portalThe YC verification email does not need to match the Anarlog account email. Verification (or the single-use code) is the proof; the perk is applied to the signed-in Stripe customer.
Account tabs
#referralsand other section hashes still open the matching tabIntegrations
/nango/connectionsreturnsaccount_identityfrom Nango tags and backfills it on first load when missingShared notes
Danger area