refactor(marketing): share the store badges with the mobile launch post

Merged
KI
2mo ago
+27-10

Summary

Follow-up to #7611 and #7655 now that the /mobile page is on main. The launch post stays hidden (draft: true).

  • Promotes StoreBadges from the mobile page folder to [lang]/components/, since the post now uses it too. It reads the launch flag from MobileLaunchProvider instead of taking an isLaunched prop, and takes a source for analytics plus an androidHref (defaults to #android)
  • mobile_store_clicked now carries source: mobile_page from the landing page, blog_superset_mobile from the post, so installs can be attributed to the post
  • Registers StoreBadges as a blog MDX component and uses it as the post's first CTA, replacing the untracked markdown link
  • Post copy: links to /mobile, uses the region-neutral App Store URL that COMPANY.APP_STORE_URL uses, and makes the Android waitlist link relative (/mobile#android)

Launch-day order matters: enable the mobile-launch flag first, then remove the post's draft: true line. With the flag off the badge in the post reads "Coming soon to App Store".

Test plan

  • bun run typecheck, biome, bun test (141 pass), bun run check:i18n (no catalog changes), vale on the post
  • Dev server, flag off: /mobile renders unchanged with both badges pointing at #android; the post (draft line removed locally) renders the badges pointing at /mobile#android, links to /mobile, and has no /us/ store URL
  • Preview with the flag on: App Store badge is live in both places and the click event carries source

Summary by cubic

Shares the store badges between the mobile landing page and the mobile launch post so installs from the post are tracked. The post stays hidden (draft: true).

  • Moves StoreBadges to [lang]/components/ and makes it read the launch flag from MobileLaunchProvider instead of an isLaunched prop.
  • The badges now accept a source and an androidHref (defaults to #android).
  • mobile_store_clicked now reports source: mobile_page on the landing page and blog_superset_mobile on the post.
  • Registers StoreBadges as a blog MDX component and replaces the post's untracked CTA markdown link with it.
  • Updates the post copy to link to /mobile, use the region-neutral App Store URL, and use a relative Android waitlist link.

Rollout

  • Enable the mobile-launch flag before removing the post's draft: true line.
  • With the flag off, the post badge shows "Coming soon to App Store".

Summary by CodeRabbit

  • New Features

    • Added reusable App Store and Google Play badges to blog content.
    • Added support for directing Android badge links to a specified destination.
    • Improved mobile app download tracking across supported badge placements.
  • Updates

    • Updated mobile download links and requirements text in the mobile app blog post.
    • Standardized app store badge behavior between the mobile page and blog content.