make --turbo work (#4593)

## Problem solved

Short description of the bug fixed or feature added

<!-- start pr-codex -->

---

## PR-Codex overview
The focus of this PR is to update file paths for image sources and add the `--turbo` flag to the `next dev` script for improved performance.

### Detailed summary
- Updated file paths for image sources in multiple components
- Added `--turbo` flag to `next dev` script in `package.json` for improved performance

> The following files were skipped due to too many changes: `apps/dashboard/src/pages/sdk.tsx`, `apps/dashboard/src/pages/learn/index.tsx`, `apps/dashboard/src/pages/solutions/gaming.tsx`, `apps/dashboard/src/pages/solutions/commerce.tsx`, `apps/dashboard/src/pages/community/ambassadors.tsx`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
This commit is contained in:
jnsdls
2024-09-15 03:49:06 +00:00
parent 06ef6f0a07
commit 1168bc702f
17 changed files with 87 additions and 87 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
"private": true, "private": true,
"scripts": { "scripts": {
"preinstall": "npx only-allow pnpm", "preinstall": "npx only-allow pnpm",
"dev": "next dev", "dev": "next dev --turbo",
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"format": "biome format ./src --write", "format": "biome format ./src --write",
@@ -65,7 +65,7 @@ export const ConnectWalletImage: React.FC = () => (
<ChakraNextImage <ChakraNextImage
alt="" alt=""
boxSize="75px" boxSize="75px"
src={require("/public/logos/wallet.png")} src={require("../../../../public/logos/wallet.png")}
/> />
</Center> </Center>
</motion.div> </motion.div>
@@ -35,8 +35,8 @@ export const ContractIdImage: React.FC<ContractIdImageProps> = ({
const img = const img =
publishMetadata.data?.image !== "custom" publishMetadata.data?.image !== "custom"
? publishMetadata.data?.image || ? publishMetadata.data?.image ||
require("/public/assets/tw-icons/general.png") require("../../../../public/assets/tw-icons/general.png")
: require("/public/assets/tw-icons/general.png"); : require("../../../../public/assets/tw-icons/general.png");
const isStaticImage = img && typeof img !== "string"; const isStaticImage = img && typeof img !== "string";
@@ -18,7 +18,7 @@ export const PublishUpsellCard: React.FC = () => {
<div className="flex gap-2"> <div className="flex gap-2">
<Image <Image
className="size-6 hidden md:block" className="size-6 hidden md:block"
src={require("/public/assets/product-pages/publish/hero-icon-1.png")} src={require("../../../../public/assets/product-pages/publish/hero-icon-1.png")}
alt="" alt=""
/> />
@@ -34,7 +34,7 @@ export const PublishUpsellCard: React.FC = () => {
<div className="flex gap-2"> <div className="flex gap-2">
<Image <Image
className="size-6 hidden md:block" className="size-6 hidden md:block"
src={require("/public/assets/product-pages/publish/hero-icon-2.png")} src={require("../../../../public/assets/product-pages/publish/hero-icon-2.png")}
alt="" alt=""
/> />
<p className="text-muted-foreground"> <p className="text-muted-foreground">
@@ -59,7 +59,7 @@ export const LandingPlan = ({
return ( return (
<Flex key={listItem.id} alignItems="center" gap="12px"> <Flex key={listItem.id} alignItems="center" gap="12px">
<ChakraNextImage <ChakraNextImage
src={require("/public/assets/landingpage/check.svg")} src={require("../../../public/assets/landingpage/check.svg")}
height="16px" height="16px"
width="16px" width="16px"
alt="" alt=""
@@ -16,17 +16,17 @@ const TRACKING_CATEGORY = "smart-wallet-landing";
const GUIDES = [ const GUIDES = [
{ {
title: "The Quick-Start Guide to Account Abstraction", title: "The Quick-Start Guide to Account Abstraction",
image: require("/public/assets/product-pages/smart-wallet/get-started.png"), image: require("../../public/assets/product-pages/smart-wallet/get-started.png"),
link: "https://portal.thirdweb.com/wallets/smart-wallet/get-started", link: "https://portal.thirdweb.com/wallets/smart-wallet/get-started",
}, },
{ {
title: "Choosing Between Simple, Managed, & Dynamic Smart Accounts", title: "Choosing Between Simple, Managed, & Dynamic Smart Accounts",
image: require("/public/assets/product-pages/smart-wallet/which-contract.png"), image: require("../../public/assets/product-pages/smart-wallet/which-contract.png"),
link: "https://blog.thirdweb.com/smart-contract-deep-dive-building-smart-wallets-for-individuals-and-teams/", link: "https://blog.thirdweb.com/smart-contract-deep-dive-building-smart-wallets-for-individuals-and-teams/",
}, },
{ {
title: "How to Enable Batch Transactions with Account Abstraction", title: "How to Enable Batch Transactions with Account Abstraction",
image: require("/public/assets/product-pages/smart-wallet/batch-txns.png"), image: require("../../public/assets/product-pages/smart-wallet/batch-txns.png"),
link: "https://blog.thirdweb.com/guides/how-to-batch-transactions-with-the-thirdweb-sdk/", link: "https://blog.thirdweb.com/guides/how-to-batch-transactions-with-the-thirdweb-sdk/",
}, },
]; ];
@@ -261,22 +261,22 @@ const Ambassadors: ThirdwebNextPage = () => {
placeItems="center" placeItems="center"
> >
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/card-1-icon.svg")} icon={require("../../../public/assets/ambassadors/card-1-icon.svg")}
> >
You are insatiably curious about new web3 tools. You are insatiably curious about new web3 tools.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/card-2-icon.svg")} icon={require("../../../public/assets/ambassadors/card-2-icon.svg")}
> >
You revel in creating and sharing web3 content. You revel in creating and sharing web3 content.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/connections.svg")} icon={require("../../../public/assets/ambassadors/connections.svg")}
> >
You forge lasting connections with others. You forge lasting connections with others.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/card-3-icon.svg")} icon={require("../../../public/assets/ambassadors/card-3-icon.svg")}
> >
{/* You are approachable and adept at forging connections across contexts. */} {/* You are approachable and adept at forging connections across contexts. */}
{/* Update image for this one ToDO */} {/* Update image for this one ToDO */}
@@ -319,27 +319,27 @@ const Ambassadors: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Be a thirdweb brand ambassador" title="Be a thirdweb brand ambassador"
icon={require("/public/assets/ambassadors/recognition-icon.svg")} icon={require("../../../public/assets/ambassadors/recognition-icon.svg")}
> >
Advocate for thirdweb&apos;s toolset and its role in web3. Advocate for thirdweb&apos;s toolset and its role in web3.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Build your projcts. Share the results." title="Build your projcts. Share the results."
icon={require("/public/assets/ambassadors/mentorship-icon.svg")} icon={require("../../../public/assets/ambassadors/mentorship-icon.svg")}
> >
Showcase your projects built using thirdweb through your Showcase your projects built using thirdweb through your
favorite social media favorite social media
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Support the newcomers" title="Support the newcomers"
icon={require("/public/assets/ambassadors/merch-icon.svg")} icon={require("../../../public/assets/ambassadors/merch-icon.svg")}
> >
Assist community members by answering questions, Assist community members by answering questions,
troubleshooting issues, and providing guidance. troubleshooting issues, and providing guidance.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Network" title="Network"
icon={require("/public/assets/ambassadors/network-icon.svg")} icon={require("../../../public/assets/ambassadors/network-icon.svg")}
> >
{/* TODO, rethink the reaching out to potential individuals */} {/* TODO, rethink the reaching out to potential individuals */}
Grow the community by welcoming new members, initiating Grow the community by welcoming new members, initiating
@@ -347,7 +347,7 @@ const Ambassadors: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
{/* <ProductCard {/* <ProductCard
title="Access" title="Access"
icon={require("/public/assets/ambassadors/access-icon.svg")} icon={require("../../../public/assets/ambassadors/access-icon.svg")}
> >
Insider access to the team, roadmap, events. Insider access to the team, roadmap, events.
</ProductCard> */} </ProductCard> */}
@@ -394,19 +394,19 @@ const Ambassadors: ThirdwebNextPage = () => {
placeItems="center" placeItems="center"
> >
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/learn.svg")} icon={require("../../../public/assets/ambassadors/learn.svg")}
> >
Enhance your skills with exclusive workshops and the latest in Enhance your skills with exclusive workshops and the latest in
web3. web3.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/oss.svg")} icon={require("../../../public/assets/ambassadors/oss.svg")}
> >
Fuel your web3 passion with a platform to explore, create and Fuel your web3 passion with a platform to explore, create and
innovate. innovate.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/card-3-icon.svg")} icon={require("../../../public/assets/ambassadors/card-3-icon.svg")}
> >
Get rewarded with exclusive benefits such as free thirdweb Get rewarded with exclusive benefits such as free thirdweb
credits. credits.
@@ -465,33 +465,33 @@ const Ambassadors: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Recognition" title="Recognition"
icon={require("/public/assets/ambassadors/recognition-icon.svg")} icon={require("../../../public/assets/ambassadors/recognition-icon.svg")}
> >
Grow your personal brand from recognition on our pages. Grow your personal brand from recognition on our pages.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Mentorship" title="Mentorship"
icon={require("/public/assets/ambassadors/mentorship-icon.svg")} icon={require("../../../public/assets/ambassadors/mentorship-icon.svg")}
> >
Learn directly from experts on web3 development and related Learn directly from experts on web3 development and related
topics. topics.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Feedback Sessions" title="Feedback Sessions"
icon={require("/public/assets/ambassadors/merch-icon.svg")} icon={require("../../../public/assets/ambassadors/merch-icon.svg")}
> >
Participate in feedback sessions that have a direct impact on Participate in feedback sessions that have a direct impact on
the thirdweb toolset the thirdweb toolset
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Network" title="Network"
icon={require("/public/assets/ambassadors/network-icon.svg")} icon={require("../../../public/assets/ambassadors/network-icon.svg")}
> >
Meet like-minded individuals and grow your network in web3. Meet like-minded individuals and grow your network in web3.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Become A Thought Leader" title="Become A Thought Leader"
icon={require("/public/assets/ambassadors/access-icon.svg")} icon={require("../../../public/assets/ambassadors/access-icon.svg")}
> >
Establish yourself as a thought leader in the web3 industry. Establish yourself as a thought leader in the web3 industry.
</ProductCard> </ProductCard>
@@ -541,23 +541,23 @@ const Ambassadors: ThirdwebNextPage = () => {
placeItems="center" placeItems="center"
> >
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/hackathon.svg")} icon={require("../../../public/assets/ambassadors/hackathon.svg")}
> >
Gain early access to the latest tools and experiment with Gain early access to the latest tools and experiment with
cutting edge technology. cutting edge technology.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/card-2-icon.svg")} icon={require("../../../public/assets/ambassadors/card-2-icon.svg")}
> >
Build brand new experienes with the thirdweb toolset. Build brand new experienes with the thirdweb toolset.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/office-hours.svg")} icon={require("../../../public/assets/ambassadors/office-hours.svg")}
> >
Be involved in stages of product design and direction. Be involved in stages of product design and direction.
</AmbassadorCard> </AmbassadorCard>
<AmbassadorCard <AmbassadorCard
icon={require("/public/assets/ambassadors/card-3-icon.svg")} icon={require("../../../public/assets/ambassadors/card-3-icon.svg")}
> >
Push the boundary of what&apos;s possible in web3 with Push the boundary of what&apos;s possible in web3 with
thirdweb. thirdweb.
+2 -2
View File
@@ -83,12 +83,12 @@ export const metrics = [
const GUIDES = [ const GUIDES = [
{ {
title: "The Quick-Start Guide to thirdweb Connect", title: "The Quick-Start Guide to thirdweb Connect",
image: require("/public/assets/product-pages/connect/get-started.png"), image: require("../../public/assets/product-pages/connect/get-started.png"),
link: "https://portal.thirdweb.com/connect", link: "https://portal.thirdweb.com/connect",
}, },
{ {
title: "Add a Connect Wallet Button to Your App or Website", title: "Add a Connect Wallet Button to Your App or Website",
image: require("/public/assets/product-pages/connect/connect-wallet.png"), image: require("../../public/assets/product-pages/connect/connect-wallet.png"),
link: "https://portal.thirdweb.com/typescript/v5/react/components/ConnectButton", link: "https://portal.thirdweb.com/typescript/v5/react/components/ConnectButton",
}, },
]; ];
+3 -3
View File
@@ -64,7 +64,7 @@ const Dashboard: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Monitor contract activity" title="Monitor contract activity"
icon={require("/public/assets/product-pages/dashboard/hero-icon-1.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-1.png")}
> >
Get fast insights into your contract activity. Unlock features in Get fast insights into your contract activity. Unlock features in
Dashboard for each extension implemented in your contract. (e.g. Dashboard for each extension implemented in your contract. (e.g.
@@ -72,14 +72,14 @@ const Dashboard: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Interact with contracts" title="Interact with contracts"
icon={require("/public/assets/product-pages/dashboard/hero-icon-2.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-2.png")}
> >
Fine-tune contract behavior with quick access to contract Fine-tune contract behavior with quick access to contract
configurations (e.g. royalty, primary sale fee, etc.) configurations (e.g. royalty, primary sale fee, etc.)
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Collaborate with team" title="Collaborate with team"
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-3.png")}
> >
Share contract management access with your team members. Control Share contract management access with your team members. Control
team access to contracts with permissions. Safe is supported. team access to contracts with permissions. Safe is supported.
+3 -3
View File
@@ -94,17 +94,17 @@ export const metrics = [
const GUIDES = [ const GUIDES = [
{ {
title: "The Quick-Start Guide to thirdweb Engine", title: "The Quick-Start Guide to thirdweb Engine",
image: require("/public/assets/product-pages/engine/guide-get-started.png"), image: require("../../public/assets/product-pages/engine/guide-get-started.png"),
link: "https://portal.thirdweb.com/engine/get-started", link: "https://portal.thirdweb.com/engine/get-started",
}, },
{ {
title: "Airdrop Tokens and NFTs to Users", title: "Airdrop Tokens and NFTs to Users",
image: require("/public/assets/product-pages/engine/guide-airdrop.png"), image: require("../../public/assets/product-pages/engine/guide-airdrop.png"),
link: "https://portal.thirdweb.com/engine/guides/airdrop-nfts", link: "https://portal.thirdweb.com/engine/guides/airdrop-nfts",
}, },
{ {
title: "Create a Gasless NFT Mint Farcaster Frame", title: "Create a Gasless NFT Mint Farcaster Frame",
image: require("/public/assets/product-pages/engine/guide-farcaster-frame.png"), image: require("../../public/assets/product-pages/engine/guide-farcaster-frame.png"),
link: "https://blog.thirdweb.com/guides/create-an-nft-mint-farcaster-frame/", link: "https://blog.thirdweb.com/guides/create-an-nft-mint-farcaster-frame/",
}, },
]; ];
+6 -6
View File
@@ -17,17 +17,17 @@ const TRACKING_CATEGORY = "embedded-wallets-landing";
const GUIDES = [ const GUIDES = [
{ {
title: "Docs: In-App Wallets Overview", title: "Docs: In-App Wallets Overview",
image: require("/public/assets/product-pages/embedded-wallets/embedded-wallet.png"), image: require("../../public/assets/product-pages/embedded-wallets/embedded-wallet.png"),
link: "https://portal.thirdweb.com/connect/in-app-wallet/overview", link: "https://portal.thirdweb.com/connect/in-app-wallet/overview",
}, },
{ {
title: "Live Demo: In-App Wallets", title: "Live Demo: In-App Wallets",
image: require("/public/assets/product-pages/embedded-wallets/paper.png"), image: require("../../public/assets/product-pages/embedded-wallets/paper.png"),
link: "https://catattack.thirdweb.com", link: "https://catattack.thirdweb.com",
}, },
{ {
title: "Quick-Start Template: In-App Wallet + Account Abstraction", title: "Quick-Start Template: In-App Wallet + Account Abstraction",
image: require("/public/assets/product-pages/smart-wallet/get-started.png"), image: require("../../public/assets/product-pages/smart-wallet/get-started.png"),
link: "https://github.com/thirdweb-example/embedded-smart-wallet", link: "https://github.com/thirdweb-example/embedded-smart-wallet",
}, },
]; ];
@@ -87,7 +87,7 @@ const EmbeddedWalletsLanding: ThirdwebNextPage = () => {
"Let users access your app instantly an email address, Google account, or social logins.", "Let users access your app instantly an email address, Google account, or social logins.",
Component: ( Component: (
<ChakraNextImage <ChakraNextImage
src={require("/public/assets/product-pages/embedded-wallets/seamless.png")} src={require("../../public/assets/product-pages/embedded-wallets/seamless.png")}
alt="" alt=""
borderRadius="lg" borderRadius="lg"
/> />
@@ -99,7 +99,7 @@ const EmbeddedWalletsLanding: ThirdwebNextPage = () => {
"Spin up in-app wallets for your users with your app or game's existing auth system.", "Spin up in-app wallets for your users with your app or game's existing auth system.",
Component: ( Component: (
<ChakraNextImage <ChakraNextImage
src={require("/public/assets/product-pages/embedded-wallets/auth.png")} src={require("../../public/assets/product-pages/embedded-wallets/auth.png")}
alt="" alt=""
borderRadius="lg" borderRadius="lg"
/> />
@@ -111,7 +111,7 @@ const EmbeddedWalletsLanding: ThirdwebNextPage = () => {
"Enable users to log into their accounts (and access their wallets) from any device, in one click. Support for web, mobile, & Unity.", "Enable users to log into their accounts (and access their wallets) from any device, in one click. Support for web, mobile, & Unity.",
Component: ( Component: (
<ChakraNextImage <ChakraNextImage
src={require("/public/assets/product-pages/embedded-wallets/cross-platform.png")} src={require("../../public/assets/product-pages/embedded-wallets/cross-platform.png")}
alt="" alt=""
borderRadius="lg" borderRadius="lg"
/> />
+9 -9
View File
@@ -87,7 +87,7 @@ const Learn: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Domain Expertise" title="Domain Expertise"
icon={require("/public/assets/product-pages/sdk/hero-icon-3.png")} icon={require("../../../public/assets/product-pages/sdk/hero-icon-3.png")}
> >
Our program will help you enhance your technical skills and Our program will help you enhance your technical skills and
knowledge, enabling you to excel in web3 development and become knowledge, enabling you to excel in web3 development and become
@@ -95,7 +95,7 @@ const Learn: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Community Building" title="Community Building"
icon={require("/public/assets/product-pages/dashboard/hero-icon-2.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-2.png")}
> >
Connect with a network of web3 developers and content matter Connect with a network of web3 developers and content matter
experts through our program. Build lasting relationships and experts through our program. Build lasting relationships and
@@ -103,14 +103,14 @@ const Learn: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Career Launch" title="Career Launch"
icon={require("/public/assets/product-pages/sdk/hero-icon-2.png")} icon={require("../../../public/assets/product-pages/sdk/hero-icon-2.png")}
> >
Get access to valuable resources to help you find your next job Get access to valuable resources to help you find your next job
or start your own web3 company. or start your own web3 company.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Comprehensive curriculum" title="Comprehensive curriculum"
icon={require("/public/assets/product-pages/deploy/hero-icon-1.png")} icon={require("../../../public/assets/product-pages/deploy/hero-icon-1.png")}
> >
Learn essential web3 concepts and gain in-depth knowledge of the Learn essential web3 concepts and gain in-depth knowledge of the
thirdweb SDK that empowers you to build secure decentralized thirdweb SDK that empowers you to build secure decentralized
@@ -118,14 +118,14 @@ const Learn: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Expert-Led Training" title="Expert-Led Training"
icon={require("/public/assets/product-pages/authentication/verify.png")} icon={require("../../../public/assets/product-pages/authentication/verify.png")}
> >
Learn from industry-leading web3 developers who bring real-world Learn from industry-leading web3 developers who bring real-world
experience and insights into the classroom. experience and insights into the classroom.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Flexible Program Formats" title="Flexible Program Formats"
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-3.png")}
> >
Choose from a range of program formats, including self-paced Choose from a range of program formats, including self-paced
courses, virtual workshops, or live bootcamps, to suit your courses, virtual workshops, or live bootcamps, to suit your
@@ -145,7 +145,7 @@ const Learn: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Product Manager" title="Product Manager"
icon={require("/public/assets/product-pages/dashboard/hero-icon-1.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-1.png")}
> >
Learn how to create, manage, and integrate NFTs and other Learn how to create, manage, and integrate NFTs and other
digital assets into dApps and platforms using thirdweb digital assets into dApps and platforms using thirdweb
@@ -153,7 +153,7 @@ const Learn: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Web3 Developer" title="Web3 Developer"
icon={require("/public/assets/product-pages/dashboard/hero-icon-1.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-1.png")}
> >
For both front and back-end engineers to learn how to build For both front and back-end engineers to learn how to build
secure and scalable dApps using the thirdweb SDK and relevant secure and scalable dApps using the thirdweb SDK and relevant
@@ -161,7 +161,7 @@ const Learn: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Back-end Engineer" title="Back-end Engineer"
icon={require("/public/assets/product-pages/dashboard/hero-icon-1.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-1.png")}
> >
Gain expertise in developing web3 services by reviewing common Gain expertise in developing web3 services by reviewing common
server-side workflows as well as creating and integrating smart server-side workflows as well as creating and integrating smart
+7 -7
View File
@@ -73,7 +73,7 @@ const Web3SDK: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Speaks your language" title="Speaks your language"
icon={require("/public/assets/product-pages/sdk/hero-icon-1.png")} icon={require("../../public/assets/product-pages/sdk/hero-icon-1.png")}
> >
Use SDKs in programming languages that you are most comfortable Use SDKs in programming languages that you are most comfortable
with. with.
@@ -96,14 +96,14 @@ const Web3SDK: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Go-to-market faster" title="Go-to-market faster"
icon={require("/public/assets/product-pages/sdk/hero-icon-2.png")} icon={require("../../public/assets/product-pages/sdk/hero-icon-2.png")}
> >
Utilities for common use cases so that you do not have to reinvent Utilities for common use cases so that you do not have to reinvent
the wheel every time and have faster development cycles. the wheel every time and have faster development cycles.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Simplifying web3 complexity" title="Simplifying web3 complexity"
icon={require("/public/assets/product-pages/sdk/hero-icon-3.png")} icon={require("../../public/assets/product-pages/sdk/hero-icon-3.png")}
> >
Build apps and games that interact with contracts easily. Thorough Build apps and games that interact with contracts easily. Thorough
developer documentation on following best practices. No need to developer documentation on following best practices. No need to
@@ -161,28 +161,28 @@ const Web3SDK: ThirdwebNextPage = () => {
SDKs. SDKs.
</> </>
} }
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-3.png")}
href="https://portal.thirdweb.com/" href="https://portal.thirdweb.com/"
/> />
<ProductLearnMoreCard <ProductLearnMoreCard
title="UI Components SDK" title="UI Components SDK"
category={TRACKING_CATEGORY} category={TRACKING_CATEGORY}
description="Plug-and-play UI Components for common web3 use cases, e.g. Connect Wallet button, Web3 button, NFT renderer, and IPFS renderer." description="Plug-and-play UI Components for common web3 use cases, e.g. Connect Wallet button, Web3 button, NFT renderer, and IPFS renderer."
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-3.png")}
href="/ui-components" href="/ui-components"
/> />
<ProductLearnMoreCard <ProductLearnMoreCard
title="Game Engine SDK" title="Game Engine SDK"
category={TRACKING_CATEGORY} category={TRACKING_CATEGORY}
description="Unity SDK includes all supported platforms: Native (Windows, Mac, Linux), Mobile (iOS, Android), Console (PS, Xbox), Browser (WebGL). Unreal SDK coming soon." description="Unity SDK includes all supported platforms: Native (Windows, Mac, Linux), Mobile (iOS, Android), Console (PS, Xbox), Browser (WebGL). Unreal SDK coming soon."
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-3.png")}
href="https://portal.thirdweb.com/unity" href="https://portal.thirdweb.com/unity"
/> />
<ProductLearnMoreCard <ProductLearnMoreCard
title="Mobile SDK" title="Mobile SDK"
category={TRACKING_CATEGORY} category={TRACKING_CATEGORY}
description="Integrate web3 into mobile apps with our React Native SDK. Comes with hooks and UI components that let you easily build native apps for iOS and Android." description="Integrate web3 into mobile apps with our React Native SDK. Comes with hooks and UI components that let you easily build native apps for iOS and Android."
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../public/assets/product-pages/dashboard/hero-icon-3.png")}
href="https://portal.thirdweb.com/react-native/latest" href="https://portal.thirdweb.com/react-native/latest"
/> />
</SimpleGrid> </SimpleGrid>
+10 -10
View File
@@ -95,14 +95,14 @@ const Commerce: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Recognize loyal customers with NFTs " title="Recognize loyal customers with NFTs "
icon={require("/public/assets/product-pages/extensions/hero-icon-1.png")} icon={require("../../../public/assets/product-pages/extensions/hero-icon-1.png")}
> >
Distribute NFTs to your most loyal customers and create new customer Distribute NFTs to your most loyal customers and create new customer
segments for future campaigns. segments for future campaigns.
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Reward customers with exclusive access" title="Reward customers with exclusive access"
icon={require("/public/assets/product-pages/extensions/hero-icon-3.png")} icon={require("../../../public/assets/product-pages/extensions/hero-icon-3.png")}
> >
Reward your customers and collab with other brands by tokengating Reward your customers and collab with other brands by tokengating
your storefront. Give token holders exclusive access to products, your storefront. Give token holders exclusive access to products,
@@ -110,7 +110,7 @@ const Commerce: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Grow your revenue with NFT sales" title="Grow your revenue with NFT sales"
icon={require("/public/assets/product-pages/extensions/hero-icon-2.png")} icon={require("../../../public/assets/product-pages/extensions/hero-icon-2.png")}
> >
Create additional revenue streams with NFT sales. Sell NFTs directly Create additional revenue streams with NFT sales. Sell NFTs directly
through your storefront as a new product category or bundle with a through your storefront as a new product category or bundle with a
@@ -135,7 +135,7 @@ const Commerce: ThirdwebNextPage = () => {
category={TRACKING_CATEGORY} category={TRACKING_CATEGORY}
description="Prebuilt contracts or build your own with the Solidity SDK to description="Prebuilt contracts or build your own with the Solidity SDK to
distribute NFTs through your commerce app." distribute NFTs through your commerce app."
icon={require("/public/assets/product-pages/dashboard/hero-icon-1.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-1.png")}
href="/explore/commerce" href="/explore/commerce"
/> />
<ProductLearnMoreCard <ProductLearnMoreCard
@@ -144,7 +144,7 @@ const Commerce: ThirdwebNextPage = () => {
description="Powerful SDKs enables you to build commerce apps that connects description="Powerful SDKs enables you to build commerce apps that connects
to users' wallets. Easily bootstrap projects with a single to users' wallets. Easily bootstrap projects with a single
command." command."
icon={require("/public/assets/product-pages/dashboard/hero-icon-2.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-2.png")}
href="https://portal.thirdweb.com/contracts/interact/overview" href="https://portal.thirdweb.com/contracts/interact/overview"
/> />
<ProductLearnMoreCard <ProductLearnMoreCard
@@ -153,7 +153,7 @@ const Commerce: ThirdwebNextPage = () => {
description="View and interact with your Shopify store smart contracts description="View and interact with your Shopify store smart contracts
directly from a user interface, e.g. view all the NFTs that have directly from a user interface, e.g. view all the NFTs that have
been minted to your most loyal customers." been minted to your most loyal customers."
icon={require("/public/assets/product-pages/dashboard/hero-icon-3.png")} icon={require("../../../public/assets/product-pages/dashboard/hero-icon-3.png")}
href="/dashboard" href="/dashboard"
/> />
</SimpleGrid> </SimpleGrid>
@@ -167,7 +167,7 @@ const Commerce: ThirdwebNextPage = () => {
<SimpleGrid columns={{ base: 1, md: 2, lg: 4 }} gap={6}> <SimpleGrid columns={{ base: 1, md: 2, lg: 4 }} gap={6}>
<ProductCard <ProductCard
title="Launch customer loyalty reward programs" title="Launch customer loyalty reward programs"
icon={require("/public/assets/solutions-pages/commerce/hero-icon-1.png")} icon={require("../../../public/assets/solutions-pages/commerce/hero-icon-1.png")}
> >
<Text size="body.lg"> <Text size="body.lg">
Distribute membership passes with contracts from{" "} Distribute membership passes with contracts from{" "}
@@ -197,7 +197,7 @@ const Commerce: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Sell digital collectibles" title="Sell digital collectibles"
icon={require("/public/assets/solutions-pages/commerce/hero-icon-2.png")} icon={require("../../../public/assets/solutions-pages/commerce/hero-icon-2.png")}
> >
<Text size="body.lg"> <Text size="body.lg">
Merchants can sell digital collectibles direct from e-commerce Merchants can sell digital collectibles direct from e-commerce
@@ -207,7 +207,7 @@ const Commerce: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Unlock both virtual and real world experiences" title="Unlock both virtual and real world experiences"
icon={require("/public/assets/solutions-pages/commerce/hero-icon-3.png")} icon={require("../../../public/assets/solutions-pages/commerce/hero-icon-3.png")}
> >
<Text size="body.lg"> <Text size="body.lg">
Sell digital tickets with exclusive access to online and offline Sell digital tickets with exclusive access to online and offline
@@ -217,7 +217,7 @@ const Commerce: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Add web3 data to your customer funnel" title="Add web3 data to your customer funnel"
icon={require("/public/assets/solutions-pages/commerce/hero-icon-4.png")} icon={require("../../../public/assets/solutions-pages/commerce/hero-icon-4.png")}
> >
<Text size="body.lg"> <Text size="body.lg">
Authenticate web3 users using{" "} Authenticate web3 users using{" "}
+10 -10
View File
@@ -110,8 +110,8 @@ export const metrics = [
title: "Gala Games", title: "Gala Games",
description: description:
"Partnering with DreamWorks to integrate their brand IP into the VOXverse — and bringing fans onchain with interoperable digital collectibles.", "Partnering with DreamWorks to integrate their brand IP into the VOXverse — and bringing fans onchain with interoperable digital collectibles.",
image: require("/public/assets/solutions-pages/gaming/case-study-gala.png"), image: require("../../../public/assets/solutions-pages/gaming/case-study-gala.png"),
mobileImage: require("/public/assets/solutions-pages/gaming/mobile-case-study-gala.png"), mobileImage: require("../../../public/assets/solutions-pages/gaming/mobile-case-study-gala.png"),
items: [], items: [],
href: "https://blog.thirdweb.com/case-studies/dreamworks-launches-nft-avatars-for-web3-games-with-gala-and-the-sims-creators-voxverse/", href: "https://blog.thirdweb.com/case-studies/dreamworks-launches-nft-avatars-for-web3-games-with-gala-and-the-sims-creators-voxverse/",
hoverBackground: "#0053FF", hoverBackground: "#0053FF",
@@ -120,8 +120,8 @@ export const metrics = [
title: "Paima Studios", title: "Paima Studios",
description: description:
"Bringing onchain games to all players — with instant onboarding, an `invisible` wallet experience, and the smoothest gameplay with signless & gasless UX.", "Bringing onchain games to all players — with instant onboarding, an `invisible` wallet experience, and the smoothest gameplay with signless & gasless UX.",
image: require("/public/assets/solutions-pages/gaming/case-study-ztx.png"), image: require("../../../public/assets/solutions-pages/gaming/case-study-ztx.png"),
mobileImage: require("/public/assets/solutions-pages/gaming/mobile-case-study-ztx.png"), mobileImage: require("../../../public/assets/solutions-pages/gaming/mobile-case-study-ztx.png"),
items: [], items: [],
href: "https://paimastudios.com", href: "https://paimastudios.com",
hoverBackground: "#00B477", hoverBackground: "#00B477",
@@ -236,7 +236,7 @@ const SolutionsGaming: ThirdwebNextPage = () => {
> >
<ImageCard <ImageCard
title="Unity" title="Unity"
image={require("/public/assets/solutions-pages/gaming/gaming-unity.png")} image={require("../../../public/assets/solutions-pages/gaming/gaming-unity.png")}
TRACKING_CATEGORY={TRACKING_CATEGORY} TRACKING_CATEGORY={TRACKING_CATEGORY}
href="https://portal.thirdweb.com/unity" href="https://portal.thirdweb.com/unity"
linkTitle="Read the Unity SDK docs" linkTitle="Read the Unity SDK docs"
@@ -244,7 +244,7 @@ const SolutionsGaming: ThirdwebNextPage = () => {
/> />
<ImageCard <ImageCard
title="Unreal Engine" title="Unreal Engine"
image={require("/public/assets/solutions-pages/gaming/gaming-unreal.png")} image={require("../../../public/assets/solutions-pages/gaming/gaming-unreal.png")}
TRACKING_CATEGORY={TRACKING_CATEGORY} TRACKING_CATEGORY={TRACKING_CATEGORY}
href="https://portal.thirdweb.com/solutions/gaming/unreal-engine/quickstart" href="https://portal.thirdweb.com/solutions/gaming/unreal-engine/quickstart"
linkTitle="Read the Unreal Engine docs" linkTitle="Read the Unreal Engine docs"
@@ -252,7 +252,7 @@ const SolutionsGaming: ThirdwebNextPage = () => {
/> />
<ImageCard <ImageCard
title="Mobile" title="Mobile"
image={require("/public/assets/solutions-pages/gaming/gaming-phone.png")} image={require("../../../public/assets/solutions-pages/gaming/gaming-phone.png")}
TRACKING_CATEGORY={TRACKING_CATEGORY} TRACKING_CATEGORY={TRACKING_CATEGORY}
linkTitle="Read the React Native docs" linkTitle="Read the React Native docs"
href="https://portal.thirdweb.com/react-native/latest" href="https://portal.thirdweb.com/react-native/latest"
@@ -278,7 +278,7 @@ const SolutionsGaming: ThirdwebNextPage = () => {
> >
<ImageCard <ImageCard
title="Web3 Warriors" title="Web3 Warriors"
image={require("/public/assets/solutions-pages/gaming/web3warriors.png")} image={require("../../../public/assets/solutions-pages/gaming/web3warriors.png")}
TRACKING_CATEGORY={TRACKING_CATEGORY} TRACKING_CATEGORY={TRACKING_CATEGORY}
href="https://web3warriors.thirdweb.com" href="https://web3warriors.thirdweb.com"
category="Unity" category="Unity"
@@ -291,7 +291,7 @@ const SolutionsGaming: ThirdwebNextPage = () => {
<ImageCard <ImageCard
title="Cat Attack" title="Cat Attack"
image={require("/public/assets/solutions-pages/gaming/catattack-square.png")} image={require("../../../public/assets/solutions-pages/gaming/catattack-square.png")}
TRACKING_CATEGORY={TRACKING_CATEGORY} TRACKING_CATEGORY={TRACKING_CATEGORY}
href="https://catattack.thirdweb.com" href="https://catattack.thirdweb.com"
category="Mobile" category="Mobile"
@@ -304,7 +304,7 @@ const SolutionsGaming: ThirdwebNextPage = () => {
<ImageCard <ImageCard
title="Play Speed Racer" title="Play Speed Racer"
image={require("/public/assets/solutions-pages/gaming/gaming-speed-racer.png")} image={require("../../../public/assets/solutions-pages/gaming/gaming-speed-racer.png")}
TRACKING_CATEGORY={TRACKING_CATEGORY} TRACKING_CATEGORY={TRACKING_CATEGORY}
href="https://engine-express.thirdweb-preview.com/" href="https://engine-express.thirdweb-preview.com/"
category="Unreal Engine" category="Unreal Engine"
@@ -93,8 +93,8 @@ const SolutionsMinting: ThirdwebNextPage = () => {
/> />
</LandingGridSection> </LandingGridSection>
<LandingDesktopMobileImage <LandingDesktopMobileImage
image={require("/public/assets/solutions-pages/minting/what-can-you-build.png")} image={require("../../../public/assets/solutions-pages/minting/what-can-you-build.png")}
mobileImage={require("/public/assets/solutions-pages/minting/what-can-you-build-mobile.png")} mobileImage={require("../../../public/assets/solutions-pages/minting/what-can-you-build-mobile.png")}
/> />
<LandingGridSection> <LandingGridSection>
+4 -4
View File
@@ -65,7 +65,7 @@ const UIComponents: ThirdwebNextPage = () => {
> >
<ProductCard <ProductCard
title="Accelerate time-to-market" title="Accelerate time-to-market"
icon={require("/public/assets/product-pages/ui-components/hero-icon-1.png")} icon={require("../../public/assets/product-pages/ui-components/hero-icon-1.png")}
> >
Utilities for common web3 frontend use cases, e.g. enable connect Utilities for common web3 frontend use cases, e.g. enable connect
wallet, render NFTs metadata, and more. Faster development cycles wallet, render NFTs metadata, and more. Faster development cycles
@@ -73,7 +73,7 @@ const UIComponents: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Simplifying web3 complexity" title="Simplifying web3 complexity"
icon={require("/public/assets/product-pages/ui-components/hero-icon-2.png")} icon={require("../../public/assets/product-pages/ui-components/hero-icon-2.png")}
> >
We have thorough developer documentation on following best We have thorough developer documentation on following best
practices. No need to worry about configuring for each partner practices. No need to worry about configuring for each partner
@@ -81,7 +81,7 @@ const UIComponents: ThirdwebNextPage = () => {
</ProductCard> </ProductCard>
<ProductCard <ProductCard
title="Customizable UI components" title="Customizable UI components"
icon={require("/public/assets/product-pages/ui-components/hero-icon-3.png")} icon={require("../../public/assets/product-pages/ui-components/hero-icon-3.png")}
> >
All of our UI components are fully customizable which you can All of our UI components are fully customizable which you can
fine-tune for your specific use case. fine-tune for your specific use case.
@@ -112,7 +112,7 @@ const UIComponents: ThirdwebNextPage = () => {
<ProductSection py={{ base: 12, lg: 24 }}> <ProductSection py={{ base: 12, lg: 24 }}>
<SimpleGrid columns={{ base: 1, md: 4 }} gap={14}> <SimpleGrid columns={{ base: 1, md: 4 }} gap={14}>
<ProductLearnMoreCard <ProductLearnMoreCard
icon={require("/public/assets/product-pages/authentication/sign-in.png")} icon={require("../../public/assets/product-pages/authentication/sign-in.png")}
category={TRACKING_CATEGORY} category={TRACKING_CATEGORY}
title="Connect Wallet" title="Connect Wallet"
description="Easily allow users to sign in using their crypto wallets with multiple wallet options (e.g. Coinbase, Metamask, WalletConnect, and more)." description="Easily allow users to sign in using their crypto wallets with multiple wallet options (e.g. Coinbase, Metamask, WalletConnect, and more)."