Skip to content

feat(support): Buy me a coffee via Polar embedded checkout - #389

Merged
slaveofcode merged 6 commits into
developfrom
feat/buy-me-a-coffee
Sep 11, 2026
Merged

feat(support): Buy me a coffee via Polar embedded checkout#389
slaveofcode merged 6 commits into
developfrom
feat/buy-me-a-coffee

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

Optional support feature integrating Polar (polar.sh).

What

  • Header coffee icon (desktop nav + mobile overflow menu) linking to a new localized /support page with short thank-you copy.
  • '☕ Buy me a coffee' button that opens Polar's embedded checkout overlay. The @polar-sh/checkout embed is bundled first-party and lazy-loaded on click (~4KB chunk) — no third-party <script> tag, and no other page pays for it. Falls back to opening the hosted checkout in a new tab if the overlay can't load.
  • Checkout link in config.ts (POLAR_CHECKOUT_URL — a public payment URL, not a secret); entry points hide when it's unset.
  • Overlay theme follows the site theme. EN + ID copy throughout.

Notes

  • No CSP exists on the site, so nothing to allowlist. Privacy: payment happens on Polar's domain; no data collected by GWT.

Tests

  • E2E e2e/support.spec.ts: /support renders + the button is visible; the header links to /support.
  • Full suite 2259 green; lint 0 errors; build green (both /support/ and /id/support/).

Promote to production: full-screen reading for viewer tools
Promote to production: Video Recorder tool
Promote to production: de-flake fruit-merge E2E
Promote to production: per-tool PWA install
Add an optional support feature: a coffee icon in the header nav and a
localized /support page with a 'Buy me a coffee' button that opens Polar's
embedded checkout overlay. The @polar-sh/checkout embed is bundled
first-party and lazy-loaded on click (~4KB), so no third-party <script>
and no other page pays for it; falls back to opening the hosted checkout
in a new tab. Checkout link lives in config (POLAR_CHECKOUT_URL, a public
payment URL); the entry points hide when it is unset. EN + ID copy.
@slaveofcode
slaveofcode merged commit dee7b18 into develop Sep 11, 2026
2 of 3 checks passed
@slaveofcode
slaveofcode deleted the feat/buy-me-a-coffee branch September 11, 2026 14:21
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