Skip to content

Conversation

@ameer2468
Copy link
Contributor

@ameer2468 ameer2468 commented Sep 16, 2025

Summary by CodeRabbit

  • Style
    • Buttons now size to their content instead of stretching, improving consistency across viewports.
    • Home header CTAs wrap with uniform gaps for better responsiveness and alignment.
    • Increased spacing between recording modes for clearer separation.
    • Download and primary CTA buttons use fit-width for tidier layouts and improved readability.
    • Upgrade to Pro card: max width applied on all breakpoints; icon positioning refined for stability.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 16, 2025

Walkthrough

This PR adjusts UI layout/styling for CTAs and buttons across HomePage components: switches button widths to fit-content, updates Header CTA container to a wrapping flex with gaps, increases spacing in RecordingModes, and applies fixed max-width and icon positioning in UpgradeToPro. No logic or public API changes.

Changes

Cohort / File(s) Change summary
CTA/button width to fit-content
apps/web/components/ReadyToGetStarted.tsx, apps/web/components/pages/HomePage/Header.tsx, apps/web/components/pages/HomePage/RecordingModes.tsx
Converted buttons from full-width/responsive widths to content-based width (w-fit/max-w-fit); Header CTA container switched to flex-wrap with gaps; increased vertical spacing in RecordingModes column layout.
UpgradeToPro layout and icon position
apps/web/components/pages/_components/UpgradeToPro.tsx
Applied max-w-[220px] at all breakpoints; fixed Rive icon position to bottom-[22.5%] -left-2, removing responsive offsets.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

codex

Suggested reviewers

  • Brendonovich

Poem

I nudge the pixels, hop by hop,
Buttons shrink to fit—no need to flop.
CTAs now dance, they wrap and align,
A Pro badge twinkles, perfectly fine.
With gentle gaps and tidy flow,
This bunny signs off—ready to go! 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "chore: adjust buttons layout" accurately reflects the PR’s primary change set, which consists of styling and layout adjustments to button components across multiple files (ReadyToGetStarted, Header CTA, RecordingModes, UpgradeToPro). It is concise, uses a conventional commit prefix to indicate a non-functional change, and is clear enough for a teammate scanning history to understand the main intent. The title avoids extraneous detail and correctly summarizes the main change without being misleading.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch adjust-buttons-layout

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@ameer2468 ameer2468 merged commit c89646a into main Sep 16, 2025
14 of 15 checks passed
@ameer2468 ameer2468 deleted the adjust-buttons-layout branch September 16, 2025 14:14
Copy link
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: 0

🧹 Nitpick comments (6)
apps/web/components/pages/_components/UpgradeToPro.tsx (2)

20-20: Make button width content‑based for consistency

All other CTAs moved to w-fit; keeping w-full here makes this one feel wider than intended up to 220px. Recommend w-fit + the cap.

- className="flex overflow-visible w-full max-w-[220px] relative gap-3 justify-evenly items-center cursor-pointer"
+ className="flex overflow-visible w-fit max-w-[220px] relative gap-3 justify-evenly items-center cursor-pointer"

30-30: Remove conflicting vertical positioning (inset-y-0 vs bottom%)

absolute + inset-y-0 + my-auto conflicts with explicit bottom-[22.5%] and fixed height; can cause odd stretching. Drop inset centering when using bottom%.

- <ProRive className="w-[80px] scale-[0.9] h-[62px] bottom-[22.5%] -left-2 absolute inset-y-0 my-auto" />
+ <ProRive className="absolute -left-2 bottom-[22.5%] w-[80px] h-[62px] scale-[0.9]" />
apps/web/components/pages/HomePage/RecordingModes.tsx (1)

160-160: Prevent button label wrapping/CLS

The download label length varies by platform; w-fit can cause wrapping/jitter. Add whitespace-nowrap.

- className="flex justify-center items-center w-fit font-medium"
+ className="flex justify-center items-center w-fit font-medium whitespace-nowrap"
apps/web/components/ReadyToGetStarted.tsx (1)

29-29: Keep CTA text on one line

Match other CTAs and avoid wrap with whitespace-nowrap.

- className="font-medium w-fit"
+ className="font-medium w-fit whitespace-nowrap"
apps/web/components/pages/HomePage/Header.tsx (2)

121-121: Center wrapped CTAs for balance

Optional: add justify-center so two buttons center when wrapping, aligning with other sections.

- className="flex flex-wrap gap-4 items-center mb-5"
+ className="flex flex-wrap gap-4 items-center justify-center mb-5"

135-135: Use w-fit for consistency and add nowrap

Other CTAs use w-fit; max-w-fit alone depends on Button defaults. Also add whitespace-nowrap to avoid label wrap.

- className="flex justify-center items-center font-medium max-w-fit"
+ className="flex justify-center items-center font-medium w-fit whitespace-nowrap"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 401cd7c and 03b6506.

📒 Files selected for processing (4)
  • apps/web/components/ReadyToGetStarted.tsx (1 hunks)
  • apps/web/components/pages/HomePage/Header.tsx (2 hunks)
  • apps/web/components/pages/HomePage/RecordingModes.tsx (2 hunks)
  • apps/web/components/pages/_components/UpgradeToPro.tsx (2 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
apps/web/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

apps/web/**/*.{ts,tsx}: Use TanStack Query v5 for client-side server state and data fetching in the web app
Mutations should call Server Actions and perform precise cache updates with setQueryData/setQueriesData, avoiding broad invalidations
Prefer Server Components for initial data and pass initialData to client components for React Query hydration

Files:

  • apps/web/components/ReadyToGetStarted.tsx
  • apps/web/components/pages/HomePage/RecordingModes.tsx
  • apps/web/components/pages/_components/UpgradeToPro.tsx
  • apps/web/components/pages/HomePage/Header.tsx
{apps/web,packages/ui}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

{apps/web,packages/ui}/**/*.{ts,tsx}: Use Tailwind CSS exclusively for styling in the web app and shared React UI components
Component naming: React components in PascalCase; hooks in camelCase starting with 'use'

Files:

  • apps/web/components/ReadyToGetStarted.tsx
  • apps/web/components/pages/HomePage/RecordingModes.tsx
  • apps/web/components/pages/_components/UpgradeToPro.tsx
  • apps/web/components/pages/HomePage/Header.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

Use strict TypeScript and avoid any; prefer shared types from packages

**/*.{ts,tsx}: Use Biome to format/lint TypeScript with a 2-space indent
TypeScript file names should be kebab-case (e.g., user-menu.tsx)

Files:

  • apps/web/components/ReadyToGetStarted.tsx
  • apps/web/components/pages/HomePage/RecordingModes.tsx
  • apps/web/components/pages/_components/UpgradeToPro.tsx
  • apps/web/components/pages/HomePage/Header.tsx
**/*.{tsx,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

React/Solid components should be named using PascalCase

Files:

  • apps/web/components/ReadyToGetStarted.tsx
  • apps/web/components/pages/HomePage/RecordingModes.tsx
  • apps/web/components/pages/_components/UpgradeToPro.tsx
  • apps/web/components/pages/HomePage/Header.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Build Desktop (aarch64-apple-darwin, macos-latest)
  • GitHub Check: Build Desktop (x86_64-pc-windows-msvc, windows-latest)
  • GitHub Check: Analyze (rust)
🔇 Additional comments (1)
apps/web/components/pages/HomePage/RecordingModes.tsx (1)

151-151: LGTM: clearer spacing on the CTA row

The wrap + spacing reads better on small screens.

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.

2 participants