From bfdac10dcc207a5feb1b295549bc4f8cbab25332 Mon Sep 17 00:00:00 2001 From: saminacodes Date: Mon, 19 May 2025 04:26:51 +0000 Subject: [PATCH] [Docs] UB Migration & Other Small Things (#7075) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CORE-0000 --- ## PR-Codex overview This PR focuses on restructuring the `pay` section of the portal by updating links, modifying sidebar navigation, and adding new assets and pages to improve the user experience and documentation clarity. ### Detailed summary - Added new links to the `links` array for `Bridge`. - Updated `href` values in `apisLinks` for the Insight API. - Modified `FooterLinkItem` labels for consistency. - Created and adjusted multiple `.mdx` pages for the `pay` section. - Introduced `payRedirects` for improved navigation. - Updated the sidebar structure for the `pay` section, including new links and icons. - Added new layout and metadata to `layout.tsx` for better documentation presentation. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- apps/portal/redirects.mjs | 22 +++ apps/portal/src/app/Header.tsx | 6 +- apps/portal/src/app/connect/sidebar.tsx | 95 ------------- apps/portal/src/app/insight/sidebar.tsx | 4 +- apps/portal/src/app/page.tsx | 12 +- .../{connect => }/pay/assets/avax-to-usd.png | Bin .../pay/assets/buy-with-crypto.png | Bin .../src/app/{connect => }/pay/assets/bwc.png | Bin .../src/app/{connect => }/pay/assets/bwf.png | Bin .../pay/assets/direct-payments-flow.png | Bin .../pay/assets/get-started-embed.png | Bin .../pay/assets/get-started-send.png | Bin .../{connect => }/pay/assets/pay-api-key.png | Bin .../{connect => }/pay/assets/pay-modal.png | Bin .../{connect => }/pay/assets/pay-overview.png | Bin .../{connect => }/pay/assets/pay-settings.png | Bin .../pay/customization/connectbutton/page.mdx | 0 .../pay/customization/payembed/page.mdx | 0 .../customization/send-transaction/page.mdx | 0 .../src/app/{connect => }/pay/faqs/page.mdx | 0 .../pay/fees/assets/fee-dash.png | Bin .../src/app/{connect => }/pay/fees/page.mdx | 0 .../{connect => }/pay/get-started/page.mdx | 0 .../guides/accept-direct-payments/page.mdx | 0 .../guides/build-a-custom-experience/page.mdx | 0 .../pay/guides/cross-chain-swapping/page.mdx | 0 apps/portal/src/app/pay/layout.tsx | 21 +++ .../pay/onramp-providers/page.mdx | 0 .../{connect/pay/overview => pay}/page.mdx | 4 +- apps/portal/src/app/pay/sidebar.tsx | 131 ++++++++++++++++++ .../pay/supported-chains/page.mdx | 0 .../{connect => }/pay/testing-pay/page.mdx | 0 .../app/{connect => }/pay/webhooks/page.mdx | 0 .../src/components/Document/PageFooter.tsx | 12 +- 34 files changed, 195 insertions(+), 112 deletions(-) rename apps/portal/src/app/{connect => }/pay/assets/avax-to-usd.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/buy-with-crypto.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/bwc.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/bwf.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/direct-payments-flow.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/get-started-embed.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/get-started-send.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/pay-api-key.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/pay-modal.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/pay-overview.png (100%) rename apps/portal/src/app/{connect => }/pay/assets/pay-settings.png (100%) rename apps/portal/src/app/{connect => }/pay/customization/connectbutton/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/customization/payembed/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/customization/send-transaction/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/faqs/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/fees/assets/fee-dash.png (100%) rename apps/portal/src/app/{connect => }/pay/fees/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/get-started/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/guides/accept-direct-payments/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/guides/build-a-custom-experience/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/guides/cross-chain-swapping/page.mdx (100%) create mode 100644 apps/portal/src/app/pay/layout.tsx rename apps/portal/src/app/{connect => }/pay/onramp-providers/page.mdx (100%) rename apps/portal/src/app/{connect/pay/overview => pay}/page.mdx (97%) create mode 100644 apps/portal/src/app/pay/sidebar.tsx rename apps/portal/src/app/{connect => }/pay/supported-chains/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/testing-pay/page.mdx (100%) rename apps/portal/src/app/{connect => }/pay/webhooks/page.mdx (100%) diff --git a/apps/portal/redirects.mjs b/apps/portal/redirects.mjs index c56b523ec89..456a3dfb57d 100644 --- a/apps/portal/redirects.mjs +++ b/apps/portal/redirects.mjs @@ -1046,6 +1046,27 @@ const v4ToV5Redirects = { "/references/wallets/:path*": "/typescript/v5/supported-wallets", }; +const payRedirects = { + "/connect/pay/overview": "/pay", + "/connect/pay/onramp-providers": "/pay/onramp-providers", + "/connect/pay/fees": "/pay/fees", + "/connect/pay/get-started": "/pay/get-started", + "/connect/pay/guides/accept-direct-payments": + "/pay/guides/accept-direct-payments", + "/connect/pay/guides/build-a-custom-experience": + "/pay/guides/build-a-custom-experience", + "/connect/pay/guides/cross-chain-swapping": + "/pay/guides/cross-chain-swapping", + "/connect/pay/customization/connectbutton": + "/pay/customization/connectbutton", + "/connect/pay/customization/payembed": "/pay/customization/payembed", + "/connect/pay/customization/send-transaction": + "/pay/customization/send-transaction", + "/connect/pay/webhooks": "/pay/webhooks", + "/connect/pay/testing-pay": "/pay/testing-pay", + "/connect/pay/faqs": "/pay/faqs", +}; + /** * @type {import('next').NextConfig['redirects']} */ @@ -1066,6 +1087,7 @@ export const redirects = async () => { ...createRedirects(unrealEngineRedirects), ...createRedirects(v4ToV5Redirects), ...createRedirects(glossaryRedirects), + ...createRedirects(payRedirects), ]; }; diff --git a/apps/portal/src/app/Header.tsx b/apps/portal/src/app/Header.tsx index 357a97a6910..561b2628e44 100644 --- a/apps/portal/src/app/Header.tsx +++ b/apps/portal/src/app/Header.tsx @@ -26,6 +26,10 @@ import { import { ThirdwebIcon } from "../icons/thirdweb"; const links = [ + { + name: "Bridge", + href: "/pay", + }, { name: "Engine", href: "/engine", @@ -120,7 +124,7 @@ export const connectLinks: Array<{ const apisLinks = [ { name: "Insight", - href: "https://insight-api.thirdweb.com/reference", + href: "https://insight.thirdweb.com/reference", }, { name: "Engine Cloud", diff --git a/apps/portal/src/app/connect/sidebar.tsx b/apps/portal/src/app/connect/sidebar.tsx index 4410d2b1146..545996b559f 100644 --- a/apps/portal/src/app/connect/sidebar.tsx +++ b/apps/portal/src/app/connect/sidebar.tsx @@ -9,7 +9,6 @@ const inAppSlug = "/connect/in-app-wallet"; const walletSlug = "/connect/wallet"; const aAslug = "/connect/account-abstraction"; const authSlug = "/connect/auth"; -const paySlug = "/connect/pay"; export const sidebar: SideBar = { name: "Connect", @@ -229,100 +228,6 @@ export const sidebar: SideBar = { ], }, { separator: true }, - { - name: "Universal Bridge", - isCollapsible: false, - links: [ - { - name: "Overview", - href: `${paySlug}/overview`, - }, - { - name: "Supported Routes", - href: "https://thirdweb.com/routes", - }, - { - name: "Onramp Providers", - href: `${paySlug}/onramp-providers`, - }, - { - name: "Service Fees", - href: `${paySlug}/fees`, - }, - { - name: "API", - href: "https://bridge.thirdweb.com/reference", - }, - { - name: "Get Started", - href: `${paySlug}/get-started`, - expanded: true, - links: [ - { - name: "ConnectButton", - href: `${paySlug}/get-started#option-1-connectbutton`, - }, - { - name: "Embed", - href: `${paySlug}/get-started#option-2-embed-pay`, - }, - { - name: "Send a Transaction", - href: `${paySlug}/get-started#option-3-send-a-transaction-with-pay`, - }, - ], - }, - { - name: "Tutorials", - isCollapsible: true, - - links: [ - { - name: "Accept Direct Payments", - href: `${paySlug}/guides/accept-direct-payments`, - }, - { - name: "Build a Custom Onramp Experience", - href: `${paySlug}/guides/build-a-custom-experience`, - }, - { - name: "Cross-Chain Swapping", - href: `${paySlug}/guides/cross-chain-swapping`, - }, - ], - }, - { - name: "Customization", - isCollapsible: true, - links: [ - { - name: "ConnectButton", - href: `${paySlug}/customization/connectbutton`, - }, - { - name: "PayEmbed", - href: `${paySlug}/customization/payembed`, - }, - { - name: "useSendTransaction", - href: `${paySlug}/customization/send-transaction`, - }, - ], - }, - { - name: "Webhooks", - href: `${paySlug}/webhooks`, - }, - { - name: "Developer Mode", - href: `${paySlug}/testing-pay`, - }, - { - name: "FAQs", - href: `${paySlug}/faqs`, - }, - ], - }, // User identity { name: "User Identity", diff --git a/apps/portal/src/app/insight/sidebar.tsx b/apps/portal/src/app/insight/sidebar.tsx index 9c86bb0ae98..fc013fb0e11 100644 --- a/apps/portal/src/app/insight/sidebar.tsx +++ b/apps/portal/src/app/insight/sidebar.tsx @@ -82,13 +82,13 @@ export const sidebar: SideBar = { }, { name: "API Reference", - href: "https://insight-api.thirdweb.com/reference#tag/webhooks", + href: "https://insight.thirdweb.com/reference#tag/webhooks", }, ], }, { name: "API Reference", - href: "https://insight-api.thirdweb.com/reference", + href: "https://insight.thirdweb.com/reference", icon: , }, { diff --git a/apps/portal/src/app/page.tsx b/apps/portal/src/app/page.tsx index 6d4264fe24e..2786b568ee6 100644 --- a/apps/portal/src/app/page.tsx +++ b/apps/portal/src/app/page.tsx @@ -39,8 +39,7 @@ function Hero() { thirdweb Documentation

- Frontend, Backend, and Onchain tools to build complete web3 apps — - on every EVM chain. + Development framework for building onchain apps, games, and agents.

@@ -115,7 +114,7 @@ function ReferenceSection() { /> - + {props.children} + + ); +} + +export const metadata = createMetadata({ + title: "thirdweb Universal Bridge Documentation", + image: { + title: "thirdweb Universal Bridge Docs", + icon: "nebula", + }, + description: + "thirdweb Universal Bridge documentation. Learn how to use the thirdweb Universal Bridge to send and receive tokens across different blockchains.", +}); diff --git a/apps/portal/src/app/connect/pay/onramp-providers/page.mdx b/apps/portal/src/app/pay/onramp-providers/page.mdx similarity index 100% rename from apps/portal/src/app/connect/pay/onramp-providers/page.mdx rename to apps/portal/src/app/pay/onramp-providers/page.mdx diff --git a/apps/portal/src/app/connect/pay/overview/page.mdx b/apps/portal/src/app/pay/page.mdx similarity index 97% rename from apps/portal/src/app/connect/pay/overview/page.mdx rename to apps/portal/src/app/pay/page.mdx index 44e52b7f8a7..c3235322a96 100644 --- a/apps/portal/src/app/connect/pay/overview/page.mdx +++ b/apps/portal/src/app/pay/page.mdx @@ -1,6 +1,6 @@ import { createMetadata, DocImage, Grid, SDKCard, FeatureCard } from "@doc"; -import PayOverviewImage from "../assets/pay-overview.png"; -import SupportedChains from "../../../_images/supported-chains.png"; +import PayOverviewImage from "./assets/pay-overview.png"; +import SupportedChains from "../_images/supported-chains.png"; import {RocketIcon, ArrowLeftRightIcon, WalletIcon, PencilIcon, ShieldCheckIcon, PiggyBankIcon, GlobeIcon, ComponentIcon} from "lucide-react"; export const metadata = createMetadata({ diff --git a/apps/portal/src/app/pay/sidebar.tsx b/apps/portal/src/app/pay/sidebar.tsx new file mode 100644 index 00000000000..7d9814e83d3 --- /dev/null +++ b/apps/portal/src/app/pay/sidebar.tsx @@ -0,0 +1,131 @@ +import type { SideBar } from "@/components/Layouts/DocLayout"; +import { + AlbumIcon, + ArrowLeftRightIcon, + BracesIcon, + CircleDollarSignIcon, + CodeIcon, + FlaskConicalIcon, + MessageCircleQuestionIcon, + PaletteIcon, + RocketIcon, + TriangleRightIcon, + WalletIcon, + WebhookIcon, +} from "lucide-react"; + +const paySlug = "/pay"; + +export const sidebar: SideBar = { + name: "Universal Bridge", + links: [ + { + name: "Overview", + href: `${paySlug}/overview`, + icon: , + }, + { + name: "Supported Routes", + href: "https://thirdweb.com/routes", + icon: , + }, + { + name: "Onramp Providers", + href: `${paySlug}/onramp-providers`, + icon: , + }, + { + name: "Service Fees", + href: `${paySlug}/fees`, + icon: , + }, + { + name: "Get Started", + href: `${paySlug}/get-started`, + icon: , + links: [ + { + name: "ConnectButton", + href: `${paySlug}/get-started#option-1-connectbutton`, + }, + { + name: "Embed", + href: `${paySlug}/get-started#option-2-embed-pay`, + }, + { + name: "Send a Transaction", + href: `${paySlug}/get-started#option-3-send-a-transaction-with-pay`, + }, + ], + }, + { + name: "Tutorials", + isCollapsible: true, + icon: , + links: [ + { + name: "Accept Direct Payments", + href: `${paySlug}/guides/accept-direct-payments`, + }, + { + name: "Build a Custom Onramp Experience", + href: `${paySlug}/guides/build-a-custom-experience`, + }, + { + name: "Cross-Chain Swapping", + href: `${paySlug}/guides/cross-chain-swapping`, + }, + ], + }, + { + name: "Customization", + isCollapsible: true, + icon: , + links: [ + { + name: "ConnectButton", + href: `${paySlug}/customization/connectbutton`, + }, + { + name: "PayEmbed", + href: `${paySlug}/customization/payembed`, + }, + { + name: "useSendTransaction", + href: `${paySlug}/customization/send-transaction`, + }, + ], + }, + { + name: "API Reference", + href: "https://bridge.thirdweb.com/reference", + icon: , + }, + { + name: "SDK Reference", + href: "/typescript/v5/buy/quote", + icon: , + links: [ + { + name: "TypeScript SDK", + href: "/typescript/v5/buy/quote", + }, + ], + }, + { + name: "Webhooks", + href: `${paySlug}/webhooks`, + icon: , + }, + { + name: "Developer Mode", + href: `${paySlug}/testing-pay`, + icon: , + }, + { + name: "FAQs", + href: `${paySlug}/faqs`, + icon: , + }, + ], +}; diff --git a/apps/portal/src/app/connect/pay/supported-chains/page.mdx b/apps/portal/src/app/pay/supported-chains/page.mdx similarity index 100% rename from apps/portal/src/app/connect/pay/supported-chains/page.mdx rename to apps/portal/src/app/pay/supported-chains/page.mdx diff --git a/apps/portal/src/app/connect/pay/testing-pay/page.mdx b/apps/portal/src/app/pay/testing-pay/page.mdx similarity index 100% rename from apps/portal/src/app/connect/pay/testing-pay/page.mdx rename to apps/portal/src/app/pay/testing-pay/page.mdx diff --git a/apps/portal/src/app/connect/pay/webhooks/page.mdx b/apps/portal/src/app/pay/webhooks/page.mdx similarity index 100% rename from apps/portal/src/app/connect/pay/webhooks/page.mdx rename to apps/portal/src/app/pay/webhooks/page.mdx diff --git a/apps/portal/src/components/Document/PageFooter.tsx b/apps/portal/src/components/Document/PageFooter.tsx index f85caa195c1..78e11bbae06 100644 --- a/apps/portal/src/components/Document/PageFooter.tsx +++ b/apps/portal/src/components/Document/PageFooter.tsx @@ -1,5 +1,6 @@ import { BadgeHelpIcon, + BrainIcon, type LucideIcon, ScrollTextIcon, VideoIcon, @@ -37,17 +38,24 @@ function Links() { + + ); }