Skip to content

Commit 88b2fef

Browse files
committed
cta & utm links
Create new CTA Header for Engine, add utm links and images
1 parent e1b3535 commit 88b2fef

File tree

4 files changed

+73
-9
lines changed

4 files changed

+73
-9
lines changed

apps/playground-web/src/app/engine/airdrop/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { AirdropERC20 } from "@/components/engine/airdrop/airdrop-erc20";
22
import ThirdwebProvider from "@/components/thirdweb-provider";
3-
import { APIHeader } from "../../../components/blocks/APIHeader";
3+
import { EngineAPIHeader } from "../../../components/blocks/EngineAPIHeader";
44
// TODO: Get updated banner image and description.
55
export default function Page() {
66
return (
77
<ThirdwebProvider>
88
<main className="container px-0 pb-20">
9-
<APIHeader
9+
<EngineAPIHeader
1010
title="Airdrop"
1111
description={
1212
<>
@@ -15,7 +15,7 @@ export default function Page() {
1515
address!
1616
</>
1717
}
18-
docsLink="https://thirdweb-engine.apidocumentation.com/reference#tag/erc20/POST/contract/{chain}/{contractAddress}/erc20/mint-batch-to"
18+
docsLink="https://thirdweb-engine.apidocumentation.com/reference#tag/erc20/POST/contract/{chain}/{contractAddress}/erc20/mint-batch-to?utm_source=playground"
1919
heroLink="/airdrop.avif"
2020
/>
2121

apps/playground-web/src/app/engine/minting/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { ERC1155MintTo } from "@/components/engine/minting/erc1155-mint-to";
22
import ThirdwebProvider from "@/components/thirdweb-provider";
3-
import { APIHeader } from "../../../components/blocks/APIHeader";
3+
import { EngineAPIHeader } from "../../../components/blocks/EngineAPIHeader";
44
// TODO: Get updated banner image and description.
55
export default function Page() {
66
return (
77
<ThirdwebProvider>
88
<main className="container px-0 pb-20">
9-
<APIHeader
9+
<EngineAPIHeader
1010
title="Minting"
1111
description={
1212
<>
1313
Allow your users to mint new tokens into any given contract. You
1414
sponsor the gas so your users only need a wallet address!
1515
</>
1616
}
17-
docsLink="https://thirdweb-engine.apidocumentation.com/reference#tag/erc1155/POST/contract/{chain}/{contractAddress}/erc1155/mint-to"
17+
docsLink="https://thirdweb-engine.apidocumentation.com/reference#tag/erc1155/POST/contract/{chain}/{contractAddress}/erc1155/mint-to?utm_source=playground"
1818
heroLink="/minting.avif"
1919
/>
2020

apps/playground-web/src/app/engine/webhooks/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { Sponsorship } from "@/components/engine/gasless/Sponsorship";
22
import ThirdwebProvider from "@/components/thirdweb-provider";
3-
import { APIHeader } from "../../../components/blocks/APIHeader";
3+
import { EngineAPIHeader } from "../../../components/blocks/EngineAPIHeader";
44
// TODO: Get updated banner image and description.
55
export default function Page() {
66
return (
77
<ThirdwebProvider>
88
<main className="container px-0 pb-20">
9-
<APIHeader
9+
<EngineAPIHeader
1010
title="Webhooks"
1111
description={
1212
<>
1313
Configure webhooks in Engine to notify your backend server of
1414
transaction or backend wallet events.
1515
</>
1616
}
17-
docsLink="https://portal.thirdweb.com/engine/features/webhooks"
17+
docsLink="https://portal.thirdweb.com/engine/features/webhooks?utm_source=playground"
1818
heroLink="/webhooks.avif"
1919
/>
2020

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import Image from "next/image";
2+
import Link from "next/link";
3+
import { Button } from "../ui/button";
4+
5+
export function EngineAPIHeader(props: {
6+
title: string;
7+
description: React.ReactNode;
8+
docsLink: string;
9+
heroLink: string;
10+
}) {
11+
return (
12+
<div
13+
className="mb-12 flex flex-col-reverse items-center justify-between gap-6 rounded-3xl px-6 py-8 lg:flex-row lg:px-14 lg:py-14"
14+
style={{
15+
background:
16+
"linear-gradient(to top, hsl(var(--secondary)/80%), transparent)",
17+
}}
18+
>
19+
{/* Left */}
20+
<div>
21+
<h1 className="mb-2 font-bold text-4xl tracking-tighter md:text-5xl">
22+
{props.title}
23+
</h1>
24+
<p className="mb-5 max-w-[700px] text-balance text-muted-foreground">
25+
{props.description}
26+
</p>
27+
28+
<div className="flex flex-col gap-3 md:flex-row">
29+
<Button asChild size="lg">
30+
<Link target="_blank" href={props.docsLink}>
31+
View docs
32+
</Link>
33+
</Button>
34+
<Button asChild variant="outline" size="lg">
35+
<Link
36+
target="_blank"
37+
href="https://thirdweb.com/contact-us?utm_source=playground"
38+
>
39+
Book a Demo
40+
</Link>
41+
</Button>
42+
<Button asChild variant="outline" size="lg">
43+
<Link
44+
target="_blank"
45+
href="https://thirdweb.com/team/~/~/engine/create?utm_source=playground"
46+
>
47+
Deploy an Instance
48+
</Link>
49+
</Button>
50+
</div>
51+
</div>
52+
53+
{/* Right */}
54+
<Image
55+
src={props.heroLink}
56+
width={600}
57+
height={400}
58+
className="max-h-[300px] rounded-2xl object-contain lg:max-w-[500px]"
59+
alt=""
60+
priority={true}
61+
/>
62+
</div>
63+
);
64+
}

0 commit comments

Comments
 (0)