Add convertkit form to collect emails.
This commit is contained in:
parent
ffd1e233c8
commit
13e4ac00cd
28
web/components/convert-kit-email-form.tsx
Normal file
28
web/components/convert-kit-email-form.tsx
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,13 +1,7 @@
|
||||||
import { Fragment } from 'react'
|
import { Fragment } from 'react'
|
||||||
import { Popover, Transition } from '@headlessui/react'
|
import { Popover, Transition } from '@headlessui/react'
|
||||||
import { MenuIcon, XIcon } from '@heroicons/react/outline'
|
import { XIcon } from '@heroicons/react/outline'
|
||||||
|
import { ConvertKitEmailForm } from './convert-kit-email-form'
|
||||||
const navigation = [
|
|
||||||
{ name: 'Product', href: '#' },
|
|
||||||
{ name: 'Features', href: '#' },
|
|
||||||
{ name: 'Marketplace', href: '#' },
|
|
||||||
{ name: 'Company', href: '#' },
|
|
||||||
]
|
|
||||||
|
|
||||||
export const Hero = () => {
|
export const Hero = () => {
|
||||||
return (
|
return (
|
||||||
|
@ -30,32 +24,8 @@ export const Hero = () => {
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
{/* <div className="-mr-2 flex items-center md:hidden">
|
|
||||||
<Popover.Button className="bg-gray-900 rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:bg-gray-800 focus:outline-none focus:ring-2 focus-ring-inset focus:ring-white">
|
|
||||||
<span className="sr-only">Open main menu</span>
|
|
||||||
<MenuIcon className="h-6 w-6" aria-hidden="true" />
|
|
||||||
</Popover.Button>
|
|
||||||
</div> */}
|
|
||||||
</div>
|
</div>
|
||||||
{/* <div className="hidden space-x-8 md:flex md:ml-10">
|
|
||||||
{navigation.map((item) => (
|
|
||||||
<a key={item.name} href={item.href} className="text-base font-medium text-white hover:text-gray-300">
|
|
||||||
{item.name}
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div> */}
|
|
||||||
</div>
|
</div>
|
||||||
{/* <div className="hidden md:flex md:items-center md:space-x-6">
|
|
||||||
<a href="#" className="text-base font-medium text-white hover:text-gray-300">
|
|
||||||
Log in
|
|
||||||
</a>
|
|
||||||
<a
|
|
||||||
href="#"
|
|
||||||
className="inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md text-white bg-gray-600 hover:bg-gray-700"
|
|
||||||
>
|
|
||||||
Start free trial
|
|
||||||
</a>
|
|
||||||
</div> */}
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -85,35 +55,6 @@ export const Hero = () => {
|
||||||
</Popover.Button>
|
</Popover.Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="pt-5 pb-6">
|
|
||||||
<div className="px-2 space-y-1">
|
|
||||||
{navigation.map((item) => (
|
|
||||||
<a
|
|
||||||
key={item.name}
|
|
||||||
href={item.href}
|
|
||||||
className="block px-3 py-2 rounded-md text-base font-medium text-gray-900 hover:bg-gray-50"
|
|
||||||
>
|
|
||||||
{item.name}
|
|
||||||
</a>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
<div className="mt-6 px-5">
|
|
||||||
<a
|
|
||||||
href="#"
|
|
||||||
className="block text-center w-full py-3 px-4 rounded-md shadow bg-green-600 text-white font-medium hover:bg-green-700"
|
|
||||||
>
|
|
||||||
Start free trial
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div className="mt-6 px-5">
|
|
||||||
<p className="text-center text-base font-medium text-gray-500">
|
|
||||||
Existing customer?{' '}
|
|
||||||
<a href="#" className="text-gray-900 hover:underline">
|
|
||||||
Login
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</Popover.Panel>
|
</Popover.Panel>
|
||||||
</Transition>
|
</Transition>
|
||||||
|
@ -125,16 +66,6 @@ export const Hero = () => {
|
||||||
<div className="lg:grid lg:grid-cols-2 lg:gap-8">
|
<div className="lg:grid lg:grid-cols-2 lg:gap-8">
|
||||||
<div className="mx-auto max-w-md px-4 sm:max-w-2xl sm:px-6 sm:text-center lg:px-0 lg:text-left lg:flex lg:items-center">
|
<div className="mx-auto max-w-md px-4 sm:max-w-2xl sm:px-6 sm:text-center lg:px-0 lg:text-left lg:flex lg:items-center">
|
||||||
<div className="lg:py-24">
|
<div className="lg:py-24">
|
||||||
{/* <a
|
|
||||||
href="#"
|
|
||||||
className="inline-flex items-center text-white bg-black rounded-full p-1 pr-2 sm:text-base lg:text-sm xl:text-base hover:text-gray-200"
|
|
||||||
>
|
|
||||||
<span className="px-3 py-0.5 text-white text-xs font-semibold leading-5 uppercase tracking-wide bg-indigo-500 rounded-full">
|
|
||||||
We're hiring
|
|
||||||
</span>
|
|
||||||
<span className="ml-4 text-sm">Visit our careers page</span>
|
|
||||||
<ChevronRightIcon className="ml-2 w-5 h-5 text-gray-500" aria-hidden="true" />
|
|
||||||
</a> */}
|
|
||||||
<h1 className="mt-4 text-4xl tracking-tight font-extrabold text-white sm:mt-5 sm:text-6xl lg:mt-6 xl:text-6xl">
|
<h1 className="mt-4 text-4xl tracking-tight font-extrabold text-white sm:mt-5 sm:text-6xl lg:mt-6 xl:text-6xl">
|
||||||
<span className="block">Create your own</span>
|
<span className="block">Create your own</span>
|
||||||
<span className="block text-green-400">prediction markets</span>
|
<span className="block text-green-400">prediction markets</span>
|
||||||
|
@ -143,50 +74,10 @@ export const Hero = () => {
|
||||||
Create and resolve your own prediction markets to earn a percent of the bet volume. Powered by Solana.
|
Create and resolve your own prediction markets to earn a percent of the bet volume. Powered by Solana.
|
||||||
</p>
|
</p>
|
||||||
<div className="mt-10 sm:mt-12">
|
<div className="mt-10 sm:mt-12">
|
||||||
<NetilfyForm method="POST" name="contact" className="sm:max-w-xl sm:mx-auto lg:mx-0">
|
<ConvertKitEmailForm />
|
||||||
<div className="sm:flex">
|
|
||||||
<div className="min-w-0 flex-1">
|
|
||||||
<label htmlFor="email" className="sr-only">
|
|
||||||
Email address
|
|
||||||
</label>
|
|
||||||
<input
|
|
||||||
id="email"
|
|
||||||
type="email"
|
|
||||||
name="email"
|
|
||||||
placeholder="Enter your email"
|
|
||||||
className="block w-full px-4 py-3 rounded-md border-0 text-base text-gray-900 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-300 focus:ring-offset-gray-900"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="mt-3 sm:mt-0 sm:ml-3">
|
|
||||||
<button
|
|
||||||
type="submit"
|
|
||||||
className="block w-full py-3 px-4 rounded-md shadow bg-green-500 text-white font-medium hover:bg-green-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-300 focus:ring-offset-gray-900"
|
|
||||||
>
|
|
||||||
Keep me updated
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/* <p className="mt-3 text-sm text-gray-300 sm:mt-4">
|
|
||||||
Start your free 14-day trial, no credit card necessary. By providing your email, you agree to
|
|
||||||
our{' '}
|
|
||||||
<a href="#" className="font-medium text-white">
|
|
||||||
terms of service
|
|
||||||
</a>
|
|
||||||
.
|
|
||||||
</p> */}
|
|
||||||
</NetilfyForm>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* <div className="mt-12 -mb-16 sm:-mb-48 lg:m-0 lg:relative">
|
|
||||||
<div className="mx-auto max-w-md px-4 sm:max-w-2xl sm:px-6 lg:max-w-none lg:px-0">
|
|
||||||
<img
|
|
||||||
className="w-full lg:absolute lg:inset-y-0 lg:left-0 lg:h-full lg:w-auto lg:max-w-none"
|
|
||||||
src="/world-trading-background.jpg"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div> */}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -194,16 +85,4 @@ export const Hero = () => {
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
const NetilfyForm = (props: {
|
|
||||||
children: any
|
|
||||||
} & Partial<Omit<HTMLFormElement, 'children'>>) => {
|
|
||||||
const { children, ...other } = props
|
|
||||||
|
|
||||||
return (
|
|
||||||
<form {...{ netlify: 'true' }} {...other as any}>
|
|
||||||
{children}
|
|
||||||
</form>
|
|
||||||
)
|
|
||||||
}
|
}
|
372
web/package-lock.json
generated
372
web/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
|
@ -15,6 +15,7 @@
|
||||||
"react-dom": "17.0.2"
|
"react-dom": "17.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@tailwindcss/forms": "^0.3.4",
|
||||||
"@types/node": "16.11.11",
|
"@types/node": "16.11.11",
|
||||||
"@types/react": "17.0.37",
|
"@types/react": "17.0.37",
|
||||||
"autoprefixer": "^10.2.6",
|
"autoprefixer": "^10.2.6",
|
||||||
|
@ -22,7 +23,6 @@
|
||||||
"eslint-config-next": "12.0.4",
|
"eslint-config-next": "12.0.4",
|
||||||
"postcss": "^8.3.5",
|
"postcss": "^8.3.5",
|
||||||
"tailwindcss": "^2.2.4",
|
"tailwindcss": "^2.2.4",
|
||||||
"@tailwindcss/forms": "^0.3.4",
|
|
||||||
"typescript": "4.5.2"
|
"typescript": "4.5.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user