Skip to content

fix(post-publish): 5 UI polish items from PB04 bug-hunt#116

Merged
mastermanas805 merged 1 commit into
mainfrom
fix/post-publish-ui-polish-2026-05-21
May 21, 2026
Merged

fix(post-publish): 5 UI polish items from PB04 bug-hunt#116
mastermanas805 merged 1 commit into
mainfrom
fix/post-publish-ui-polish-2026-05-21

Conversation

@mastermanas805
Copy link
Copy Markdown
Member

Summary

Five small post-publish UI polish items from the PB04 bug-hunt walkthrough:

  • P1 — PricingPage Anonymous Storage cell. Was rendering but plans.yaml has storage_storage_mb: 10 for anonymous; live backend returns a 10 MB 24h-TTL bucket. Cell now reads 10 MB / 24h TTL.
  • P2 — Homepage SERVICES label. Storage (S3) implied AWS S3, but live backend is DO Spaces (S3-compatible). Renamed to Storage (S3-compatible).
  • P3 — PricingPage Team tier price. Was coming soon with no number, read as vaporware. Now $199/mo (per plans.yaml) with the existing soon badge as the availability signal. CTA stays empty until launch.
  • P3 — Docs code-block lang badges. First two /docs code blocks (quickstart + services curl examples) author their fences without a language in the content repo, so they render monochrome with no badge. Added a conservative sniffLang in markdown.tsx that flags unlabelled fences as bash only when the first non-empty line starts with curl|kubectl|npm|docker|git|brew|sudo|.... Explicit fences are never overridden.
  • Bonus — Lighthouse CI gate. Verified .lighthouserc.json thresholds (0.9 perf, 0.95 a11y/best-practices/SEO on desktop preset) are reasonable for the new dark-mode + syntax-highlight changes — no threshold change needed; the CodeBlock additions are ~1 KB and dark mode is CSS-only.

Why the docs fix lives here and not in content

The content repo has no auto-deploy and would need a separate PR + manual sync. Sniffing at render time inside the existing markdown pipeline ships the same user-visible improvement in one PR. The existing "emits no language class when the fence has no language tag" markdown test still passes because the fixture (plain text) isn't shell-ish.

Test plan

  • npm run gate — green (39 files, 678 passed, 3 skipped)
  • npm run build (inside gate) — prerender succeeds
  • Reviewer eyeballs /pricing to confirm Anonymous Storage row + Team price render correctly
  • Reviewer eyeballs / to confirm SERVICES card 5 reads Storage (S3-compatible)
  • Reviewer eyeballs /docs to confirm Quickstart + Services curl blocks now show the bash badge + syntax highlight
  • CI Lighthouse run stays green on main (0.9 perf / 0.95 a11y on desktop)

Per CLAUDE.md repo rule: do not merge — this is PR-protected.

🤖 Generated with Claude Code

…el, Storage(S3) → Object storage; docs code-block lang badges

Five small UI polish items from the PB04 post-publish bug-hunt:

1. PricingPage Anonymous "Storage" cell rendered '—' but plans.yaml has
   storage_storage_mb=10 for anonymous; backend really does return a
   10 MB 24h-TTL bucket. Cell now reads "10 MB / 24h TTL".

2. Homepage SERVICES grid label "Storage (S3)" implied AWS S3, but the
   live backend is DigitalOcean Spaces (S3-compatible, not AWS).
   Renamed to "Storage (S3-compatible)".

3. PricingPage Team tier headline price was "coming soon" with no
   number, which read as vaporware. Now shows "$199/mo" (per
   plans.yaml team tier) with the existing "soon" badge as the
   availability signal. CTA stays empty until launch.

4. The first two code blocks on /docs (quickstart.md, services.md
   curl examples in the InstaNode-dev/content repo) author their
   fences without a language tag (```\ncurl ...\n```), so they
   render monochrome with no badge. Added a conservative sniffLang
   pass in markdown.tsx that flags unlabelled fences as 'bash' only
   when the first non-empty line starts with curl/kubectl/npm/etc.
   Explicit fences are never overridden; the existing "no language
   class when fence has no language tag" test still passes because
   "plain text" isn't shell-ish.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mastermanas805 mastermanas805 merged commit 09644f5 into main May 21, 2026
3 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