8000 Implement new enterprise innovation solution page by stylessh · Pull Request #42230 · supabase/supabase · GitHub
[go: up one dir, main page]

Skip to content

Conversation

@stylessh
Copy link
Member
@stylessh stylessh commented Jan 27, 2026

I have read the CONTRIBUTING.md file.

YES

Summary by CodeRabbit

  • New Features
    • AI Builder Ecosystem section showcasing integrated partners and tools.
    • Customer Evidence section featuring customer testimonials and success stories.
    • Innovation Enablement section with implementation resources and strategic options.
    • Customer testimonial and quote components throughout the page.
    • Enhanced Innovation Teams page positioning focused on AI development.

✏️ Tip: You can customize this high-level summary in your review settings.

@stylessh stylessh requested a review from a team as a code owner January 27, 2026 23:27
@vercel
Copy link
vercel bot commented Jan 27, 2026

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

Project Deployment Review Updated (UTC)
docs Ready Ready Preview, Comment Jan 27, 2026 11:35pm
studio-self-hosted Ready Ready Preview, Comment Jan 27, 2026 11:35pm
studio-staging Ready Ready Preview, Comment Jan 27, 2026 11:35pm
zone-www-dot-com Ready Ready Preview, Comment Jan 27, 2026 11:35pm
4 Skipped Deployments
Project Deployment Review Updated (UTC)
cms Ignored Ignored Jan 27, 2026 11:35pm
studio Ignored Ignored Jan 27, 2026 11:35pm
design-system Skipped Skipped Jan 27, 2026 11:35pm
ui-library Skipped Skipped Jan 27, 2026 11:35pm

Request Review

@supabase
Copy link
supabase bot commented Jan 27, 2026

This pull request has been ignored for the connected project xguihxuzqibwxjnimxev because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai
Copy link
Contributor
coderabbitai bot commented Jan 27, 2026

Walkthrough

The Innovation Teams solution page is enhanced with four new TypeScript interfaces (Quote, AIBuilderEcosystemSection, CustomerEvidenceSection, InnovationEnablementSection) in the data layer, adding corresponding concrete data and updating hero/CTA content. The page component is extended with new rendering sections for AI Builder Ecosystem, Customer Evidence, and Innovation Enablement, conditionally rendered based on data availability.

Changes

Cohort / File(s) Summary
Data Structure & Types
apps/www/data/solutions/innovation-teams.tsx
Added four new public interfaces: Quote, AIBuilderEcosystemSection, CustomerEvidenceSection, and InnovationEnablementSection. Expanded data export to include quote, aiBuilderEcosystem, customerEvidence, and innovationEnablement fields. Updated hero content, labels, telemetry actions, and replaced several feature blocks with new equivalents (e.g., dev-pipeline, instant-apis). Adjusted image/logo/avatar usage for new quote and customer data.
Page Component & Rendering
apps/www/pages/solutions/innovation-teams.tsx
Added new UI sections for AI Builder Ecosystem (two-column layout with builder list and logos bar), Customer Evidence (responsive layout with customer logos and CTAs), SecuritySection rendering, and Innovation Enablement (multi-option card layout with decorative connectors). Integrated new imports (Link, Check, ArrowRight, SectionContainer, Button, cn) and conditional rendering logic based on data availability.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is largely incomplete, containing only the CONTRIBUTING.md acknowledgment but missing all required sections: change type, current behavior, new behavior, and additional context. Complete the PR description by specifying the change type (feature), linking relevant issues, describing the new sections added (AI Builder Ecosystem, Customer Evidence, Innovation Enablement), and providing any screenshots or additional context.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Implement new enterprise innovation solution page' is directly related to the changeset, which adds new sections, data structures, and UI components for an enterprise innovation solution page.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings

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.

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

🤖 Fix all issues with AI agents
In `@apps/www/data/solutions/innovation-teams.tsx`:
- Around line 71-82: The CustomerEvidenceSection interface is missing the
customers[].logo property referenced by the data; update the interface
(CustomerEvidenceSection -> customers array item) to include a logo field (e.g.,
logo?: React.ReactNode | string) so the shape matches the actual data used at
the customer entries (lines showing logo values) and TypeScript can validate it.
- Around line 193-220: The aiBuilderEcosystem object (builders array) is out of
sync with the UI logos: the builders list contains "Claude & Cursor" but the
rendered logo set shows "Tempo" instead; update the source of truth so they
match by either adding Tempo to the builders array or replacing Tempo in the
visual/logo component with Claude & Cursor; locate aiBuilderEcosystem.builders
in apps/www/data/solutions/innovation-teams.tsx and the component that
maps/renders those logos (the logo render function or component that references
Tempo) and make the data and rendered logos consistent.
🧹 Nitpick comments (3)
apps/www/pages/solutions/innovation-teams.tsx (3)

12-12: Unused import: cn.

The cn utility is imported but not used anywhere in this file.

🔧 Proposed fix
-import { Button, cn } from 'ui'
+import { Button } from 'ui'

25-26: Consider removing any type assertion.

The (content as any)() bypasses TypeScript's type checking. Since the content function has a properly typed return, you could use ReturnType<typeof content> or let TypeScript infer the type.

