-
-
Notifications
You must be signed in to change notification settings - Fork 11.4k
Implement new enterprise innovation solution page #42230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Implement new enterprise innovation solution page #42230
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
4 Skipped Deployments
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
WalkthroughThe 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
🚥 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. ✨ Finishing touches
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. Comment |
There was a problem hiding this 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
cnutility is imported but not used anywhere in this file.🔧 Proposed fix
-import { Button, cn } from 'ui' +import { Button } from 'ui'
25-26: Consider removinganytype assertion.The
(content as any)()bypasses TypeScript's type checking. Since thecontentfunction has a properly typed return, you could useReturnType<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 usingnext/imagefor optimized image loading.The logo images use native
<img>tags instead of thenext/imageImagecomponent that's used elsewhere in the codebase. While this works, usingImagewould provide automatic optimization benefits.
| interface CustomerEvidenceSection { | ||
| id: string | ||
| heading: React.ReactNode | ||
| customers: Array<{ | ||
| name: string | ||
| highlights: string[] | ||
| cta?: { | ||
| label: string | ||
| href: string | ||
| } | ||
| }> | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| 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.
| 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', | ||
| }, | ||
| ], | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# First, find the page component that uses aiBuilderEcosystem
fd -t f ".*page.*\.(tsx|ts|jsx|js)$" apps/www | head -20Repository: 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 -lRepository: supabase/supabase
Length of output: 88
🏁 Script executed:
# Search for aiBuilderEcosystem usage with correct syntax
rg "aiBuilderEcosystem" -t ts -t tsxRep 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 fRepository: 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.tsxRepository: 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 -250Repository: 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.tsxRepository: 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.
I have read the CONTRIBUTING.md file.
YES
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.