diff --git a/apps/web/app/(ee)/app.dub.co/embed/referrals/quickstart.tsx b/apps/web/app/(ee)/app.dub.co/embed/referrals/quickstart.tsx
index d722c5fb7bd..93841efa6d8 100644
--- a/apps/web/app/(ee)/app.dub.co/embed/referrals/quickstart.tsx
+++ b/apps/web/app/(ee)/app.dub.co/embed/referrals/quickstart.tsx
@@ -1,4 +1,5 @@
import { constructPartnerLink } from "@/lib/partners/construct-partner-link";
+import { programEmbedSchema } from "@/lib/zod/schemas/program-embed";
import {
Button,
Carousel,
@@ -23,9 +24,10 @@ export function ReferralsEmbedQuickstart({
setSelectedTab,
}: {
hasResources: boolean;
- setSelectedTab: (tab: "Links" | "Resources") => void;
+ setSelectedTab: (tab: "Links" | "Resources" | "FAQ") => void;
}) {
const { program, group, links, earnings } = useReferralsEmbedData();
+ const programEmbedData = programEmbedSchema.parse(program.embedData);
const [copied, copyToClipboard] = useCopyToClipboard();
const { isMobile } = useMediaQuery();
@@ -99,26 +101,46 @@ export function ReferralsEmbedQuickstart({
/>
),
},
- {
- title: "Receive earnings",
- description:
- "Connect payouts to get rewarded for the activity you drive, with earnings tracked automatically.",
- illustration:
,
- cta: (
-
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commissions-table.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commissions-table.tsx
index 86132c0ba2b..ce2cd019f4c 100644
--- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commissions-table.tsx
+++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/commissions-table.tsx
@@ -21,6 +21,7 @@ import SimpleDateRangePicker from "@/ui/shared/simple-date-range-picker";
import {
AnimatedSizeContainer,
Button,
+ ChartLine,
EditColumnsButton,
Filter,
StatusBadge,
@@ -28,6 +29,7 @@ import {
TimestampTooltip,
Tooltip,
useColumnVisibility,
+ useMediaQuery,
usePagination,
useRouterStuff,
useTable,
@@ -40,6 +42,7 @@ import {
formatDateTimeSmart,
nFormatter,
} from "@dub/utils";
+import Link from "next/link";
import { useRouter } from "next/navigation";
import { useMemo } from "react";
import useSWR from "swr";
@@ -435,6 +438,9 @@ export function CommissionsTable() {
}
function CommissionsFilters() {
+ const { slug } = useWorkspace();
+ const { getQueryString } = useRouterStuff();
+ const { isMobile } = useMediaQuery();
const {
filters,
activeFilters,
@@ -449,7 +455,7 @@ function CommissionsFilters() {
return (
-
+
-
+
+
+
+
+ }
+ text={isMobile ? undefined : "View Analytics"}
+ />
+
+
+
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/applications-menu-popover.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/applications-menu-popover.tsx
index 6c333bc52e1..cf2fce98739 100644
--- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/applications-menu-popover.tsx
+++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/applications-menu-popover.tsx
@@ -7,12 +7,10 @@ import { useExportApplicationsModal } from "@/ui/modals/export-applications-moda
import { ThreeDots } from "@/ui/shared/icons";
import {
Button,
- ChartLine,
Download,
IconMenu,
Popover,
useMediaQuery,
- useRouterStuff,
UserXmark,
} from "@dub/ui";
import Link from "next/link";
@@ -21,7 +19,6 @@ import { useState } from "react";
export function ApplicationsMenuPopover() {
const { slug: workspaceSlug } = useWorkspace();
const { program } = useProgram();
- const { getQueryString } = useRouterStuff();
const [openPopover, setOpenPopover] = useState(false);
@@ -59,16 +56,6 @@ export function ApplicationsMenuPopover() {
/>
- setOpenPopover(false)}
- className="w-full rounded-md p-2 hover:bg-neutral-100 active:bg-neutral-200"
- >
- }
- />
-
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/page-client.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/page-client.tsx
index 3a70e64d53d..6435bc10d43 100644
--- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/page-client.tsx
+++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/partners/applications/page-client.tsx
@@ -22,12 +22,14 @@ import { PlatformType } from "@dub/prisma/client";
import {
AnimatedSizeContainer,
Button,
+ ChartLine,
EditColumnsButton,
Filter,
MenuItem,
Popover,
Table,
useColumnVisibility,
+ useMediaQuery,
usePagination,
useRouterStuff,
useTable,
@@ -36,6 +38,7 @@ import { Dots, UserCheck, Users, UserXmark } from "@dub/ui/icons";
import { COUNTRIES, fetcher, formatDate } from "@dub/utils";
import { Row } from "@tanstack/react-table";
import { Command } from "cmdk";
+import Link from "next/link";
import { useEffect, useMemo, useState } from "react";
import useSWR from "swr";
import { usePartnerFilters } from "../use-partner-filters";
@@ -63,9 +66,10 @@ const applicationsColumns = {
};
export function ProgramPartnersApplicationsPageClient() {
- const { id: workspaceId } = useWorkspace();
+ const { id: workspaceId, slug } = useWorkspace();
const { queryParams, searchParams, searchParamsObj, getQueryString } =
useRouterStuff();
+ const { isMobile } = useMediaQuery();
const sortBy = searchParams.get("sortBy") || "createdAt";
const sortOrder = searchParams.get("sortOrder") === "asc" ? "asc" : "desc";
@@ -452,7 +456,7 @@ export function ProgramPartnersApplicationsPageClient() {
-
+
-
+
+
+
+
+
+
+ }
+ text={isMobile ? undefined : "View Analytics"}
+ />
+
+
+
diff --git a/apps/web/lib/zod/schemas/program-embed.ts b/apps/web/lib/zod/schemas/program-embed.ts
index 2b8556aab96..583790826a0 100644
--- a/apps/web/lib/zod/schemas/program-embed.ts
+++ b/apps/web/lib/zod/schemas/program-embed.ts
@@ -10,5 +10,7 @@ export const programEmbedSchema = z
})
.nullish(),
hidePoweredByBadge: z.boolean().default(false),
+ hideEarnings: z.boolean().default(false),
+ customTermsUrl: z.httpUrl().nullish(),
})
.nullish();
diff --git a/apps/web/ui/modals/application-settings-modal.tsx b/apps/web/ui/modals/application-settings-modal.tsx
index c26d196d7d0..e98e24f0788 100644
--- a/apps/web/ui/modals/application-settings-modal.tsx
+++ b/apps/web/ui/modals/application-settings-modal.tsx
@@ -107,7 +107,7 @@ function ApplicationSettingsModal({
@@ -115,8 +115,11 @@ function ApplicationSettingsModal({
-