Skip to content

Refresh product and solution page design#673

Open
riderx wants to merge 7 commits into
mainfrom
codex/product-solutions-redesign
Open

Refresh product and solution page design#673
riderx wants to merge 7 commits into
mainfrom
codex/product-solutions-redesign

Conversation

@riderx
Copy link
Copy Markdown
Member

@riderx riderx commented May 11, 2026

Summary

  • add a shared light marketing refresh skin for product and solution pages
  • apply it to the homepage, product pages, and solution pages
  • fix plugin docs index initialization so the plugins page renders during the visual pass

Validation

  • bunx prettier --write touched files
  • bunx typos touched files
  • bun run check in apps/web
  • browser screenshots/checks for /live-update/, /plugins/, and /solutions/startups/

Summary by CodeRabbit

  • Style
    • Refreshed visual presentation of the CI/CD setup page with updated styling across hero section, platform support logos, pricing cards, benefits, and call-to-action areas
    • Adjusted header logo spacing for improved layout alignment

Review Change Stack

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 11, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR restyles the CI/CD marketing page with comprehensive Tailwind class and markup updates across all sections (hero, problem/solution, platforms, how-it-works, urgency CTA, build visualizations, stats, benefits, features, expert service, pricing, and final CTA). Supporting changes include header logo spacing adjustment, pluginDocs initialization order fix, and CSS whitespace formatting.

Changes

CI/CD Page Marketing Restyle

Layer / File(s) Summary
Hero Section & CTA Button Rework
apps/web/src/pages/ci_cd.astro
Hero container classes, badge/typography, card padding, and CTA button markup are updated with new flex layouts, radial-gradient overlays, and revised button/link styling.
Problem/Solution Grid Redesign
apps/web/src/pages/ci_cd.astro
Problem and solution cards are reskinned with updated border/background/padding. Checklist icon sizing and "Result" callout wrappers are refreshed.
Platform Logos Flex Layout
apps/web/src/pages/ci_cd.astro
Platform support section switches to flex-wrap/gap layout with revised icon sizing, text spacing, and opacity.
How It Works Steps
apps/web/src/pages/ci_cd.astro
Numbered icon container classes and section heading/container typography are updated.
Urgency CTA Block
apps/web/src/pages/ci_cd.astro
Urgency CTA card border/background/backdrop-blur/padding and CTA link/button classes are revised.
Build Progress Visualization
apps/web/src/pages/ci_cd.astro
Section heading, terminal wrappers, header controls, pulsing SVG sizing, and terminal spacing are restyled for iOS and Android build terminals.
Summary Stats Cards
apps/web/src/pages/ci_cd.astro
Row container and card wrapper spacing/structure are updated.
Benefits Section Cards
apps/web/src/pages/ci_cd.astro
Card backgrounds/borders/hover/blur patterns are refreshed and checkmark SVG classes are updated for sizing/spacing.
Advanced Features Cards
apps/web/src/pages/ci_cd.astro
Outer card padding/border/shadow patterns and list item checkmark SVG classes are restyled.
Expert Setup Service Section
apps/web/src/pages/ci_cd.astro
Floating-orb positioning/size, feature grid card styling, "Most Popular" badge, and icon row layout are updated.
Pricing Section Grid
apps/web/src/pages/ci_cd.astro
Pricing container/card wrappers and cost grid markup are reorganized into a new grid structure; CTA button overlay/styling and SVG sizing are revised.
Final CTA Section
apps/web/src/pages/ci_cd.astro
Heading/paragraph typography spacing and primary/secondary CTA link/button class sets are updated with new overlay gradients and SVG sizing.

Supporting Minor Updates

