feat(supporters): redesign Support Us as tiered Supporters page#913
feat(supporters): redesign Support Us as tiered Supporters page#913dadofsambonzuki wants to merge 12 commits intomainfrom
Conversation
- Rename route /support-us -> /supporters and nav label to 'Supporters' - Rename i18n key supportUs -> supporters across all 8 locales - Add sponsors.tsx config with Explorer/Wayfinder/Cartographer/Navigator/Pioneer tiers - Add Pleb tier with individual supporter avatars (Nathan Day) - Add new PlebSection component with circular avatar grid and always-visible CTA - Add SupportSection component with per-tier colour accents and sponsor logo cards - Add sponsor logos: Spiral, Square (black/white SVG), OpenSats - Split page into Individual Supporters (top) and Industry Sponsors (bottom) sections - Add AppDownloadModal, Modal, SaveButton components and session API routes - Remove verbose intro copy and replace with tight marketing text + button CTAs - Add JSX support to tsconfig for .tsx config files 🤖 Generated with [opencode](https://opencode.ai)
✅ Deploy Preview for btcmap ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
🤖 Generated with [opencode](https://opencode.ai)
There was a problem hiding this comment.
Pull request overview
This PR redesigns the former Support Us page into a new tiered Supporters page at /supporters, updates navigation and attribution links accordingly, and migrates i18n keys from supportUs → supporters across locales.
Changes:
- Replace
/support-uswith/supportersin navigation and map attribution, and introduce a tiered supporters layout (including an Individual Supporters / “Pleb” section). - Add a sponsors/tiers config (
sponsors.tsx) and new Svelte components (SupportSection,PlebSection) to render the new page. - Update i18n locale files and various components to use the new
supporters.*keys; add new supporter logo assets.
Reviewed changes
Copilot reviewed 17 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Enables JSX preservation to support a .tsx config file. |
| static/images/supporters/square.svg | Adds Square logo asset (light). |
| static/images/supporters/square-dark.svg | Adds Square logo asset (dark). |
| static/images/supporters/spiral.svg | Adds Spiral logo asset. |
| static/images/supporters/plebs/nathan-day.jpg | Adds individual supporter avatar. |
| static/images/supporters/opensats.png | Adds OpenSats logo asset. |
| src/routes/supporters/sponsors.tsx | Introduces tiers + sponsors + plebs configuration. |
| src/routes/supporters/components/SupportSection.svelte | New tier card component for org sponsors. |
| src/routes/supporters/components/PlebSection.svelte | New section component for individual supporters + CTA. |
| src/routes/supporters/components/DonationOption.svelte | Updates translation keys from supportUs.* to supporters.*. |
| src/routes/supporters/+page.svelte | New Supporters page layout with pleb + tiered org sponsors + donation UI. |
| src/routes/support-us/components/SupportSection.svelte | Removes old Support Us SupportSection component. |
| src/lib/map/setup.ts | Updates Leaflet attribution support link to /supporters. |
| src/lib/i18n/locales/{en,de,fr,es,nl,pt-BR,ru,bg}.json | Renames supportUs keys to supporters and updates nav labels. |
| src/components/layout/Header.svelte | Updates nav link label/id/url to Supporters. |
| src/components/InvoicePayment.svelte | Updates error key to supporters.qrLoadError. |
Comments suppressed due to low confidence (1)
src/routes/supporters/+page.svelte:121
- These sections introduce new user-facing copy (headings, paragraphs, CTA label) as hardcoded English strings rather than i18n keys. Since the route supports multiple locales, this will cause non-English pages to show English text; consider moving this copy into the
supporterslocale entries and rendering viat(...).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| id: "supporters", | ||
| title: $_("nav.supporters"), | ||
| url: "/supporters", |
There was a problem hiding this comment.
Removing /support-us in favor of /supporters will break existing inbound links/bookmarks unless a redirect is added. Consider adding a lightweight route (e.g., src/routes/support-us/+page.server.ts redirect) so the old URL continues to work.
| <a | ||
| href={ctaHref} | ||
| target="_blank" | ||
| rel="noreferrer" | ||
| class="inline-block rounded-xl border border-link/40 bg-white/60 px-5 py-2.5 text-sm font-semibold text-link transition-colors hover:bg-white dark:bg-slate-900/40 dark:hover:bg-slate-900/70" | ||
| > |
There was a problem hiding this comment.
This CTA opens a new tab (target="_blank") but uses rel="noreferrer" only. Add noopener as well (rel="noopener noreferrer") to prevent window.opener access in some user agents.
| <a | ||
| href={sponsor.url} | ||
| target="_blank" | ||
| rel="noreferrer" |
There was a problem hiding this comment.
Links opened with target="_blank" should include rel="noopener noreferrer" (not just noreferrer) to prevent the new page from accessing window.opener in older/edge user agents.
| rel="noreferrer" | |
| rel="noopener noreferrer" |
🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)
…ions@btcmap.org 🤖 Generated with [opencode](https://opencode.ai)
…pdate all locales 🤖 Generated with [opencode](https://opencode.ai)
🤖 Generated with [opencode](https://opencode.ai)

Summary
/support-usroute and nav label to/supporters/ SupporterssupportUsi18n key tosupportersacross all 8 localessponsors.tsxconfig filePlebSectionand refactoredSupportSectioncomponentsSponsors config
All sponsor data lives in
src/routes/supporters/sponsors.tsx— name, URL, icon, optional dark icon, and tier level. Plebs live in theplebsarray with name, optional URL, and avatar.Notes
Plebtier always shows a Become a Supporter CTA linking to https://geyser.fund/project/btcmap/rewards