diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx
index 421356ecc12..a139454da52 100644
--- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx
+++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/page.tsx
@@ -1,9 +1,5 @@
-import { Button } from "@/components/ui/button";
-import { fetchTopContracts } from "lib/search";
-import { ArrowRightIcon, CircleAlertIcon } from "lucide-react";
-import Link from "next/link";
+import { CircleAlertIcon } from "lucide-react";
import { getRawAccount } from "../../../../account/settings/getAccount";
-import { TrendingContractSection } from "../../../trending/components/trending-table";
import { getChain, getChainMetadata } from "../../utils";
import { BuyFundsSection } from "./components/server/BuyFundsSection";
import { ChainOverviewSection } from "./components/server/ChainOverviewSection";
@@ -21,14 +17,7 @@ export default async function Page(props: {
const chainMetadata = await getChainMetadata(chain.chainId);
const isDeprecated = chain.status === "deprecated";
- const [account, topContracts] = await Promise.all([
- getRawAccount(),
- fetchTopContracts({
- chainId: chain.chainId,
- perPage: 3,
- timeRange: "month",
- }),
- ]);
+ const account = await getRawAccount();
return (
@@ -65,31 +54,6 @@ export default async function Page(props: {
)}
- {topContracts.length > 0 && (
-
-
-
- Popular Contracts
-
-
-
-
-
- )}
-
{chain.services.filter((s) => s.enabled).length > 0 && (
)}
diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/popular/page.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/popular/page.tsx
deleted file mode 100644
index 1fc7191859e..00000000000
--- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/(chainPage)/popular/page.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { type SortBy, fetchTopContracts } from "lib/search";
-import { CircleAlertIcon } from "lucide-react";
-import { TrendingContractSection } from "../../../../trending/components/trending-table";
-import { getChain } from "../../../utils";
-
-export default async function Page(props: {
- params: Promise<{ chain_id: string }>;
- searchParams: Promise<{ page?: number; sortBy?: SortBy }>;
-}) {
- const searchParams = await props.searchParams;
- const params = await props.params;
- const chain = await getChain(params.chain_id);
- const topContracts = await fetchTopContracts({
- chainId: chain.chainId,
- page: searchParams.page,
- sortBy: searchParams.sortBy,
- perPage: 15,
- timeRange: "month",
- });
-
- return (
-
-
- Popular Contracts
-
-
- Explore contracts on Ethereum and sort them by your preferred metrics
-
-
- {topContracts.length > 0 && (
-
- )}
- {topContracts.length === 0 && (
-
-
-
- No contracts found
-
-
- )}
-
- );
-}
diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/utils.ts b/apps/dashboard/src/app/(dashboard)/(chain)/utils.ts
index 06922e83917..67b2730f1bf 100644
--- a/apps/dashboard/src/app/(dashboard)/(chain)/utils.ts
+++ b/apps/dashboard/src/app/(dashboard)/(chain)/utils.ts
@@ -692,7 +692,7 @@ const chainMetaRecord = {
backgroundImageUrl: victionCTA.src,
title:
"Build, own, win, and be part of Viction World Wide Chain where everyone scales beyond limits.",
- buttonLink: "https://thirdweb.com/viction/popular",
+ buttonLink: "https://thirdweb.com/viction",
buttonText: "Learn More",
},
},
@@ -705,7 +705,7 @@ const chainMetaRecord = {
backgroundImageUrl: victionCTA.src,
title:
"Build, own, win, and be part of Viction World Wide Chain where everyone scales beyond limits.",
- buttonLink: "https://thirdweb.com/viction/popular",
+ buttonLink: "https://thirdweb.com/viction",
buttonText: "Learn More",
},
},
diff --git a/apps/dashboard/src/app/(dashboard)/trending/components/pagination.client.tsx b/apps/dashboard/src/app/(dashboard)/trending/components/pagination.client.tsx
deleted file mode 100644
index 0c11b36b6b9..00000000000
--- a/apps/dashboard/src/app/(dashboard)/trending/components/pagination.client.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-"use client";
-import {
- Pagination,
- PaginationContent,
- PaginationItem,
- PaginationNext,
- PaginationPrevious,
-} from "@/components/ui/pagination";
-import { useDashboardRouter } from "@/lib/DashboardRouter";
-import { usePathname, useSearchParams } from "next/navigation";
-
-export function TablePagination() {
- const router = useDashboardRouter();
- const path = usePathname();
- const searchParams = useSearchParams();
- const page = Number(searchParams?.get("page") || 1);
- const range = searchParams?.get("timeRange");
- const currentSort = searchParams?.get("sortBy") || "transactionCount";
- return (
-
-
-
- {
- if (page === 1) return;
- router.replace(
- `${path}?page=${Number(page) - 1}${range?.length ? `&timeRange=${range}` : ""}${currentSort ? `&sortBy=${currentSort}` : ""}`,
- {
- scroll: false,
- },
- );
- }}
- />
-
-
- {page}
-
-
- {
- router.replace(
- `${path}?page=${Number(page) + 1}${range?.length ? `&timeRange=${range}` : ""}${currentSort ? `&sortBy=${currentSort}` : ""}`,
- {
- scroll: false,
- },
- );
- }}
- />
-
-
-
- );
-}
diff --git a/apps/dashboard/src/app/(dashboard)/trending/components/sorting-header.client.tsx b/apps/dashboard/src/app/(dashboard)/trending/components/sorting-header.client.tsx
deleted file mode 100644
index 1b198cee6da..00000000000
--- a/apps/dashboard/src/app/(dashboard)/trending/components/sorting-header.client.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-"use client";
-import { Button } from "@/components/ui/button";
-import { useDashboardRouter } from "@/lib/DashboardRouter";
-import { cn } from "@/lib/utils";
-import { ChevronDown } from "lucide-react";
-import { usePathname } from "next/navigation";
-import type { SortBy, TimeRange } from "../../../../lib/search";
-
-type SortingHeaderProps = {
- sortBy: string;
- title: string;
- searchParams:
- | { timeRange?: TimeRange; page?: number; sortBy?: SortBy }
- | undefined;
-};
-
-export function SortingHeader(props: SortingHeaderProps) {
- const router = useDashboardRouter();
- const path = usePathname();
- const enableSorting = !!props.searchParams;
- const { timeRange, page, sortBy } = props.searchParams || {};
- const currentSort = sortBy || "transactionCount";
- const isCurrentSort = currentSort === props.sortBy;
- const justify =
- props.sortBy === "transactionCountChange" ? "justify-start" : "justify-end";
-
- if (!enableSorting) {
- return
{props.title}
;
- }
-
- return (
-
-
-
- );
-}
diff --git a/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx b/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx
deleted file mode 100644
index 50de4bbd23a..00000000000
--- a/apps/dashboard/src/app/(dashboard)/trending/components/trending-table.tsx
+++ /dev/null
@@ -1,206 +0,0 @@
-import { Badge } from "@/components/ui/badge";
-import {
- Table,
- TableBody,
- TableCell,
- TableContainer,
- TableHead,
- TableHeader,
- TableRow,
-} from "@/components/ui/table";
-import type { SortBy, TimeRange, TrendingContract } from "lib/search";
-import { CircleArrowDown, CircleArrowUp, DotIcon } from "lucide-react";
-import Link from "next/link";
-import type { ChainMetadata } from "thirdweb/chains";
-import { shortenAddress } from "thirdweb/utils";
-import { ChainIcon } from "../../(chain)/components/server/chain-icon";
-import { TablePagination } from "./pagination.client";
-import { SortingHeader } from "./sorting-header.client";
-
-export function TrendingContractSection(props: {
- topContracts: TrendingContract[];
- chainId?: number;
- perPage?: number;
- searchParams:
- | { timeRange?: TimeRange; page?: number; sortBy?: SortBy }
- | undefined;
- showPagination: boolean;
-}) {
- const { page } = props.searchParams || {};
- const firstIndex = Math.max(0, ((page || 1) - 1) * (props.perPage || 10));
- const showChainColumn = !props.chainId;
-
- return (
- props.topContracts.length > 0 && (
-
-
-
-
-
- Rank
- Contract
- Change
- {showChainColumn && Chain}
- Type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {props.topContracts.map((contract, index) => (
-
- {/* Rank */}
-
- {index + 1 + firstIndex}
-
-
- {/* Contract name */}
-
-
- {getContractName(contract)}
-
-
-
- {/* % Change */}
-
-
-
-
- {/* Chain */}
- {showChainColumn && (
-
-
-
- )}
-
- {/* Type */}
-
- {contract.type ? (
-
- {contract.type}
-
- ) : (
-
- )}
-
-
- {/* Tx count */}
-
- {contract.transactionCount}
-
-
- {/* Wallet Count */}
-
- {contract.walletCount}
-
-
- {/* Gas Usage */}
-
- {contract.gasUsage}
-
-
- {/* Value Moved */}
-
- {contract.valueMoved || (
-
- )}
-
-
- ))}
-
-
-
-
- {props.showPagination && (
-
- )}
-
- )
- );
-}
-
-function ChangeCell(props: { displayCount: string; change: number }) {
- if (!props.displayCount) {
- return null;
- }
-
- const variant = props.change > 0 ? "success" : "destructive";
- const badge = (
-
- {props.change > 0 ? (
-
- ) : (
-
- )}
- {props.change < 10 ? props.change.toFixed(1) : props.change.toFixed(0)}%
-
- );
- return (
-
- {badge}
-
- );
-}
-
-function ChainCell(props: { chainMetadata: ChainMetadata }) {
- const chainMetadata = props.chainMetadata;
- return (
-
-
- {chainMetadata.name.split(" ")[0]}
-
- );
-}
-
-function getContractName(contract: TrendingContract) {
- if (contract.name && contract.name !== "Unimported Contract") {
- return contract.name;
- }
- return shortenAddress(contract.contractAddress);
-}
diff --git a/apps/dashboard/src/app/(dashboard)/trending/loading.tsx b/apps/dashboard/src/app/(dashboard)/trending/loading.tsx
deleted file mode 100644
index 02fa48bed24..00000000000
--- a/apps/dashboard/src/app/(dashboard)/trending/loading.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Spinner } from "@/components/ui/Spinner/Spinner";
-
-export default function Loading() {
- return (
-
-
-
- );
-}
diff --git a/apps/dashboard/src/app/(dashboard)/trending/opengraph-image.png b/apps/dashboard/src/app/(dashboard)/trending/opengraph-image.png
deleted file mode 100644
index 177c1675afd..00000000000
Binary files a/apps/dashboard/src/app/(dashboard)/trending/opengraph-image.png and /dev/null differ
diff --git a/apps/dashboard/src/app/(dashboard)/trending/page.tsx b/apps/dashboard/src/app/(dashboard)/trending/page.tsx
deleted file mode 100644
index c5c952cc620..00000000000
--- a/apps/dashboard/src/app/(dashboard)/trending/page.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { type SortBy, type TimeRange, fetchTopContracts } from "lib/search";
-import type { Metadata } from "next";
-import { TrendingContractSection } from "./components/trending-table";
-
-export const metadata: Metadata = {
- title: "Trending Contracts",
- description: "See what's hot onchain right now",
- openGraph: {
- title: "Trending Contracts",
- description: "See what's hot onchain right now",
- },
-};
-
-export default async function DashboardContractTrendingPage(props: {
- searchParams: Promise<{
- timeRange?: TimeRange;
- page?: number;
- sortBy?: SortBy;
- }>;
-}) {
- const topContracts = await fetchTopContracts({
- ...(await props.searchParams),
- timeRange: "month",
- perPage: 20,
- });
-
- return (
-
-
- Trending Contracts
-
-
-
- );
-}
diff --git a/apps/dashboard/src/app/components/Header/SecondaryNav/ResourcesDropdownButton.tsx b/apps/dashboard/src/app/components/Header/SecondaryNav/ResourcesDropdownButton.tsx
index ab1264ad691..74e0436cc30 100644
--- a/apps/dashboard/src/app/components/Header/SecondaryNav/ResourcesDropdownButton.tsx
+++ b/apps/dashboard/src/app/components/Header/SecondaryNav/ResourcesDropdownButton.tsx
@@ -7,19 +7,17 @@ import {
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
-import { CmdKSearchModal } from "components/cmd-k-search";
-import { ChevronDownIcon, CommandIcon } from "lucide-react";
+import { ChevronDownIcon } from "lucide-react";
import Link from "next/link";
-import { useState } from "react";
export function ResourcesDropdownButton() {
- const [isCMDSearchModalOpen, setIsCMDSearchModalOpen] = useState(false);
+ // const [isCMDSearchModalOpen, setIsCMDSearchModalOpen] = useState(false);
return (
<>
-
+ /> */}
-
+ */}
>
diff --git a/apps/dashboard/src/app/components/MobileBurgerMenuButton.tsx b/apps/dashboard/src/app/components/MobileBurgerMenuButton.tsx
index 0cf3b0f55a1..3adc4cb69cf 100644
--- a/apps/dashboard/src/app/components/MobileBurgerMenuButton.tsx
+++ b/apps/dashboard/src/app/components/MobileBurgerMenuButton.tsx
@@ -15,7 +15,6 @@ import {
import { useTheme } from "next-themes";
import Link from "next/link";
import { useLayoutEffect, useState } from "react";
-import { CmdKSearchModal } from "../../components/cmd-k-search";
import { ThirdwebMiniLogo } from "./ThirdwebMiniLogo";
export function MobileBurgerMenuButton(
@@ -32,7 +31,7 @@ export function MobileBurgerMenuButton(
) {
const [isMenuOpen, setIsMenuOpen] = useState(false);
const { setTheme, theme } = useTheme();
- const [isCMDSearchModalOpen, setIsCMDSearchModalOpen] = useState(false);
+ // const [isCMDSearchModalOpen, setIsCMDSearchModalOpen] = useState(false);
useLayoutEffect(() => {
if (isMenuOpen) {
@@ -48,10 +47,10 @@ export function MobileBurgerMenuButton(
return (
<>
-
+ /> */}
- {
@@ -126,7 +126,7 @@ export function MobileBurgerMenuButton(
}}
>
Search Contracts
-
+ */}
-
- Trending Contracts
-
-
-
+ {/* This will be added later */}
+ {/*
*/}