Skip to content

feat: localized header/About + spam-safe contact email + GA analytics fix - #124

Merged
slaveofcode merged 2 commits into
developfrom
feat/about-contact
Aug 2, 2026
Merged

feat: localized header/About + spam-safe contact email + GA analytics fix#124
slaveofcode merged 2 commits into
developfrom
feat/about-contact

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

Addresses several requests:

  • Header shell in Bahasa on /id/ — the '⌘K to search' hint, the Contribute (GitHub) modal, and tooltips/aria-labels now localize (ShellIsland detects language from the URL, updates on astro:page-load).
  • About page moved under [...locale] and fully translated (EN + ID).
  • Contact + tool requests — new section with contact@goodwebtools.com; visitors can request a new tool by emailing it.
  • Spam-safe email — assembled from data-* parts in JS (in Base, re-runs on navigation); the plain address never appears in the HTML (verified: 0 occurrences), with a non-harvestable contact [at] … [dot] com fallback.
  • LangSwitcher + worker geo now treat /about as localized.

Verify

  • lint 0 errors · build 184 pages · /id/about is Bahasa · plain email absent from HTML.

…contact email

- Header shell (ShellIsland) now detects language from the URL and localizes the
  '⌘K to search' hint, the Contribute (GitHub) modal, and all tooltips/aria-labels
  — Bahasa on /id/.
- About page moved under [...locale] and fully translated (EN + ID). New 'Contact &
  tool requests' section: contact@goodwebtools.com, and visitors can request a new
  tool by email.
- Email is spam-safe: assembled from data-attributes in JS (via Base), so the plain
  address never appears in the static HTML. Human-readable 'contact [at] … [dot] com'
  fallback for no-JS.
- LangSwitcher + worker treat /about as localized (switch stays on the page).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubfx4XocHcECaL8twp9zsr
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 2, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
goodwebtools cec78fe Aug 02 2026, 05:07 AM

…ing dropped)

The SITE_GA_ID → PUBLIC_GA_ID → import.meta.env plumbing left gaId empty in
production (Cloudflare build-var/WORKERS_CI plumbing is unreliable), so Google
Analytics never loaded. A GA4 Measurement ID is public anyway (it's in every
visitor's page source), so it now lives in config with a hostname allowlist:
GA only runs on goodwebtools.com / www — forks, staging, previews and localhost
carry the same ID but never report. Cookie-consent gate unchanged; PUBLIC_GA_ID
build var still overrides if present.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubfx4XocHcECaL8twp9zsr
@slaveofcode slaveofcode changed the title feat(i18n+about): localized header, Bahasa About, spam-safe contact email feat: localized header/About + spam-safe contact email + GA analytics fix Aug 2, 2026
@slaveofcode
slaveofcode merged commit 64f7197 into develop Aug 2, 2026
1 of 2 checks passed
@slaveofcode
slaveofcode deleted the feat/about-contact branch August 2, 2026 05:06
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