Files
supabase/apps/www/components/Partners/PartnerIntakeForm.tsx
51a167d910 feat(www): partners landing page (#47874)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added a redesigned Partners page with partnership options, benefits,
application steps, FAQs, integration resources, and featured partners.
- Added an on-page partner application form with questions tailored to
the selected partnership type.
- Added a confirmation message with next steps and a link to the OAuth
integration guide.
- **Bug Fixes**
- Updated partner application links to open the form on the Partners
page.
  - Added support for checkbox-group fields in forms.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Alan Daniel <stylesshjs@gmail.com>
Co-authored-by: Alex Hall <alex.hall@supabase.io>
Co-authored-by: Dion Zeneli <101271736+Dionysos288@users.noreply.github.com>
2026-09-25 15:53:32 +02:00

34 lines
1.3 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { MarketingForm } from 'marketing/forms'
import { parseAsString, useQueryState } from 'nuqs'
import { fields } from './PartnerIntakeForm.fields'
// Keep in sync with the thank-you message on the HubSpot form.
const successMessage = `We appreciate your interest in partnering with Supabase. Our team reviews every submission, and if there’s a good fit with the program you’ve expressed interest in, we’ll be in touch to discuss next steps.
If you’re a technology partner looking to get a head start, you can begin building your OAuth integration today using our [integration guide](/docs/guides/integrations/build-a-supabase-oauth-integration).`
interface PartnerIntakeFormProps {
className?: string
}
export default function PartnerIntakeForm({ className }: PartnerIntakeFormProps) {
const [partnerType] = useQueryState('partner_type', parseAsString.withDefault(''))
return (
<MarketingForm
// forces a remount so the partnerType preset
// applies whenever the URL value changes.
key={partnerType}
className={className}
fields={fields}
submitLabel="Submit application"
formRef={{ slug: 'partners', formId: 'become-a-partner' }}
successMessage={successMessage}
initialValues={partnerType ? { partner_type: partnerType } : undefined}
/>
)
}