Skip to content

Put GitHub and sponsorship on the site, behind one shared footer - #342

Merged
singhharsh1708 merged 1 commit into
mainfrom
feat/github-sponsor
Aug 26, 2026
Merged

Put GitHub and sponsorship on the site, behind one shared footer#342
singhharsh1708 merged 1 commit into
mainfrom
feat/github-sponsor

Conversation

@singhharsh1708

Copy link
Copy Markdown
Owner

Third of three PRs for the new model.

What

The repo and the sponsors page were never linked from the product, and seven pages each carried their own copy of a footer — so there was nowhere consistent for those links to live.

  • SiteFooter replaces all seven inline footers and adds four pages that had none (templates, privacy, terms, cookies). Verified in the built HTML: all 10 public pages now carry both a GitHub and a sponsor link.
  • SponsorCard states the actual bargain — it's free because it's open source — on the homepage and the pricing page.
  • Navbar gains a GitHub link on desktop and both links in the mobile drawer.
  • README's sponsor section no longer mentions "model calls" or "paid plans" (neither exists) and says plainly that sponsoring unlocks nothing.

No live star count. It would mean an external fetch the page doesn't need and a number that's wrong whenever the request fails.

A bug this work introduced, and how it was caught

The premium template preview passed a fresh styleSpec object literal on every render, and SiteRenderer regenerates its frames whenever that changes identity (SiteRenderer.tsx:134). Once the ownership check gave the component a reason to re-render, generation restarted forever and the page sat on "Rendering frames…" — permanently, for every visitor.

The source reads fine; only rendering it showed the failure. I screenshotted the page headlessly, saw it stuck, isolated it against a free template (which rendered correctly), and memoized the object.

The same screenshots caught a copy bug — JSX collapsing a line break into "sections arewritten" — now fixed with an explicit {" "} and re-verified in the rendered output.

Verified

  • tsc, eslint, next build clean; suite 497 passed.
  • Link coverage counted per page in the built HTML.
  • Pricing, templates gallery and the locked premium preview all checked visually, not just in source.

The repo and the sponsors page were never linked from the product, and seven
pages each carried their own copy of a footer, so there was nowhere consistent
for those links to live.

- SiteFooter replaces all seven inline footers and adds four pages that had none
  (templates, privacy, terms, cookies), so every public page now carries both a
  GitHub and a sponsor link.
- SponsorCard states the actual bargain — it is free because it is open source —
  and sits on the homepage and the pricing page. No live star count: that means
  an external fetch the page does not need and a number that is wrong when the
  request fails.
- The navbar gains a GitHub link on desktop and both links in the mobile drawer.
- The README's sponsor section no longer talks about model calls or paid plans,
  neither of which exists, and states plainly that sponsoring unlocks nothing.

Also fixes a bug this work introduced: the premium template preview passed a
fresh styleSpec object literal on every render, and SiteRenderer regenerates its
frames whenever that changes identity — so once the ownership check gave the
component a reason to re-render, the preview restarted generation forever and
sat on "Rendering frames…". Found by rendering the page headlessly rather than
by reading it.
@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
scrollcraft Ready Ready Preview Aug 26, 2026 9:00pm

@singhharsh1708
singhharsh1708 merged commit a9ade5e into main Aug 26, 2026
3 checks passed
@singhharsh1708
singhharsh1708 deleted the feat/github-sponsor branch August 26, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant