diff --git a/apps/web/ui/program-marketplace/marketplace-sidebar-filters.tsx b/apps/web/ui/program-marketplace/marketplace-sidebar-filters.tsx
index e3e051fe508..56455742e84 100644
--- a/apps/web/ui/program-marketplace/marketplace-sidebar-filters.tsx
+++ b/apps/web/ui/program-marketplace/marketplace-sidebar-filters.tsx
@@ -1,6 +1,5 @@
"use client";
-import { getMarketplaceHref } from "@/ui/program-marketplace/utils/urls";
import { ChevronLeft, Filter, useKeyboardShortcut } from "@dub/ui";
import { cn } from "@dub/utils";
import Link from "next/link";
@@ -24,7 +23,7 @@ export function MarketplaceSidebarFilters() {
return (
;
-function getRowPrograms(
- summary: MarketplaceProgramsSummary,
- rowKey: string,
-): NetworkProgramProps[] {
- if (rowKey === "most-popular") {
- return summary.mostPopular;
- }
-
- if (rowKey === "new") {
- return summary.newPrograms;
- }
-
- return summary.categories[rowKey as Category] ?? [];
-}
-
export function MarketplaceHomePage() {
const { data: summary } = useSWR(
"/api/network/programs/summary",
@@ -51,11 +34,14 @@ export function MarketplaceHomePage() {
{MARKETPLACE_HOME_ROWS.map((row) => (
))}
diff --git a/apps/web/ui/program-marketplace/pages/marketplace-program-page.tsx b/apps/web/ui/program-marketplace/pages/marketplace-program-page.tsx
index d99378a091d..3f5e8ebe9f8 100644
--- a/apps/web/ui/program-marketplace/pages/marketplace-program-page.tsx
+++ b/apps/web/ui/program-marketplace/pages/marketplace-program-page.tsx
@@ -1,5 +1,4 @@
import { getNetworkProgram } from "@/lib/fetchers/get-network-program";
-import { prisma } from "@/lib/prisma";
import { ApplicationAnalytics } from "@/ui/application-analytics";
import { PageContent } from "@/ui/layout/page-content";
import { PageWidthWrapper } from "@/ui/layout/page-width-wrapper";
@@ -8,43 +7,11 @@ import { MarketplaceProgramDetailsLayout } from "@/ui/program-marketplace/market
import { MarketplaceProgramHero } from "@/ui/program-marketplace/marketplace-program-hero";
import { MarketplaceProgramPageSkeleton } from "@/ui/program-marketplace/marketplace-program-page-skeleton";
import { ChevronRight, Shop } from "@dub/ui";
-import { Category } from "@prisma/client";
import Link from "next/link";
import { redirect } from "next/navigation";
import { Suspense } from "react";
import { MarketplaceProgramHeaderControls } from "../marketplace-program-header-controls";
import { ProgramStatusBadge } from "../program-status-badge";
-import { getMarketplaceHref } from "../utils/urls";
-
-export const revalidate = 3600; // 1 hour
-
-export async function generateMarketplaceProgramStaticParams() {
- const programs = await prisma.program.findMany({
- where: {
- addedToMarketplaceAt: {
- not: null,
- },
- },
- select: {
- slug: true,
- },
- });
-
- const categoryPages = Object.values(Category).map((category) => ({
- segments: ["c", category.toLowerCase()],
- }));
-
- const programPages = programs.map((program) => ({
- segments: [program.slug],
- }));
-
- return [
- { segments: [] },
- { segments: ["all"] },
- ...categoryPages,
- ...programPages,
- ];
-}
export function MarketplaceProgramPage({
programSlug,
@@ -68,7 +35,7 @@ async function MarketplaceProgramPageContent({
});
if (!program) {
- redirect(getMarketplaceHref());
+ redirect("/marketplace");
}
return (
@@ -77,7 +44,7 @@ async function MarketplaceProgramPageContent({
diff --git a/apps/web/ui/program-marketplace/program-card.tsx b/apps/web/ui/program-marketplace/program-card.tsx
index fb3d87dedf1..22b6370b407 100644
--- a/apps/web/ui/program-marketplace/program-card.tsx
+++ b/apps/web/ui/program-marketplace/program-card.tsx
@@ -6,7 +6,6 @@ import { ProgramRewardsDisplay } from "@/ui/program-marketplace/program-rewards-
import {
getMarketplaceAllHref,
getMarketplaceCategoryHref,
- getMarketplaceProgramHref,
} from "@/ui/program-marketplace/utils/urls";
import { Tooltip } from "@dub/ui";
import { OG_AVATAR_URL, cn } from "@dub/utils";
@@ -27,7 +26,7 @@ export function MarketplaceProgramCard({
return (
{item.description}
-
+
({
+ segments: ["c", category.toLowerCase()],
+ }));
+
+ const programPages = programs.map((program) => ({
+ segments: [program.slug],
+ }));
+
+ return [
+ { segments: [] },
+ { segments: ["all"] },
+ ...categoryPages,
+ ...programPages,
+ ];
+}
diff --git a/apps/web/ui/program-marketplace/utils/urls.ts b/apps/web/ui/program-marketplace/utils/urls.ts
index c09ab1a56a8..2f70cc4b6c6 100644
--- a/apps/web/ui/program-marketplace/utils/urls.ts
+++ b/apps/web/ui/program-marketplace/utils/urls.ts
@@ -34,14 +34,10 @@ function buildMarketplaceHref(
return `${path}${queryString ? `?${queryString}` : ""}`;
}
-export function getMarketplaceHref() {
- return MARKETPLACE_BASE;
-}
-
export function getMarketplaceAllHref(
params?: Record,
) {
- return buildMarketplaceHref(`${MARKETPLACE_BASE}/all`, params);
+ return buildMarketplaceHref("/marketplace/all", params);
}
export function getPreservedMarketplaceSearchParams(
@@ -62,37 +58,11 @@ export function getMarketplaceCategoryHref(
params?: Record,
) {
return buildMarketplaceHref(
- `${MARKETPLACE_BASE}/c/${category.toLowerCase()}`,
+ `/marketplace/c/${category.toLowerCase()}`,
params,
);
}
-export function getMarketplaceProgramHref(programSlug: string) {
- return `${MARKETPLACE_BASE}/${programSlug}`;
-}
-
-export function getMarketplacePathFromSlug(slug?: string[]) {
- const segments = slug ?? [];
-
- if (segments.length === 0) {
- return MARKETPLACE_BASE;
- }
-
- return `${MARKETPLACE_BASE}/${segments.join("/")}`;
-}
-
-export function getMarketplaceCanonicalUrl(pathname: string) {
- return `https://dub.co${pathname.startsWith("/") ? pathname : `/${pathname}`}`;
-}
-
-function getMarketplacePartnersProgramUrl(programSlug: string) {
- return `https://partners.dub.co${getMarketplaceProgramHref(programSlug)}`;
-}
-
-export function getMarketplacePublicApplyHref(programSlug: string) {
- return getMarketplacePartnersProgramUrl(programSlug);
-}
-
export function getMarketplaceCategoryFromPathname(
pathname: string,
): Category | null {