Skip to content

Promote: GA fix + localized header/About + contact email - #125

Merged
slaveofcode merged 3 commits into
mainfrom
develop
Aug 2, 2026
Merged

Promote: GA fix + localized header/About + contact email#125
slaveofcode merged 3 commits into
mainfrom
develop

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

Promotes #124 — GA4 analytics fix (hardcoded ID + hostname guard), Bahasa header + About page, spam-safe contact@goodwebtools.com.

Kresna and others added 3 commits August 2, 2026 11:49
…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
…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
feat: localized header/About + spam-safe contact email + GA analytics fix
@slaveofcode
slaveofcode merged commit 817f729 into main Aug 2, 2026
2 checks passed
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