Improve marketing pages and demo conversion#654
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe PR adds buyer-focused content sections across four marketing pages and comprehensively redesigns the semver-tester page. The semver-tester changes include extensive UI restyling, accessibility improvements, a new Local Version guide, and restructured informational cards. The four marketing pages follow a consistent pattern: define localized data arrays then render them as new content sections integrated into the page layout. ChangesSemver Tester Page Comprehensive Redesign
Marketing Pages — Buyer-Focused Content Additions
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/web/src/pages/semver_tester.astro`:
- Around line 60-62: The decorative SVG with id "advanced-chevron" (and other
decorative <svg> elements in this file) should be hidden from assistive tech by
adding aria-hidden="true" and focusable="false" to the <svg> tag; update the
<svg id="advanced-chevron" ...> and apply the same attributes to the other
decorative SVG tags referenced in the review so they are not exposed to screen
readers or keyboard focus.
- Around line 37-41: The dynamic status/result containers (e.g., the div with id
"version1-status" and the other "-status" regions referenced) need ARIA live
semantics so screen readers announce updates; update each dynamic div (the
elements with ids like "version1-status" and the other status/result divs) to
include attributes aria-live="polite" role="status" and aria-atomic="true" so
validation and result text are reliably announced when they change.
- Around line 102-185: The switch buttons with role="switch" are icon-only and
lack accessible names; add explicit aria-label attributes to each switch button
(ids: ios-toggle, android-toggle, dev-build-toggle, emulator-toggle,
disable-downgrade-toggle) that mirror their visible labels (e.g., "Allow updates
for iOS", "Allow updates for Android", "Allow development build", "Allow
Emulators", "Disable auto downgrade under native") so screen readers can
announce their purpose; ensure the aria-labels are kept in sync with the
adjacent label text and use the existing ids to locate and update the elements.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: df1f1f04-0d89-47cb-b785-f0500e5fc25f
📒 Files selected for processing (4)
apps/shared/astro-utils.mjsapps/web/src/components/PlatformOverview.astroapps/web/src/pages/index.astroapps/web/src/pages/semver_tester.astro
…m-marketing # Conflicts: # apps/web/src/pages/semver_tester.astro
|
There was a problem hiding this comment.
🧹 Nitpick comments (3)
apps/web/src/pages/live-update.astro (1)
31-50: 🏗️ Heavy liftLocalize the new buyer-outcome copy via message keys.
This section hardcodes English strings on a locale-aware page (
m.*+locale), so localized routes will show mixed-language content.💡 Suggested direction
-const outcomeCards = [ - { title: 'Recover production without waiting on review', text: 'Use live updates ...' }, - ... -] +const outcomeCards = [ + { + title: m.live_update_outcome_card_1_title({}, { locale }), + text: m.live_update_outcome_card_1_text({}, { locale }), + }, + ... +] -<p class="...">Built for release pressure</p> +<p class="...">{m.live_update_buyer_outcome_kicker({}, { locale })}</p>Also applies to: 119-125, 141-148
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/web/src/pages/live-update.astro` around lines 31 - 50, Replace hardcoded English strings in the outcomeCards and decisionCriteria arrays with locale-aware message keys from the m object (e.g., use m['liveUpdate.outcome.title1'][locale] or equivalent message lookup) so the page uses translated strings instead of literal text; update each object in outcomeCards (title, text) and each entry in decisionCriteria to reference the appropriate m.* keys, and apply the same replacement to the other similar hardcoded blocks in this file that present buyer-outcome copy.apps/web/src/pages/enterprise.astro (1)
126-130: 🏗️ Heavy liftLocalize the new enterprise decision-criteria copy.
This added section is English-only while the rest of the page is locale-driven (
m.*), so translated routes will render inconsistent language in a key conversion block.Also applies to: 244-248, 251-258
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/web/src/pages/enterprise.astro` around lines 126 - 130, The new array enterpriseDecisionPoints contains hard-coded English strings which break localization; replace each literal with the corresponding localized entries from the page's i18n/messages object (use the same pattern as other localized content, e.g., m.something) and reference the message keys in the messages file so translated routes render correctly; also update the other hard-coded blocks referenced (around the other occurrences noted) to use localized m.* keys and add the new keys to the translations/messages source.apps/web/src/pages/native-build.astro (1)
157-170: 🏗️ Heavy liftUse
copy(...)keys for the new “Buying guide” content.The newly added section hardcodes English text in a page that otherwise consistently localizes through
copy(...), creating mixed-language output for non-English locales.Also applies to: 335-340, 346-347
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/web/src/pages/native-build.astro` around lines 157 - 170, The buyerChecks array contains hardcoded English strings (title and text) causing mixed-language pages; replace each literal with calls to copy(...) using unique keys (e.g., copy('nativeBuild.buyingGuide.item1.title') and copy('nativeBuild.buyingGuide.item1.text')) for every object in buyerChecks and similarly swap the hardcoded strings at the other occurrences referenced (lines around 335-340 and 346-347) to use appropriate copy(...) keys; ensure keys are added to the localization resource and that buyerChecks uses the copy(...) function for both title and text fields.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@apps/web/src/pages/enterprise.astro`:
- Around line 126-130: The new array enterpriseDecisionPoints contains
hard-coded English strings which break localization; replace each literal with
the corresponding localized entries from the page's i18n/messages object (use
the same pattern as other localized content, e.g., m.something) and reference
the message keys in the messages file so translated routes render correctly;
also update the other hard-coded blocks referenced (around the other occurrences
noted) to use localized m.* keys and add the new keys to the
translations/messages source.
In `@apps/web/src/pages/live-update.astro`:
- Around line 31-50: Replace hardcoded English strings in the outcomeCards and
decisionCriteria arrays with locale-aware message keys from the m object (e.g.,
use m['liveUpdate.outcome.title1'][locale] or equivalent message lookup) so the
page uses translated strings instead of literal text; update each object in
outcomeCards (title, text) and each entry in decisionCriteria to reference the
appropriate m.* keys, and apply the same replacement to the other similar
hardcoded blocks in this file that present buyer-outcome copy.
In `@apps/web/src/pages/native-build.astro`:
- Around line 157-170: The buyerChecks array contains hardcoded English strings
(title and text) causing mixed-language pages; replace each literal with calls
to copy(...) using unique keys (e.g.,
copy('nativeBuild.buyingGuide.item1.title') and
copy('nativeBuild.buyingGuide.item1.text')) for every object in buyerChecks and
similarly swap the hardcoded strings at the other occurrences referenced (lines
around 335-340 and 346-347) to use appropriate copy(...) keys; ensure keys are
added to the localization resource and that buyerChecks uses the copy(...)
function for both title and text fields.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: c20865c4-fb9b-41f0-9d1b-2e0b43731a35
📒 Files selected for processing (4)
apps/web/src/pages/enterprise.astroapps/web/src/pages/live-update.astroapps/web/src/pages/native-build.astroapps/web/src/pages/pricing.astro
✅ Files skipped from review due to trivial changes (1)
- apps/web/src/pages/pricing.astro
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/web/src/components/Hero.astro (1)
236-281:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
h2instead ofh3for top-level feature card headings.Line 236, Line 260, and Line 280 jump from the page
h1toh3. Promote these toh2to keep heading order valid.Suggested fix
- <h3 class="mb-2 text-lg font-semibold text-white">{m.home_hero_outcome_recover_title({}, { locale: Astro.locals.locale })}</h3> + <h2 class="mb-2 text-lg font-semibold text-white">{m.home_hero_outcome_recover_title({}, { locale: Astro.locals.locale })}</h2> - <h3 class="mb-2 text-lg font-semibold text-white">{m.home_hero_outcome_compliance_title({}, { locale: Astro.locals.locale })}</h3> + <h2 class="mb-2 text-lg font-semibold text-white">{m.home_hero_outcome_compliance_title({}, { locale: Astro.locals.locale })}</h2> - <h3 class="mb-2 text-lg font-semibold text-white">{m.home_hero_outcome_observe_title({}, { locale: Astro.locals.locale })}</h3> + <h2 class="mb-2 text-lg font-semibold text-white">{m.home_hero_outcome_observe_title({}, { locale: Astro.locals.locale })}</h2>As per coding guidelines, "Headings must follow proper hierarchy (h1 > h2 > h3)".
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/web/src/components/Hero.astro` around lines 236 - 281, The three feature card headings use h3 but must be promoted to h2 to preserve proper heading hierarchy; replace the <h3> elements that render m.home_hero_outcome_recover_title, m.home_hero_outcome_compliance_title, and m.home_hero_outcome_observe_title with <h2> (keeping the existing classes/props and content) so heading order follows h1 > h2 > h3.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@apps/web/src/components/Hero.astro`:
- Around line 236-281: The three feature card headings use h3 but must be
promoted to h2 to preserve proper heading hierarchy; replace the <h3> elements
that render m.home_hero_outcome_recover_title,
m.home_hero_outcome_compliance_title, and m.home_hero_outcome_observe_title with
<h2> (keeping the existing classes/props and content) so heading order follows
h1 > h2 > h3.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 11671531-d90b-4d12-beca-968702826d4f
📒 Files selected for processing (2)
apps/shared/copy/messages.tsapps/web/src/components/Hero.astro



Summary
Competitive / sales analysis applied
Pages changed
Checks
Summary by CodeRabbit
New Features
Style
Content