mirror of
https://github.com/supabase/supabase.git
synced 2026-10-06 18:05:11 +03:00
Added more landing pages for upcoming events (#43412)
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Added landing pages for contests and giveaways at upcoming conferences. Also updated the iPhone 17 Pro Max image with a higher quality one with proper masking.
This commit is contained in:
1 parent
8efac5cffa
commit
cd0e2c9fa9
11 files changed
+370
-7
No files matched your search
@@ -0,0 +1,60 @@
|
||||
import type { GoPageInput } from 'marketing'
|
||||
import Link from 'next/link'
|
||||
import { Button } from 'ui'
|
||||
|
||||
const page: GoPageInput = {
|
||||
template: 'lead-gen',
|
||||
slug: 'accenture-reinvention-2026/contest',
|
||||
metadata: {
|
||||
title: 'Win an iPhone Pro Max | Supabase at Accenture AI & Data Conference (ReinventionX) 2026',
|
||||
description:
|
||||
'Create a Supabase account and load data for a chance to win an iPhone Pro Max. Accenture AI & Data Conference (ReinventionX) 2026.',
|
||||
},
|
||||
hero: {
|
||||
title: 'Win an iPhone Pro Max',
|
||||
subtitle: 'Supabase at Accenture AI & Data Conference 2026',
|
||||
description:
|
||||
'Your team is already building with AI tools. Supabase is the production backend that turns those prototypes into secure, scalable applications. Try it out -- create an account, load some data, and you could win an iPhone Pro Max.',
|
||||
image: {
|
||||
src: '/images/landing-pages/stripe-sessions/iphone17-pro-max.png',
|
||||
alt: 'iPhone Pro Max',
|
||||
width: 400,
|
||||
height: 500,
|
||||
},
|
||||
ctas: [
|
||||
{
|
||||
label: 'Get started',
|
||||
href: '#how-to-enter',
|
||||
variant: 'primary',
|
||||
},
|
||||
],
|
||||
},
|
||||
sections: [
|
||||
{
|
||||
type: 'single-column',
|
||||
id: 'how-to-enter',
|
||||
title: 'How to enter',
|
||||
children: (
|
||||
<div className="flex flex-col items-center gap-6">
|
||||
<ol className="flex flex-col gap-4 text-foreground-light text-lg list-decimal list-inside">
|
||||
<li>Create a Supabase account with the same email where you got our post-event note</li>
|
||||
<li>Load data into a Supabase database</li>
|
||||
<li>Complete these steps by Monday, May 4, 2026 at 12:00 PM PST</li>
|
||||
</ol>
|
||||
<Button asChild type="default" size="medium">
|
||||
<Link href="https://supabase.com/dashboard">Create your account</Link>
|
||||
</Button>
|
||||
<p className="text-xs text-foreground-lighter mt-4">
|
||||
No purchase necessary. Void where prohibited.{' '}
|
||||
<Link href="/go/contest-rules" className="underline">
|
||||
Official rules
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
export default page
|
||||
@@ -0,0 +1,37 @@
|
||||
import type { GoPageInput } from 'marketing'
|
||||
import Link from 'next/link'
|
||||
import { Button } from 'ui'
|
||||
|
||||
const page: GoPageInput = {
|
||||
template: 'thank-you',
|
||||
slug: 'postgresconf-sjc-2026/contest/thank-you',
|
||||
metadata: {
|
||||
title: "You're entered | Supabase at PostgresConf San Jose 2026",
|
||||
description:
|
||||
'Thanks for entering the Supabase contest at PostgresConf San Jose 2026. Good luck!',
|
||||
},
|
||||
hero: {
|
||||
title: 'Thanks for entering',
|
||||
description:
|
||||
"Your contest entry is confirmed. Make sure you've created a Supabase account and loaded data before Monday, May 4, 2026 at 12:00 PM PST. We'll reach out to the winner by email.",
|
||||
},
|
||||
sections: [
|
||||
{
|
||||
type: 'single-column',
|
||||
title: 'Get started with Supabase',
|
||||
description: "If you haven't already, create your account and start building.",
|
||||
children: (
|
||||
<div className="flex flex-col sm:flex-row items-center justify-center gap-4">
|
||||
<Button asChild type="default" size="small">
|
||||
<Link href="https://supabase.com/dashboard">Go to dashboard</Link>
|
||||
</Button>
|
||||
<Button asChild type="outline" size="small">
|
||||
<Link href="https://supabase.com">Visit supabase.com</Link>
|
||||
</Button>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
export default page
|
||||
@@ -0,0 +1,128 @@
|
||||
import type { GoPageInput } from 'marketing'
|
||||
import Link from 'next/link'
|
||||
import { Button } from 'ui'
|
||||
|
||||
const page: GoPageInput = {
|
||||
template: 'lead-gen',
|
||||
slug: 'postgresconf-sjc-2026/contest',
|
||||
metadata: {
|
||||
title: 'Win an iPhone Pro Max | Supabase at PostgresConf San Jose 2026',
|
||||
description:
|
||||
'Sign up for Supabase and enter the contest for a chance to win an iPhone Pro Max. PostgresConf San Jose 2026.',
|
||||
},
|
||||
hero: {
|
||||
title: 'Win an iPhone Pro Max',
|
||||
subtitle: 'Supabase at PostgresConf San Jose 2026',
|
||||
description:
|
||||
'Supabase is Postgres with batteries included -- auth, storage, edge functions, vectors, and real-time, all built on top of the database you already know. Sign up, load some data, and enter below for a chance to win an iPhone Pro Max.',
|
||||
image: {
|
||||
src: '/images/landing-pages/stripe-sessions/iphone17-pro-max.png',
|
||||
alt: 'iPhone Pro Max',
|
||||
width: 400,
|
||||
height: 500,
|
||||
},
|
||||
ctas: [
|
||||
{
|
||||
label: 'Get started',
|
||||
href: '#how-to-enter',
|
||||
variant: 'primary',
|
||||
},
|
||||
],
|
||||
},
|
||||
sections: [
|
||||
{
|
||||
type: 'single-column',
|
||||
id: 'how-to-enter',
|
||||
title: 'How to enter',
|
||||
children: (
|
||||
<div className="flex flex-col items-center gap-6">
|
||||
<ol className="flex flex-col gap-4 text-foreground-light text-lg list-decimal list-inside">
|
||||
<li>Create a Supabase account and note the email address you used</li>
|
||||
<li>Load data into a Supabase database</li>
|
||||
<li>Fill out the entry form below</li>
|
||||
<li>Complete these steps by Monday, May 4, 2026 at 12:00 PM PST</li>
|
||||
</ol>
|
||||
<Button asChild type="default" size="medium">
|
||||
<Link href="https://supabase.com/dashboard">Create your account</Link>
|
||||
</Button>
|
||||
<p className="text-xs text-foreground-lighter mt-4">
|
||||
No purchase necessary. Void where prohibited.{' '}
|
||||
<Link href="/go/contest-rules" className="underline">
|
||||
Official rules
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
type: 'form',
|
||||
id: 'enter-contest',
|
||||
title: 'Enter the contest',
|
||||
description: 'Fill out the form below to complete your entry.',
|
||||
fields: [
|
||||
{
|
||||
type: 'text',
|
||||
name: 'first_name',
|
||||
label: 'First Name',
|
||||
placeholder: 'First Name',
|
||||
required: true,
|
||||
half: true,
|
||||
},
|
||||
{
|
||||
type: 'text',
|
||||
name: 'last_name',
|
||||
label: 'Last Name',
|
||||
placeholder: 'Last Name',
|
||||
required: true,
|
||||
half: true,
|
||||
},
|
||||
{
|
||||
type: 'email',
|
||||
name: 'email_address',
|
||||
label: 'Email',
|
||||
placeholder: 'Email address',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'text',
|
||||
name: 'company_name',
|
||||
label: 'Company',
|
||||
placeholder: 'Company name',
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
submitLabel: 'Enter contest',
|
||||
successRedirect: '/go/postgresconf-sjc-2026/contest/thank-you',
|
||||
disclaimer:
|
||||
'By submitting this form, I confirm that I have read and understood the [Privacy Policy](https://supabase.com/privacy) and the [Official Rules](/go/contest-rules).',
|
||||
crm: {
|
||||
hubspot: {
|
||||
formGuid: '1f508323-bd39-497d-b4bf-4978a50d9248',
|
||||
fieldMap: {
|
||||
first_name: 'firstname',
|
||||
last_name: 'lastname',
|
||||
email_address: 'email',
|
||||
company_name: 'company',
|
||||
},
|
||||
consent:
|
||||
'By submitting this form, I confirm that I have read and understood the Privacy Policy.',
|
||||
},
|
||||
customerio: {
|
||||
event: 'event_attended',
|
||||
profileMap: {
|
||||
email_address: 'email',
|
||||
first_name: 'first_name',
|
||||
last_name: 'last_name',
|
||||
company_name: 'company_name',
|
||||
},
|
||||
staticProperties: {
|
||||
event_name: 'PostgresConf San Jose 2026',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
export default page
|
||||
@@ -0,0 +1,60 @@
|
||||
import type { GoPageInput } from 'marketing'
|
||||
import Link from 'next/link'
|
||||
import { Button } from 'ui'
|
||||
|
||||
const page: GoPageInput = {
|
||||
template: 'lead-gen',
|
||||
slug: 'startup-grind-2026/contest',
|
||||
metadata: {
|
||||
title: 'Win an iPhone Pro Max | Supabase at Startup Grind 2026',
|
||||
description:
|
||||
'Create a Supabase account and load data for a chance to win an iPhone Pro Max. Startup Grind 2026.',
|
||||
},
|
||||
hero: {
|
||||
title: 'Win an iPhone Pro Max',
|
||||
subtitle: 'Supabase at Startup Grind 2026',
|
||||
description:
|
||||
'Great meeting you at Startup Grind. Supabase gives you Postgres with auth, storage, edge functions, and real-time -- everything you need to ship your product faster. Try it out and you could win an iPhone Pro Max.',
|
||||
image: {
|
||||
src: '/images/landing-pages/stripe-sessions/iphone17-pro-max.png',
|
||||
alt: 'iPhone Pro Max',
|
||||
width: 400,
|
||||
height: 500,
|
||||
},
|
||||
ctas: [
|
||||
{
|
||||
label: 'Get started',
|
||||
href: '#how-to-enter',
|
||||
variant: 'primary',
|
||||
},
|
||||
],
|
||||
},
|
||||
sections: [
|
||||
{
|
||||
type: 'single-column',
|
||||
id: 'how-to-enter',
|
||||
title: 'How to enter',
|
||||
children: (
|
||||
<div className="flex flex-col items-center gap-6">
|
||||
<ol className="flex flex-col gap-4 text-foreground-light text-lg list-decimal list-inside">
|
||||
<li>Create a Supabase account with the same email where you got our post-event note</li>
|
||||
<li>Load data into a Supabase database</li>
|
||||
<li>Complete these steps by Monday, May 11, 2026 at 12:00 PM PST</li>
|
||||
</ol>
|
||||
<Button asChild type="default" size="medium">
|
||||
<Link href="https://supabase.com/dashboard">Create your account</Link>
|
||||
</Button>
|
||||
<p className="text-xs text-foreground-lighter mt-4">
|
||||
No purchase necessary. Void where prohibited.{' '}
|
||||
<Link href="/go/contest-rules" className="underline">
|
||||
Official rules
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
export default page
|
||||
+1
-1
@@ -37,7 +37,7 @@ const page: GoPageInput = {
|
||||
children: (
|
||||
<div className="flex flex-col items-center gap-6">
|
||||
<ol className="flex flex-col gap-4 text-foreground-light text-lg list-decimal list-inside">
|
||||
<li>Create a Supabase account with your email address</li>
|
||||
<li>Create a Supabase account with the same email where you got our post-event note</li>
|
||||
<li>Load data into a Supabase database</li>
|
||||
<li>Complete these steps by Monday, May 11, 2026 at 12:00 PM PST</li>
|
||||
</ol>
|
||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,68 @@
|
||||
import type { GoPageInput } from 'marketing'
|
||||
import Link from 'next/link'
|
||||
import { Button } from 'ui'
|
||||
|
||||
const page: GoPageInput = {
|
||||
template: 'lead-gen',
|
||||
slug: 'sxsw-2026/contest',
|
||||
metadata: {
|
||||
title: 'Win a MacBook Neo | Supabase x Dreambase at SXSW 2026',
|
||||
description: 'Sign up for Supabase and Dreambase for a chance to win a MacBook Neo. SXSW 2026.',
|
||||
},
|
||||
hero: {
|
||||
title: 'Win a MacBook Neo',
|
||||
subtitle: 'Supabase x Dreambase at SXSW 2026',
|
||||
description:
|
||||
'Thanks for stopping by the Supabase x Dreambase party at SXSW. Supabase and Dreambase have partnered to run a sweepstakes -- sign up for both Supabase and Dreambase, load some data, and you could walk away with a new MacBook Neo.',
|
||||
image: {
|
||||
src: '/images/landing-pages/sxsw-2026/macbook-neo.png',
|
||||
alt: 'MacBook Neo in four colors',
|
||||
width: 500,
|
||||
height: 333,
|
||||
},
|
||||
ctas: [
|
||||
{
|
||||
label: 'Get started',
|
||||
href: '#how-to-enter',
|
||||
variant: 'primary',
|
||||
},
|
||||
],
|
||||
},
|
||||
sections: [
|
||||
{
|
||||
type: 'single-column',
|
||||
id: 'how-to-enter',
|
||||
title: 'How to enter',
|
||||
children: (
|
||||
<div className="flex flex-col items-center gap-6">
|
||||
<ol className="flex flex-col gap-4 text-foreground-light text-lg list-decimal list-inside">
|
||||
<li>
|
||||
Create a Supabase account with the same email address where you got our post-event
|
||||
note
|
||||
</li>
|
||||
<li>Create a Dreambase account using the same email address</li>
|
||||
<li>Load data into a Supabase database</li>
|
||||
<li>Complete these steps by Monday, March 30, 2026 at 12:00 PM PST</li>
|
||||
</ol>
|
||||
<div className="flex flex-col sm:flex-row items-center gap-4">
|
||||
<Button asChild type="default" size="medium">
|
||||
<Link href="https://supabase.com/dashboard">Create your Supabase account</Link>
|
||||
</Button>
|
||||
<Button asChild type="outline" size="medium">
|
||||
<Link href="https://dreambase.ai">Sign up for Dreambase</Link>
|
||||
</Button>
|
||||
</div>
|
||||
<p className="text-xs text-foreground-lighter mt-4">
|
||||
No purchase necessary. Void where prohibited.{' '}
|
||||
<Link href="/go/contest-rules" className="underline">
|
||||
Official rules
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
export default page
|
||||
+16
-6
@@ -4,18 +4,28 @@ import byocEarlyAccess from './pre-release/byoc-early-access'
|
||||
import boltWebinar from './webinar/bolt-webinar'
|
||||
import boltWebinarThankYou from './webinar/bolt-webinar-thank-you'
|
||||
import contestRules from './legal/contest-rules'
|
||||
import stripeExecDinner from './events/stripe-exec-dinner'
|
||||
import stripeExecDinnerThankYou from './events/stripe-exec-dinner-thank-you'
|
||||
import stripeSessionsContest from './events/stripe-sessions-contest'
|
||||
import stripeExecDinner from './events/stripe-sessions-2026/exec-dinner'
|
||||
import stripeExecDinnerThankYou from './events/stripe-sessions-2026/exec-dinner-thank-you'
|
||||
import stripeSessionsContest from './events/stripe-sessions-2026/contest'
|
||||
import sxswContest from './events/sxsw-2026/contest'
|
||||
import accentureContest from './events/accenture-reinvention-2026/contest'
|
||||
import postgresconfContest from './events/postgresconf-sjc-2026/contest'
|
||||
import postgresconfContestThankYou from './events/postgresconf-sjc-2026/contest-thank-you'
|
||||
import startupGrindContest from './events/startup-grind-2026/contest'
|
||||
|
||||
const pages: GoPageInput[] = [
|
||||
byocEarlyAccess,
|
||||
contestRules,
|
||||
boltWebinar, // remove after March 31, 2026
|
||||
boltWebinarThankYou, // remove after March 31, 2026
|
||||
stripeExecDinner,
|
||||
stripeExecDinnerThankYou,
|
||||
stripeSessionsContest,
|
||||
stripeExecDinner, // remove after May 31, 2026
|
||||
stripeExecDinnerThankYou, // remove after May 31, 2026
|
||||
stripeSessionsContest, // remove after May 31, 2026
|
||||
sxswContest, // remove after April 30, 2026
|
||||
accentureContest, // remove after May 31, 2026
|
||||
postgresconfContest, // remove after May 31, 2026
|
||||
postgresconfContestThankYou, // remove after May 31, 2026
|
||||
startupGrindContest, // remove after May 31, 2026
|
||||
]
|
||||
|
||||
export default pages
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 551 KiB After Width: | Height: | Size: 255 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
Reference in new issue
Block a user