🔧 Proposed fix
 const InnovationTeams: NextPage = () => {
-  const data = (content as any)()
+  const data = content()
   return (

102-108: Consider using next/image for optimized image loading.

The logo images use native <img> tags instead of the next/image Image component that's used elsewhere in the codebase. While this works, using Image would provide automatic optimization benefits.

Comment on lines +71 to +82
interface CustomerEvidenceSection {
id: string
heading: React.ReactNode
customers: Array<{
name: string
highlights: string[]
cta?: {
label: string
href: string
}
}>
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Missing logo property in CustomerEvidenceSection interface.

The interface doesn't include the logo property for customers, but the data at lines 286 and 300 defines logo values. This causes a type mismatch and the TypeScript compiler won't catch errors related to the logo field.

🔧 Proposed fix
 interface CustomerEvidenceSection {
   id: string
   heading: React.ReactNode
   customers: Array<{
     name: string
+    logo?: string
     highlights: string[]
     cta?: {
       label: string
       href: string
     }
   }>
 }
📝 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.

Suggested change
interface CustomerEvidenceSection {
id: string
heading: React.ReactNode
customers: Array<{
name: string
highlights: string[]
cta?: {
label: string
href: string
}
}>
}
interface CustomerEvidenceSection {
id: string
heading: React.ReactNode
customers: Array<{
name: string
logo?: string
highlights: string[]
cta?: {
label: string
href: string
}
}>
}
🤖 Prompt for AI Agents
In `@apps/www/data/solutions/innovation-teams.tsx` around lines 71 - 82, The
CustomerEvidenceSection interface is missing the customers[].logo property
referenced by the data; update the interface (CustomerEvidenceSection ->
6880

customers array item) to include a logo field (e.g., logo?: React.ReactNode |
string) so the shape matches the actual data used at the customer entries (lines
showing logo values) and TypeScript can validate it.

Comment on lines +193 to +220
aiBuilderEcosystem: {
id: 'ai-builder-ecosystem',
heading: (
<>
Your AI Tools <span className="text-foreground">Already Choose Supabase</span>
</>
),
subheading:
'Every major AI builder integrates with Supabase by default. One backend, infinite possibilities:',
builders: [
{
name: 'Lovable & Bolt',
description: 'Full-stack applications in minutes',
},
{
name: 'Vercel v0',
description: 'Component to production pipeline',
},
{
name: 'Claude & Cursor',
description: 'AI-powered local development',
},
{
name: 'Figma',
description: 'Design to database in hours',
},
],
},
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, find the page component that uses aiBuilderEcosystem
fd -t f ".*page.*\.(tsx|ts|jsx|js)$" apps/www | head -20

Repository: supabase/supabase

Length of output: 710


🏁 Script executed:

# Search for where aiBuilderEcosystem is imported or used
rg "aiBuilderEcosystem" --type tsx --type ts --type jsx --type js -l

Repository: supabase/supabase

Length of output: 88


🏁 Script executed:

# Search for aiBuilderEcosystem usage with correct syntax
rg "aiBuilderEcosystem" -t ts -t tsx

Rep A240 ository: supabase/supabase

Length of output: 88


🏁 Script executed:

# Also search for solutions page that might render this
fd "solutions" -t f apps/www --include="*.tsx" --include="*.ts"

Repository: supabase/supabase

Length of output: 281


🏁 Script executed:

# Search for aiBuilderEcosystem usage
rg "aiBuilderEcosystem"

Repository: supabase/supabase

Length of output: 744


🏁 Script executed:

# Find solutions related files
fd "solutions" apps/www -type f

Repository: supabase/supabase

Length of output: 231


🏁 Script executed:

# Read the page component file to see how it renders aiBuilderEcosystem
wc -l apps/www/pages/solutions/innovation-teams.tsx

Repository: supabase/supabase

Length of output: 110


🏁 Script executed:

# Read the page component around the area that likely renders the builders
cat -n apps/www/pages/solutions/innovation-teams.tsx | head -250

Repository: supabase/supabase

Length of output: 12248


🏁 Script executed:

# Read the data file to verify the builders array
sed -n '193,220p' apps/www/data/solutions/innovation-teams.tsx

Repository: supabase/supabase

Length of output: 854


Align visual logos with data builders in AI Builder Ecosystem section.

The data lists four builders (Lovable & Bolt, Vercel v0, Claude & Cursor, Figma), but the visual representation on the right displays five logos: Lovable, Bolt, v0, Figma, and Tempo. Claude & Cursor is missing from the visual, while Tempo appears only in the visual but not in the data. Update either the visual logos or the data to maintain consistency.

🤖 Prompt for AI Agents
In `@apps/www/data/solutions/innovation-teams.tsx` around lines 193 - 220, The
aiBuilderEcosystem object (builders array) is out of sync with the UI logos: the
builders list contains "Claude & Cursor" but the rendered logo set shows "Tempo"
instead; update the source of truth so they match by either adding Tempo to the
builders array or replacing Tempo in the visual/logo component with Claude &
Cursor; locate aiBuilderEcosystem.builders in
apps/www/data/solutions/innovation-teams.tsx and the component that maps/renders
those logos (the logo render function or component that references Tempo) and
make the data and rendered logos consistent.

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

0