Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughAdds a Prisma Partners landing page and supporting components: a Tally form embed, partners comparison table with tooltips, Quote and Tooltip UI components, expanded global CSS utilities, and a TypeScript global declaration for Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 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/site/src/app/partners/page.tsx`:
- Around line 161-164: The exported metadata currently reuses SITE_HOME_TITLE
and SITE_HOME_DESCRIPTION causing the /partners route to inherit home-page SEO;
update the exported metadata object (export const metadata: Metadata) to use
partners-specific values—either replace with new constants like PARTNERS_TITLE
and PARTNERS_DESCRIPTION or inline the appropriate strings—and add/update the
corresponding constant definitions or imports so the /partners page has its own
title and description for correct SEO/social snippets.
In `@apps/site/src/components/partners/partners-table.tsx`:
- Around line 102-119: The CTA anchor tags in partners-table.tsx (the <a>
elements with className "link-btn orm") currently use broken placeholders
href="#"—replace each href="#" with the real in-page anchor (e.g. "#contact") or
the appropriate contact URL to point users to the contact section; then add a
matching target id (e.g. id="contact") to the contact section in
apps/site/src/app/partners/page.tsx so the links resolve correctly (update the
four anchor instances in partners-table.tsx and the contact section element in
page.tsx).
In `@packages/eclipse/src/styles/globals.css`:
- Around line 596-607: The hover styles for .link-btn.orm:hover and
.link-btn.ppg:hover currently use reverse/white tokens which reduce readability
on light backgrounds; update those selectors to use the corresponding strong
brand foreground tokens (e.g., use --color-foreground-orm or
--color-foreground-orm-strong for .link-btn.orm:hover and --color-foreground-ppg
or --color-foreground-ppg-strong for .link-btn.ppg:hover) so hover text stays
within brand foreground colors rather than reverse; ensure the selectors
.link-btn.orm:hover and .link-btn.ppg:hover are changed accordingly and keep the
non-italic child underline rule (.link-btn > *:not(i)) intact.
In `@packages/ui/src/components/quote.tsx`:
- Around line 40-43: The separator is currently rendered whenever author.company
is truthy, which can produce a leading separator if author.title is absent;
update the conditional around the Separator (and the surrounding fragment in the
JSX that currently checks author.company) to require both author.title &&
author.company so the Separator and following span are only rendered when both
fields exist (look for the JSX block that references author.company, Separator,
and the span).
- Line 21: The Quote component currently wraps arbitrary children in a <span>
which can cause invalid block-in-inline nesting when callers pass block
elements; change the inline wrapper to a block-level element (replace the <span
className="font-sans-display contents font-bold"> around {children} with a <div>
preserving the same className and styling) inside
packages/ui/src/components/quote.tsx so block children like <p> are valid;
ensure no other layout or styling expectations rely on the element being inline
and adjust styles if needed.
In `@packages/ui/src/components/tooltip-info.tsx`:
- Around line 18-20: The TooltipTrigger currently uses a non-focusable <i>
element in tooltip-info.tsx which breaks keyboard accessibility; replace that
child with a focusable <button> (keep TooltipTrigger asChild) using
type="button" and an accessible label (aria-label or visible
text/visually-hidden span) that describes the tooltip, and move any icon classes
(fa-solid fa-circle-info cursor-help) onto the button so styling/appearance
remain unchanged while ensuring keyboard and screen-reader users can focus and
activate the trigger.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: b877680a-f671-4255-9b5a-1d0efb64f736
⛔ Files ignored due to path filters (6)
apps/site/public/illustrations/partners/partners_0.svgis excluded by!**/*.svgapps/site/public/illustrations/partners/partners_0_light.svgis excluded by!**/*.svgapps/site/public/illustrations/partners/partners_1.svgis excluded by!**/*.svgapps/site/public/illustrations/partners/partners_1_light.svgis excluded by!**/*.svgapps/site/public/illustrations/partners/partners_2.svgis excluded by!**/*.svgapps/site/public/illustrations/partners/partners_2_light.svgis excluded by!**/*.svg
📒 Files selected for processing (9)
apps/site/public/photos/people/arnau.avifapps/site/public/photos/people/sam-goodwin.avifapps/site/src/app/partners/page.tsxapps/site/src/components/partners/form.tsxapps/site/src/components/partners/partners-table.tsxapps/site/src/types/global.d.tspackages/eclipse/src/styles/globals.csspackages/ui/src/components/quote.tsxpackages/ui/src/components/tooltip-info.tsx
| export const metadata: Metadata = { | ||
| title: SITE_HOME_TITLE, | ||
| description: SITE_HOME_DESCRIPTION, | ||
| }; |
There was a problem hiding this comment.
Use partners-specific metadata instead of home-page metadata.
At Lines 162-163, this route inherits home title/description. Set dedicated metadata for /partners to avoid incorrect SEO/social snippets.
Proposed fix
export const metadata: Metadata = {
- title: SITE_HOME_TITLE,
- description: SITE_HOME_DESCRIPTION,
+ title: "Prisma Partners",
+ description:
+ "Embed Prisma Postgres, Studio, and deployment workflows into your platform with partner-ready pricing and integration support.",
};🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/site/src/app/partners/page.tsx` around lines 161 - 164, The exported
metadata currently reuses SITE_HOME_TITLE and SITE_HOME_DESCRIPTION causing the
/partners route to inherit home-page SEO; update the exported metadata object
(export const metadata: Metadata) to use partners-specific values—either replace
with new constants like PARTNERS_TITLE and PARTNERS_DESCRIPTION or inline the
appropriate strings—and add/update the corresponding constant definitions or
imports so the /partners page has its own title and description for correct
SEO/social snippets.
| <a href="#" className="link-btn orm"> | ||
| Get in touch | ||
| </a> | ||
| </TableCell> | ||
| <TableCell className="border-r"> | ||
| <a href="#" className="link-btn orm"> | ||
| Get in touch | ||
| </a> | ||
| </TableCell> | ||
| <TableCell className="border-r"> | ||
| <a href="#" className="link-btn orm"> | ||
| Get in touch | ||
| </a> | ||
| </TableCell> | ||
| <TableCell> | ||
| <a href="#" className="link-btn orm"> | ||
| Get in touch | ||
| </a> |
There was a problem hiding this comment.
Replace placeholder CTA URLs with a real destination.
At Lines 102/107/112/117, href="#" is a broken CTA path for users. Point these links to the actual contact section.
Proposed fix
- <a href="#" className="link-btn orm">
+ <a href="#get-in-touch" className="link-btn orm">
Get in touch
</a>
...
- <a href="#" className="link-btn orm">
+ <a href="#get-in-touch" className="link-btn orm">
Get in touch
</a>
...
- <a href="#" className="link-btn orm">
+ <a href="#get-in-touch" className="link-btn orm">
Get in touch
</a>
...
- <a href="#" className="link-btn orm">
+ <a href="#get-in-touch" className="link-btn orm">
Get in touch
</a>Also add a target id in apps/site/src/app/partners/page.tsx:
- <div className="w-screen px-4">
+ <div id="get-in-touch" className="w-screen px-4">🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/site/src/components/partners/partners-table.tsx` around lines 102 - 119,
The CTA anchor tags in partners-table.tsx (the <a> elements with className
"link-btn orm") currently use broken placeholders href="#"—replace each href="#"
with the real in-page anchor (e.g. "#contact") or the appropriate contact URL to
point users to the contact section; then add a matching target id (e.g.
id="contact") to the contact section in apps/site/src/app/partners/page.tsx so
the links resolve correctly (update the four anchor instances in
partners-table.tsx and the contact section element in page.tsx).
| .link-btn.orm:hover { | ||
| color: var(--color-foreground-orm-reverse); | ||
| } | ||
| .link-btn > *:not(i) { | ||
| text-decoration: underline; | ||
| text-underline-offset: 3px; | ||
| } | ||
| .link-btn.ppg { | ||
| color: var(--color-background-ppg-reverse-strong); | ||
| } | ||
| .link-btn.ppg:hover { | ||
| color: var(--color-foreground-ppg-reverse); |
There was a problem hiding this comment.
Hover colors reduce readability on light backgrounds.
At Lines 596-607, hover text becomes reverse/white, which is hard to read in light sections. Keep hover within strong brand foreground tokens instead.
Proposed fix
.link-btn.orm:hover {
- color: var(--color-foreground-orm-reverse);
+ color: var(--color-foreground-orm-strong);
}
...
.link-btn.ppg:hover {
- color: var(--color-foreground-ppg-reverse);
+ color: var(--color-foreground-ppg-strong);
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| .link-btn.orm:hover { | |
| color: var(--color-foreground-orm-reverse); | |
| } | |
| .link-btn > *:not(i) { | |
| text-decoration: underline; | |
| text-underline-offset: 3px; | |
| } | |
| .link-btn.ppg { | |
| color: var(--color-background-ppg-reverse-strong); | |
| } | |
| .link-btn.ppg:hover { | |
| color: var(--color-foreground-ppg-reverse); | |
| .link-btn.orm:hover { | |
| color: var(--color-foreground-orm-strong); | |
| } | |
| .link-btn > *:not(i) { | |
| text-decoration: underline; | |
| text-underline-offset: 3px; | |
| } | |
| .link-btn.ppg { | |
| color: var(--color-background-ppg-reverse-strong); | |
| } | |
| .link-btn.ppg:hover { | |
| color: var(--color-foreground-ppg-strong); | |
| } |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/eclipse/src/styles/globals.css` around lines 596 - 607, The hover
styles for .link-btn.orm:hover and .link-btn.ppg:hover currently use
reverse/white tokens which reduce readability on light backgrounds; update those
selectors to use the corresponding strong brand foreground tokens (e.g., use
--color-foreground-orm or --color-foreground-orm-strong for .link-btn.orm:hover
and --color-foreground-ppg or --color-foreground-ppg-strong for
.link-btn.ppg:hover) so hover text stays within brand foreground colors rather
than reverse; ensure the selectors .link-btn.orm:hover and .link-btn.ppg:hover
are changed accordingly and keep the non-italic child underline rule (.link-btn
> *:not(i)) intact.
| className, | ||
| )} | ||
| > | ||
| <span className="font-sans-display contents font-bold">{children}</span> |
There was a problem hiding this comment.
Avoid invalid block-in-inline nesting for quote content.
At Line 21, wrapping arbitrary children in <span> is unsafe because callers pass block elements (<p>). Use a block wrapper (div) instead.
Proposed fix
- <span className="font-sans-display contents font-bold">{children}</span>
+ <div className="font-sans-display font-bold">{children}</div>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <span className="font-sans-display contents font-bold">{children}</span> | |
| <div className="font-sans-display font-bold">{children}</div> |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/ui/src/components/quote.tsx` at line 21, The Quote component
currently wraps arbitrary children in a <span> which can cause invalid
block-in-inline nesting when callers pass block elements; change the inline
wrapper to a block-level element (replace the <span className="font-sans-display
contents font-bold"> around {children} with a <div> preserving the same
className and styling) inside packages/ui/src/components/quote.tsx so block
children like <p> are valid; ensure no other layout or styling expectations rely
on the element being inline and adjust styles if needed.
| {author.company && ( | ||
| <> | ||
| <Separator orientation="vertical" className="mx-1 h-3.5" /> | ||
| <span |
There was a problem hiding this comment.
Render the separator only when both title and company exist.
Current logic can show a leading separator when only company is present. Gate the separator with author.title && author.company.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/ui/src/components/quote.tsx` around lines 40 - 43, The separator is
currently rendered whenever author.company is truthy, which can produce a
leading separator if author.title is absent; update the conditional around the
Separator (and the surrounding fragment in the JSX that currently checks
author.company) to require both author.title && author.company so the Separator
and following span are only rendered when both fields exist (look for the JSX
block that references author.company, Separator, and the span).
| <TooltipTrigger asChild> | ||
| <i className="fa-solid fa-circle-info cursor-help" /> | ||
| </TooltipTrigger> |
There was a problem hiding this comment.
Use an interactive trigger element for keyboard accessibility.
At Line 19, the tooltip trigger is a plain <i>, so keyboard users can’t focus/activate it. Use a <button> (with an accessible label) as the trigger child.
Proposed fix
interface TooltipInfoProps {
text: string;
+ label?: string;
}
-export function TooltipInfo({ text }: TooltipInfoProps) {
+export function TooltipInfo({ text, label = "More information" }: TooltipInfoProps) {
return (
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
- <i className="fa-solid fa-circle-info cursor-help" />
+ <button type="button" aria-label={label} className="cursor-help">
+ <i aria-hidden="true" className="fa-solid fa-circle-info" />
+ </button>
</TooltipTrigger>
<TooltipContent className="max-w-50 w-full">
<p>{text}</p>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <TooltipTrigger asChild> | |
| <i className="fa-solid fa-circle-info cursor-help" /> | |
| </TooltipTrigger> | |
| interface TooltipInfoProps { | |
| text: string; | |
| label?: string; | |
| } | |
| export function TooltipInfo({ text, label = "More information" }: TooltipInfoProps) { | |
| return ( | |
| <TooltipProvider> | |
| <Tooltip> | |
| <TooltipTrigger asChild> | |
| <button type="button" aria-label={label} className="cursor-help"> | |
| <i aria-hidden="true" className="fa-solid fa-circle-info" /> | |
| </button> | |
| </TooltipTrigger> | |
| <TooltipContent className="max-w-50 w-full"> | |
| <p>{text}</p> | |
| </TooltipContent> | |
| </Tooltip> | |
| </TooltipProvider> | |
| ); | |
| } |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/ui/src/components/tooltip-info.tsx` around lines 18 - 20, The
TooltipTrigger currently uses a non-focusable <i> element in tooltip-info.tsx
which breaks keyboard accessibility; replace that child with a focusable
<button> (keep TooltipTrigger asChild) using type="button" and an accessible
label (aria-label or visible text/visually-hidden span) that describes the
tooltip, and move any icon classes (fa-solid fa-circle-info cursor-help) onto
the button so styling/appearance remain unchanged while ensuring keyboard and
screen-reader users can focus and activate the trigger.
Summary by CodeRabbit
New Features
Style