Skip to content

Dashboard: Update outdated Portal links, Portal redirect cleanup #7699

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions apps/dashboard/src/@/components/contracts/code-overview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
formatAbiItem,
} from "abitype";
import { CircleAlertIcon } from "lucide-react";
import Link from "next/link";
import { useSearchParams } from "next/navigation";
import { useMemo, useState } from "react";
import * as ERC20Ext from "thirdweb/extensions/erc20";
Expand Down Expand Up @@ -882,14 +881,13 @@ function AccountFactorySection(props: {
<AlertTitle>Account Factory</AlertTitle>
<AlertDescription>
The recommended way to use account factories is to integrate the{" "}
<Link
className="text-primary-500 underline hover:text-primary-600"
href="https://portal.thirdweb.com/connect/account-abstraction/overview"
<UnderlineLink
href="https://portal.thirdweb.com/transactions/sponsor"
rel="noopener noreferrer"
target="_blank"
>
thirdweb SDK
</Link>{" "}
</UnderlineLink>{" "}
in your applications. This will ensure account contracts are
deployed for your users only when they need it.
</AlertDescription>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ export const products = [
description: "Enable gas sponsorship for seamless transactions",
icon: SmartAccountIcon,
id: "account-abstraction",
link: "https://portal.thirdweb.com/connect/account-abstraction/overview",
link: "https://portal.thirdweb.com/wallets/sponsor-gas",
name: "Account Abstraction",
},
{
description: "Enable payments in any token on any chain",
icon: PayIcon,
id: "pay",
link: "https://portal.thirdweb.com/connect/pay/overview",
link: "https://portal.thirdweb.com/payments",
name: "Payments",
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ async function AsyncAppHighlightsCard(props: {

return (
<EmptyStateCard
link="https://portal.thirdweb.com/connect/quickstart"
link="https://portal.thirdweb.com/wallets"
metric="Wallets"
/>
);
Expand All @@ -189,7 +189,7 @@ async function AsyncWalletDistributionCard(props: {
<WalletDistributionCard data={walletConnections} />
) : (
<EmptyStateCard
link="https://portal.thirdweb.com/connect/quickstart"
link="https://portal.thirdweb.com/wallets"
metric="Wallets"
/>
);
Expand Down Expand Up @@ -248,7 +248,7 @@ async function AsyncTransactionsChartCard(props: {
/>
) : (
<EmptyStateCard
link="https://portal.thirdweb.com/connect/quickstart"
link="https://portal.thirdweb.com/wallets"
metric="Wallets"
/>
);
Expand Down Expand Up @@ -355,7 +355,7 @@ function AppHighlightsCard({
emptyContent: (
<EmptyStateContent
description="Your apps haven't collected any fees yet."
link={"https://portal.thirdweb.com/connect/pay/fees"}
link={"https://portal.thirdweb.com/payments"}
metric="Fees"
/>
),
Expand All @@ -368,7 +368,7 @@ function AppHighlightsCard({
emptyContent: (
<EmptyStateContent
description="Onramp, swap, and bridge with thirdweb's Payments."
link="https://portal.thirdweb.com/connect/pay/overview"
link="https://portal.thirdweb.com/payments"
metric="Payments"
/>
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ export function AuthOptionsForm({
Enter the URL for your own authentication endpoint.{" "}
<a
className="underline"
href="https://portal.thirdweb.com/connect/in-app-wallet/custom-auth/configuration#generic-auth"
href="https://portal.thirdweb.com/wallets/custom-auth"
>
Learn more.
</a>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export async function EcosystemCreatePage(props: {
<br /> You can control which apps join your ecosystem and how their
users interact with your wallet.{" "}
<UnderlineLink
href="https://portal.thirdweb.com/connect/ecosystems/overview"
href="https://portal.thirdweb.com/wallets/ecosystem/set-up"
rel="noopener noreferrer"
target="_blank"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ export function CreateEcosystemForm(props: {
</FormControl>
<FormDescription>
<UnderlineLink
href="https://portal.thirdweb.com/connect/wallet/ecosystem/permissions"
href="https://portal.thirdweb.com/wallets/ecosystem/set-up#Set%20Ecosystem%20Permissions"
rel="noopener noreferrer"
target="_blank"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export function AAFooter() {
left={{
links: [
{
href: "https://portal.thirdweb.com/connect/account-abstraction/overview",
href: "https://portal.thirdweb.com/wallets/sponsor-gas",
label: "Overview",
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { getTeamBySlug } from "@/api/team";
import { ClientOnly } from "@/components/blocks/client-only";
import { GenericLoadingPage } from "@/components/blocks/skeletons/GenericLoadingPage";
import { Button } from "@/components/ui/button";
import { UnderlineLink } from "@/components/ui/UnderlineLink";
import { getClientThirdwebClient } from "@/constants/thirdweb-client.client";
import { serverThirdwebClient } from "@/constants/thirdweb-client.server";
import { loginRedirect } from "@/utils/redirects";
Expand Down Expand Up @@ -80,13 +79,6 @@ function YourFactoriesSection(props: {
</h3>
<p className="text-muted-foreground text-sm">
Deploy your own account factories to create smart wallets.{" "}
<UnderlineLink
href="https://portal.thirdweb.com/connect/account-abstraction/factories"
rel="noopener noreferrer"
target="_blank"
>
Learn more{" "}
</UnderlineLink>
</p>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ async function AsyncAppHighlightsCard(props: {

return (
<EmptyStateCard
link="https://portal.thirdweb.com/connect/quickstart"
link="https://portal.thirdweb.com/wallets"
metric="Wallets"
/>
);
Expand All @@ -395,7 +395,7 @@ async function AsyncWalletDistributionCard(props: {
<WalletDistributionCard data={walletConnections} />
) : (
<EmptyStateCard
link="https://portal.thirdweb.com/connect/quickstart"
link="https://portal.thirdweb.com/wallets"
metric="Wallets"
/>
);
Expand Down Expand Up @@ -436,7 +436,7 @@ function AppHighlightsCard({
emptyContent: (
<EmptyStateContent
description="Onramp, swap, and bridge with thirdweb's Payments."
link="https://portal.thirdweb.com/connect/pay/overview"
link="https://portal.thirdweb.com/payments"
metric="Payments"
/>
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ function UBFooter() {
left={{
links: [
{
href: "https://portal.thirdweb.com/connect/pay/overview",
href: "https://portal.thirdweb.com/payments",
label: "Overview",
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import { zodResolver } from "@hookform/resolvers/zod";
import { useMutation } from "@tanstack/react-query";
import Link from "next/link";
import { useForm } from "react-hook-form";
import { toast } from "sonner";
import type { Project } from "@/api/projects";
Expand Down Expand Up @@ -94,14 +93,6 @@ export const PayConfig: React.FC<PayConfigProps> = (props) => {
<p className="mt-1.5 mb-4 text-foreground text-sm">
thirdweb collects a 0.3% protocol fee on swap transactions. You
may set your own developer fee in addition to this fee.{" "}
<Link
className="text-link-foreground hover:text-foreground"
href="https://portal.thirdweb.com/connect/pay/fee-sharing"
rel="noopener noreferrer"
target="_blank"
>
Learn more.
</Link>
</p>

<div className="grid grid-cols-1 gap-4 lg:grid-cols-2">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ export function InAppWalletsFooter() {
label: "Pre-generate wallets for users",
},
{
href: "https://portal.thirdweb.com/connect/wallet/sign-in-methods/guest",
label: "Sign-in with guest mode",
href: "https://portal.thirdweb.com/wallets/custom-auth",
label: "Bring your own auth",
},
],
title: "Tutorials",
}}
left={{
links: [
{
href: "https://portal.thirdweb.com/connect/wallet/overview",
href: "https://portal.thirdweb.com/wallets",
label: "Overview",
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export async function InAppWalletsHeader() {
their users wallets. <br /> Email login, social login, and
bring-your-own auth supported.{" "}
<UnderlineLink
href="https://portal.thirdweb.com/connect/in-app-wallet/overview"
href="https://portal.thirdweb.com/wallets/users"
rel="noopener noreferrer"
target="_blank"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@ function JSONWebTokenFields(props: {
Optionally allow users to authenticate with a custom JWT.{" "}
<Link
className="text-link-foreground hover:text-foreground"
href="https://portal.thirdweb.com/connect/in-app-wallet/custom-auth/custom-jwt-auth-server"
href="https://portal.thirdweb.com/wallets/custom-auth"
rel="noopener noreferrer"
target="_blank"
>
Expand Down Expand Up @@ -609,7 +609,7 @@ function AuthEndpointFields(props: {
that you provide.{" "}
<Link
className="text-link-foreground hover:text-foreground"
href="https://portal.thirdweb.com/connect/in-app-wallet/custom-auth/custom-auth-server"
href="https://portal.thirdweb.com/wallets/custom-auth"
rel="noopener noreferrer"
target="_blank"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export function EmptyState() {
<div className="flex gap-2">
<Button asChild className="min-w-36" variant="primary">
<Link
href="https://portal.thirdweb.com/connect"
href="https://portal.thirdweb.com/wallets"
rel="noopener noreferrer"
target="_blank"
>
Expand Down
2 changes: 1 addition & 1 deletion apps/dashboard/src/app/bridge/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export default async function BridgePage({
</div>
<a
className="inline-flex items-center gap-2 rounded-md bg-green-600 px-4 py-2 font-medium text-sm text-white transition-all hover:bg-green-600/90 hover:shadow-sm"
href="https://portal.thirdweb.com/pay"
href="https://portal.thirdweb.com/payments"
rel="noopener noreferrer"
target="_blank"
>
Expand Down
69 changes: 31 additions & 38 deletions apps/portal/redirects.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -729,16 +729,15 @@ const paymentRedirects = {
"/checkouts/translations": "/payments/nft-checkout/translations",
"/checkouts/webhooks": "/payments/nft-checkout/webhooks",
"/connect/in-app-wallet/guides/get-in-app-wallet-details-on-server":
"/connect/in-app-wallet/guides/get-user-details",
"/connect/in-app-wallet/how-it-works": "/connect/in-app-wallet/security",
"/connect/pay/build-a-custom-experience":
"/connect/pay/guides/build-a-custom-experience",
"/connect/pay/buy-with-crypto": "/connect/pay/overview",
"/connect/pay/buy-with-crypto/fee-sharing": "/connect/pay/fee-sharing",
"/connect/pay/buy-with-crypto/overview": "/connect/pay/overview",
"/connect/pay/buy-with-fiat": "/connect/pay/overview",
"/connect/pay/enable-test-mode": "/connect/pay/guides/enable-test-mode",
"/connect/pay/guides/enable-test-mode": "/connect/pay/testing-pay",
"/wallets/get-users",
"/connect/in-app-wallet/how-it-works": "/wallets/security",
"/connect/pay/build-a-custom-experience": "/payments/products",
"/connect/pay/buy-with-crypto": "/payments",
"/connect/pay/buy-with-crypto/fee-sharing": "/payments",
"/connect/pay/buy-with-crypto/overview": "/payments",
"/connect/pay/buy-with-fiat": "/payments",
"/connect/pay/enable-test-mode": "/payments",
"/connect/pay/guides/enable-test-mode": "/payments",
};

const contractRedirects = {
Expand Down Expand Up @@ -914,14 +913,14 @@ const glossaryRedirects = {

const otherRedirects = {
"/api-keys": "/account/api-keys",
"/connect/account-abstraction": "/connect/account-abstraction/overview",
"/connect/account-abstraction": "/wallets/sponsor-gas",
// connect
"/connect/connect": "/connect/sign-in",
"/connect/connect": "/wallets",
"/connect/embedded-wallet/how-to/get-embedded-wallet-details-on-server":
"/connect/in-app-wallet/how-to/get-in-app-wallet-details-on-server",
"/connect/in-app-wallet/how-to/get-in-app-wallet-details-on-server":
"/connect/in-app-wallet/guides/get-in-app-wallet-details-on-server",
"/connect/smart-wallet/:path*": "/connect/account-abstraction/:path*",
"/connect/smart-wallet/:path*": "/wallets/sponsor-gas",
"/connect/wallet/sign-in-methods/overview":
"/connect/wallet/sign-in-methods/configure",
"/contractkit/:path*": "/contracts",
Expand Down Expand Up @@ -1010,11 +1009,10 @@ const otherRedirects = {
"/unity/wallets/providers/in-app-wallet",
"/unity/wallets/providers/smart-wallet":
"/unity/wallets/providers/account-abstraction",
"/wallet/get-started/overview": "/connect/wallet/overview",
"/wallet/get-started/overview": "/wallets",
// connect > wallets
"/connect": "/wallets",
"/connect/auth": "/wallets/auth",
"/connect/:path*": "/wallets/:path*",
"/connect/wallet/sign-in-methods/configure": "/wallets/users",
"/connect/wallet/server": "/wallets/server",
"/connect/account-abstraction/get-started": "/wallets/sponsor-gas",
Expand All @@ -1030,7 +1028,7 @@ const otherRedirects = {
"/wallets/wallet/server": "/wallets/server",
"/wallets/wallet/sign-in-methods/configure": "/wallets/users",
// account abstraction rename
"/wallets/smart-wallet/:path*": "/connect/account-abstraction/:path*",
"/wallets/smart-wallet/:path*": "/wallets/sponsor-gas",
"/web3-api/:path*": "/infrastructure/engine/overview",
};

Expand All @@ -1046,8 +1044,8 @@ const v4ToV5Redirects = {
"/react-native/v0/:path*": "/react-native/v5",
"/react/v4": "/react/v5",
"/react/v4/:path*": "/react/v5",
"/references/wallets": "/connect/external-wallets",
"/references/wallets/:path*": "/connect/external-wallets",
"/references/wallets": "/wallets/external-wallets",
"/references/wallets/:path*": "/wallets/external-wallets",
"/storage-sdk/v2": "/typescript/v5/storage",
"/storage-sdk/v2/:path*": "/typescript/v5/storage",
"/typescript/v4": "/typescript/v5",
Expand All @@ -1058,29 +1056,24 @@ const v4ToV5Redirects = {
};

const payRedirects = {
"/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/faqs": "/pay/faqs",
"/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/onramp-providers": "/pay/onramp-providers",
"/connect/pay/overview": "/pay",
"/connect/pay/testing-pay": "/pay/testing-pay",
"/connect/pay/webhooks": "/pay/webhooks",
"/connect/pay/customization/connectbutton": "/payments/products",
"/connect/pay/customization/payembed": "/payments/products",
"/connect/pay/customization/send-transaction": "/payments",
"/connect/pay/faqs": "/payments",
"/connect/pay/fees": "/payments",
"/connect/pay/get-started": "/payments",
"/connect/pay/guides/accept-direct-payments": "/payments",
"/connect/pay/guides/build-a-custom-experience": "/payments",
"/connect/pay/guides/cross-chain-swapping": "/payments",
"/connect/pay/onramp-providers": "/payments",
"/connect/pay/overview": "/payments",
"/connect/pay/testing-pay": "/payments",
"/connect/pay/webhooks": "/payments/webhooks",
};

const walletRefactorRedirects = {
"/typescript/v5/supported-wallets": "/connect/external-wallets",
"/typescript/v5/supported-wallets/:path*": "/connect/external-wallets/:path*",
"/typescript/v5/supported-wallets": "/wallets/external-wallets",
"/typescript/v5/supported-wallets/:path*": "/wallets/external-wallets",
};

/**
Expand Down
Loading