Layer / File(s) Summary
Header Logo Spacing
apps/web/src/components/Header.astro
Brand logo image element adds pr-1 right padding class.
CSS Rule Formatting
apps/web/src/css/global.css
Blank line inserted between blog.prose table and .blog.prose :is(th, td) rule blocks.
Plugin Docs Initialization Order
apps/web/src/services/pluginDocs.ts
pluginDocsIndexPromise and getPackageSegment are moved after getPluginDocEntry to eliminate forward reference.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 A hop through classes, padding, and grid—
Tailwind sprinkles where pixels hid.
Buttons gleam and cards align,
Small fixes tuck each perfect line.
A little fluff, the site looks spry—hop, high!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Refresh product and solution page design' accurately describes the primary change across the PR: visual/design updates to product and solution pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/product-solutions-redesign

Comment @coderabbitai help to get the list of available commands and usage tips.

@riderx riderx marked this pull request as ready for review May 11, 2026 09:03
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

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/pages/ci_cd.astro (1)

30-36: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add aria-hidden to decorative inline SVGs.

These icons are visual-only (paired with nearby text), so screen readers should ignore them to prevent duplicate announcements. Please add aria-hidden="true" (and ideally focusable="false") consistently.

Suggested pattern
-<svg class="mr-2 h-4 w-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
+<svg class="mr-2 h-4 w-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" focusable="false">

As per coding guidelines "Decorative SVGs must have aria-hidden="true"."

Also applies to: 74-76, 111-117, 125-127, 137-139, 149-151, 161-163, 184-186, 194-196, 206-208, 218-220, 230-232, 253-257, 261-265, 355-357, 387-389, 452-454, 534-536, 542-544, 564-566, 578-585, 604-611, 641-647, 653-655, 676-684, 712-714, 754-761, 781-783, 796-805, 820-825, 838-847, 854-856, 869-876, 925-927, 955-957

