Skip to content

Blog eclipse improvements#7648

Merged
mhartington merged 3 commits intomainfrom
blog-eclipse-improvments
Mar 13, 2026
Merged

Blog eclipse improvements#7648
mhartington merged 3 commits intomainfrom
blog-eclipse-improvments

Conversation

@mhartington
Copy link
Member

@mhartington mhartington commented Mar 13, 2026

Summary by CodeRabbit

  • New Features

    • Success variant added to button components
    • External link support in navigation with visual indicators
    • UTM tracking parameters integrated into navigation links
    • Button component now supports anchor rendering via href prop
  • Documentation

    • Updated button component documentation with new variants and properties
  • Refactor

    • Button component redesigned to support both button and anchor rendering modes
  • Chores

    • Removed unused image optimization configuration

@vercel
Copy link

vercel bot commented Mar 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Mar 13, 2026 8:57pm
docs Ready Ready Preview, Comment Mar 13, 2026 8:57pm
eclipse Ready Ready Preview, Comment Mar 13, 2026 8:57pm

Request Review

@mhartington mhartington changed the title Blog eclipse improvments Blog eclipse improvements Mar 13, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 13, 2026

Walkthrough

This pull request updates navigation components and the button component library across the blog application and UI packages. Changes include adding external link support to navigation menus, introducing UTM tracking to the web navigation, refactoring the Button component's type system from a single interface to a union type with href-based anchor rendering, and correcting button props in MDX content. A Next.js image optimization setting is removed from the blog configuration.

Changes

Cohort / File(s) Summary
Blog Content & Config
apps/blog/content/blog/.../index.mdx, apps/blog/next.config.mjs
Fixed Button component props (variant spelling, href, className) in MDX; removed images unoptimized config.
Blog Navigation Updates
apps/blog/src/app/(blog)/layout.tsx
Updated tutorial and example links with new URLs; added external flags and utm tracking (source: "website", medium: "blog") to navigation structure.
Blog Components
apps/blog/src/components/PostCard.tsx
Added Button import from eclipse package; added minor spacing adjustments.
Button Component Refactoring
packages/eclipse/src/components/button.tsx
Refactored ButtonProps from single interface to union type (ButtonAsButtonProps | ButtonAsAnchorProps); implemented conditional rendering to return anchor element when href prop provided; updated exports to include Button and buttonVariants.
Button Documentation
apps/eclipse/content/design-system/components/button.mdx
Updated component API documentation to reflect href prop replacing asChild; changed default size from 2xl to lg; added success variant; updated examples and guidance for anchor navigation behavior.
UI Navigation Components
packages/ui/src/components/navigation-menu.tsx, packages/ui/src/components/web-navigation.tsx
Extended MenuNavigationItem and Link interfaces with optional external boolean; added external link styling (target="_blank", rel="noopener noreferrer", arrow icon); extended WebNavigation to accept optional utm prop with source and medium for generating tracked URLs on Login/Signup buttons.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Blog eclipse improvements' is overly broad and vague, referring to 'improvements' without specifying what was actually improved or what the main change entails. Specify the primary change more concretely. Consider: 'Update blog Button component to support href navigation' or 'Migrate blog to eclipse Button component with anchor support' to clarify the main objective.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

📝 Coding Plan
  • Generate coding plan for human review comments

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.

@argos-ci
Copy link

argos-ci bot commented Mar 13, 2026

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Mar 13, 2026, 9:02 PM

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: 3

🧹 Nitpick comments (1)
apps/eclipse/content/design-system/components/button.mdx (1)

239-248: Documentation updates accurately reflect the new Button API.

The changes correctly document:

  • Eight variants (including new success)
  • The href prop for anchor rendering
  • Removal of asChild guidance

One potential inaccuracy: Line 248 states "Built on Radix UI primitives," but the refactored Button component no longer uses Radix (it renders native <button> and <a> elements directly). Consider updating this line if Radix is no longer a dependency of this component.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/eclipse/content/design-system/components/button.mdx` around lines 239 -
248, The docs claim "Built on Radix UI primitives" is now inaccurate for the
Button component; update the documentation in the Button MDX (the Features list)
to remove or reword that line to reflect that Button now renders native <button>
and <a> elements directly (or explicitly state the current implementation), and
ensure any other references to Radix (e.g., guidance about asChild) are removed
or adjusted to match the refactored Button component API.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@apps/blog/src/components/PostCard.tsx`:
- Line 5: The import statement in PostCard.tsx currently includes Button which
is never used; remove Button from the import list (leave Badge and Card) or, if
Button is intended to be used, add the intended usage inside the PostCard
component (reference symbol: Button) so the import is necessary; prefer removing
the unused Button import to clean up the file.

In `@packages/eclipse/src/components/button.tsx`:
- Around line 32-34: The asChild prop is declared in ButtonBaseProps and
destructured in the Button component but never used; remove it from the
ButtonBaseProps type and from any destructuring (e.g., where asChild is
referenced) and delete any related unused conditionals or imports so TypeScript
surfaces errors for consumers; if you intended to support Radix Slot-style
composition instead, implement it explicitly (wire Slot from
`@radix-ui/react-slot` into the Button render path) or otherwise remove asChild
everywhere in the file (including prop types, default props, and docs) so the
prop no longer exists.

In `@packages/ui/src/components/web-navigation.tsx`:
- Around line 103-109: The Login/Get started buttons render literal "undefined"
when the optional utm prop is absent; update the href construction in
web-navigation (the two Button elements inside NavigationMenuItem) to build the
query string only when utm is defined (e.g., compute a utmQuery = utm ?
`?utm_source=${utm.source}&utm_medium=${utm.medium}&utm_campaign=${...}` : '' or
use a small helper like buildUtmQuery(utm)) and append utmQuery to the base URLs
so both Login and signup links never include "undefined" values.

---

Nitpick comments:
In `@apps/eclipse/content/design-system/components/button.mdx`:
- Around line 239-248: The docs claim "Built on Radix UI primitives" is now
inaccurate for the Button component; update the documentation in the Button MDX
(the Features list) to remove or reword that line to reflect that Button now
renders native <button> and <a> elements directly (or explicitly state the
current implementation), and ensure any other references to Radix (e.g.,
guidance about asChild) are removed or adjusted to match the refactored Button
component API.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a00145f3-426c-4289-9dd6-deb2932f8a21

📥 Commits

Reviewing files that changed from the base of the PR and between 56ca92d and 2e4b777.

📒 Files selected for processing (8)
  • apps/blog/content/blog/the-next-evolution-of-prisma-orm/index.mdx
  • apps/blog/next.config.mjs
  • apps/blog/src/app/(blog)/layout.tsx
  • apps/blog/src/components/PostCard.tsx
  • apps/eclipse/content/design-system/components/button.mdx
  • packages/eclipse/src/components/button.tsx
  • packages/ui/src/components/navigation-menu.tsx
  • packages/ui/src/components/web-navigation.tsx
💤 Files with no reviewable changes (1)
  • apps/blog/next.config.mjs

@mhartington mhartington merged commit e3a2e7b into main Mar 13, 2026
10 of 11 checks passed
@mhartington mhartington deleted the blog-eclipse-improvments branch March 13, 2026 21:19
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