🤖 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/ci_cd.astro` around lines 30 - 36, The inline SVGs (e.g.,
the <svg class="mr-2 h-4 w-4"> element shown) are decorative and must be ignored
by assistive tech; update each decorative inline <svg> (including those with
class "mr-2 h-4 w-4") to include aria-hidden="true" and focusable="false"
attributes (and ensure no role or title is present) across all occurrences
listed in the review so screen readers don't announce them.
🧹 Nitpick comments (1)
apps/web/src/css/global.css (1)

307-309: ⚡ Quick win

Avoid coupling logo styling to alt text content.

Line 307 targets header img[alt$='logo']; this is fragile with localization/copy changes and can silently break logo theming. Prefer a stable class or data-attribute selector from Header.astro (for example .site-logo).

🤖 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/css/global.css` around lines 307 - 309, The CSS rule targets
header img[alt$='logo'] which is fragile; update the markup to add a stable
class or data attribute on the logo element (e.g., add class "site-logo" or
data-logo in Header.astro) and then replace the selector in global.css to target
that stable symbol (e.g., .marketing-refresh header .site-logo) instead of
relying on alt text; ensure you remove the alt$='logo' selector and keep the
same filter styles applied to the new selector.
🤖 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/css/global.css`:
- Around line 377-381: The current selector ".marketing-refresh
:where(a.bg-blue-600, a.bg-sky-600, a.bg-cyan-600, a.bg-emerald-600,
a.bg-green-600, a.bg-amber-600, a.bg-orange-600, a.bg-rose-600, a.bg-red-600)"
is removing box-shadow with "!important" and hiding Tailwind focus rings; to
fix, stop suppressing focus by either removing the "box-shadow: none !important"
declaration or scoping it so it does not apply when the element is focused
(e.g., change to ".marketing-refresh :where(...):not(:focus-visible) {
box-shadow: none !important }" and add an explicit ".marketing-refresh
:where(...):focus-visible { box-shadow: var(--tw-ring) !important; outline:
none; }" or, better, remove the "!important" and rely on Tailwind's focus
styles), ensuring keyboard focus rings remain visible while keeping the
non-focused styling.

---

Outside diff comments:
In `@apps/web/src/pages/ci_cd.astro`:
- Around line 30-36: The inline SVGs (e.g., the <svg class="mr-2 h-4 w-4">
element shown) are decorative and must be ignored by assistive tech; update each
decorative inline <svg> (including those with class "mr-2 h-4 w-4") to include
aria-hidden="true" and focusable="false" attributes (and ensure no role or title
is present) across all occurrences listed in the review so screen readers don't
announce them.

---

Nitpick comments:
In `@apps/web/src/css/global.css`:
- Around line 307-309: The CSS rule targets header img[alt$='logo'] which is
fragile; update the markup to add a stable class or data attribute on the logo
element (e.g., add class "site-logo" or data-logo in Header.astro) and then
replace the selector in global.css to target that stable symbol (e.g.,
.marketing-refresh header .site-logo) instead of relying on alt text; ensure you
remove the alt$='logo' selector and keep the same filter styles applied to the
new selector.
🪄 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: 4a577b9d-7dc0-4417-99e6-17c1b8d5812f

📥 Commits

Reviewing files that changed from the base of the PR and between 3e75ff1 and 304a9d8.

📒 Files selected for processing (26)
  • apps/web/src/css/global.css
  • apps/web/src/layouts/Layout.astro
  • apps/web/src/pages/app_mobile.astro
  • apps/web/src/pages/ci_cd.astro
  • apps/web/src/pages/index.astro
  • apps/web/src/pages/integrations.astro
  • apps/web/src/pages/live-update.astro
  • apps/web/src/pages/native-build.astro
  • apps/web/src/pages/plugins.astro
  • apps/web/src/pages/solutions/agencies.astro
  • apps/web/src/pages/solutions/beta-testing.astro
  • apps/web/src/pages/solutions/cordova-to-capacitor-ai.astro
  • apps/web/src/pages/solutions/cordova-to-capacitor.astro
  • apps/web/src/pages/solutions/direct-updates.astro
  • apps/web/src/pages/solutions/ecommerce.astro
  • apps/web/src/pages/solutions/fintech.astro
  • apps/web/src/pages/solutions/healthcare.astro
  • apps/web/src/pages/solutions/ionic-enterprise-plugins.astro
  • apps/web/src/pages/solutions/pr-preview.astro
  • apps/web/src/pages/solutions/production-updates.astro
  • apps/web/src/pages/solutions/qsr.astro
  • apps/web/src/pages/solutions/solo-developers.astro
  • apps/web/src/pages/solutions/startups.astro
  • apps/web/src/pages/solutions/version-targeting.astro
  • apps/web/src/pages/solutions/white-label.astro
  • apps/web/src/services/pluginDocs.ts

Comment thread apps/web/src/css/global.css Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

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/pages/ci_cd.astro (1)

50-57: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use an h2 for the hero callout title.

After the page h1, this jumps straight to h3, which skips a heading level in the document outline. Promote it to h2 or restyle it as non-heading text.

As per coding guidelines **/*.{astro,html,jsx,tsx}: 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/pages/ci_cd.astro` around lines 50 - 57, The hero callout
currently uses an <h3> for the title "What if builds happened <span
class="text-gray-100">automatically on every commit?</span>" which skips a level
after the page <h1>; change that <h3> to an <h2> (keeping the same classes:
"mb-4 text-2xl font-bold text-white") so heading hierarchy is preserved and
visual appearance remains the same, or alternatively replace the element with a
non-heading tag if you intentionally want it excluded from the outline.
🤖 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/css/global.css`:
- Around line 382-386: The current rule .marketing-refresh
:where(a.border-gray-600, a.border-white/30, a.bg-white/5) force-applies white
background and neutral text even on hover/focus, cancelling authored hover
styles; update it to only target the resting state (e.g., scope to the
non-interaction state with :not(:hover):not(:focus) or use a
:where(...):not(:hover):not(:focus) variant) or add matching themed hover/focus
rules for those same selectors (a.border-gray-600, a.border-white/30,
a.bg-white/5) that preserve or map to the intended hover styles (such as keeping
hover:bg-gray-700 behavior) so outlined CTA links regain their hover affordance.
- Around line 282-300: The .marketing-refresh rule flips dark background
utilities (e.g., .bg-gray-900, .bg-gray-800) to white but doesn't remap accent
text like .text-green-400, .text-blue-400, .text-orange-400, causing low
contrast (seen in terminal mockups). Fix by either excluding the specific
terminal/mockup container from the .marketing-refresh selector (so leave
.bg-gray-900/.bg-gray-800 unaffected) or add explicit color overrides inside
.marketing-refresh for the accent classes (e.g., map .marketing-refresh
.text-green-400/.text-blue-400/.text-orange-400 to darker hexs) and update the
CSS block that contains .marketing-refresh rules to include those accent
mappings.

In `@apps/web/src/pages/ci_cd.astro`:
- Around line 268-274: The logo images currently duplicate the adjacent visible
labels (e.g., the <img src="/icons/jenkins.svg"> with the <span>Jenkins</span>
and the <img src="/icons/circleci.svg"> with the <span>CircleCI</span>), causing
screen readers to announce the platform twice; make the images decorative by
setting their alt text to an empty string (alt="") so the accessible name comes
from the visible <span> labels, or alternatively remove the text spans and keep
meaningful alt text—pick one approach consistently for both Jenkins and CircleCI
and update the corresponding <img> and <span> elements accordingly.

---

Outside diff comments:
In `@apps/web/src/pages/ci_cd.astro`:
- Around line 50-57: The hero callout currently uses an <h3> for the title "What
if builds happened <span class="text-gray-100">automatically on every
commit?</span>" which skips a level after the page <h1>; change that <h3> to an
<h2> (keeping the same classes: "mb-4 text-2xl font-bold text-white") so heading
hierarchy is preserved and visual appearance remains the same, or alternatively
replace the element with a non-heading tag if you intentionally want it excluded
from the outline.
🪄 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: da706b45-b01f-4524-a075-94861396ce3a

📥 Commits

Reviewing files that changed from the base of the PR and between 304a9d8 and 3c72004.

📒 Files selected for processing (3)
  • apps/web/src/components/Header.astro
  • apps/web/src/css/global.css
  • apps/web/src/pages/ci_cd.astro
✅ Files skipped from review due to trivial changes (1)
  • apps/web/src/components/Header.astro

Comment thread apps/web/src/css/global.css Outdated
Comment thread apps/web/src/css/global.css Outdated
Comment thread apps/web/src/pages/ci_cd.astro
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 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/ci_cd.astro`:
- Around line 52-54: The hero uses an h3 ("What if builds happened...")
immediately after the page h1, skipping h2; update that element (the <h3> with
class "mb-4 text-2xl font-bold text-white") to an <h2> to restore proper heading
hierarchy, or replace it with a non-heading element (e.g., a styled <div> or
<p>) if it is purely presentational.
- Around line 79-82: The CTA anchor elements (e.g., the <a href="#how-it-works"
class="inline-flex items-center justify-center rounded-xl border border-gray-600
bg-gray-800 px-8 py-4 text-lg font-medium text-white ...">) only have hover
styles and lack visible keyboard focus; update their class list to include a
visible focus style (for example adding focus:outline-none focus-visible:ring-2
focus-visible:ring-offset-2 focus-visible:ring-indigo-500 or a similar
high-contrast ring/outline utility) so that keyboard users see a clear focus
indicator, and apply the same change to the other CTA anchors noted (lines
~350-353 and ~960-963). Ensure the focus style meets contrast and visibility
guidelines.
🪄 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: 61994fbe-05af-4f52-9a67-e6224865a4c7

📥 Commits

Reviewing files that changed from the base of the PR and between 2bd8647 and 5710789.

📒 Files selected for processing (2)
  • apps/web/src/css/global.css
  • apps/web/src/pages/ci_cd.astro
✅ Files skipped from review due to trivial changes (1)
  • apps/web/src/css/global.css

Comment thread apps/web/src/pages/ci_cd.astro Outdated
Comment thread apps/web/src/pages/ci_cd.astro
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