From 8eec3792c3e1f4d7d4cce4062d288238288296a7 Mon Sep 17 00:00:00 2001 From: Marcus Farrell Date: Sat, 11 Apr 2026 11:59:39 -0700 Subject: [PATCH 1/2] Consistent page layout and spacing (#3594) Co-authored-by: Steven Tey --- .../(dashboard)/payouts/payout-table.tsx | 20 +++++----- .../(enrolled)/bounties/page-client.tsx | 4 +- .../customers/(index)/page-client.tsx | 2 +- .../earnings/earnings-composite-chart.tsx | 2 +- .../(enrolled)/earnings/page.tsx | 2 +- .../(enrolled)/links/page-client.tsx | 6 ++- .../[programSlug]/(enrolled)/page-client.tsx | 6 +-- .../programs/marketplace/page-client.tsx | 2 +- .../(ee)/program/analytics/page-client.tsx | 2 +- .../[slug]/(ee)/program/commissions/page.tsx | 2 +- .../(ee)/program/fraud/fraud-group-table.tsx | 2 +- .../(ee)/program/groups/groups-table.tsx | 2 +- .../(ee)/program/network/page-client.tsx | 33 ++++++++------- .../[slug]/(ee)/program/page-client.tsx | 2 +- .../partners/applications/page-client.tsx | 2 +- .../(ee)/program/partners/partners-table.tsx | 2 +- .../(ee)/program/payouts/page-client.tsx | 2 +- .../(ee)/program/payouts/payout-table.tsx | 2 +- .../[slug]/links/folders/page-client.tsx | 2 +- .../(dashboard)/[slug]/links/page-client.tsx | 26 +++++++----- .../[slug]/links/utm/page-client.tsx | 1 - apps/web/ui/analytics/events/index.tsx | 2 +- apps/web/ui/analytics/toggle.tsx | 40 +++++++++---------- apps/web/ui/layout/page-content/index.tsx | 2 +- .../page-content-with-side-panel.tsx | 2 +- apps/web/ui/links/links-container.tsx | 2 +- .../program-marketplace-banner.tsx | 2 +- apps/web/ui/shared/search-box.tsx | 2 +- packages/tailwind-config/tailwind.config.ts | 2 +- packages/ui/src/button.tsx | 2 +- packages/ui/src/date-picker/trigger.tsx | 2 +- packages/ui/src/filter/filter-list.tsx | 6 +-- packages/ui/src/filter/filter-select.tsx | 2 +- 33 files changed, 98 insertions(+), 92 deletions(-) diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/payout-table.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/payout-table.tsx index dd938824dc8..6ae17b32e82 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/payout-table.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/payouts/payout-table.tsx @@ -230,7 +230,7 @@ export function PayoutTable() { payout={detailsSheetState.payout} /> )} -
+
{payouts?.length !== 0 ? ( @@ -256,7 +256,7 @@ function PartnerPayoutFilters() { usePayoutFilters(); return ( -
+
{activeFilters.length > 0 && ( - +
+ +
)}
diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/page-client.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/page-client.tsx index 00f7da6fe7e..dc8c8842f49 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/page-client.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/bounties/page-client.tsx @@ -42,7 +42,7 @@ export function BountiesPageClient() { return ( -
+
{tabs.map((tab) => { const isActive = activeTab === tab.id; @@ -74,7 +74,7 @@ export function BountiesPageClient() {
{filteredBounties?.length !== 0 || isLoading ? ( -
+
{filteredBounties?.length ? filteredBounties?.map((bounty) => ( +
+
diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/page.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/page.tsx index e77514f54c2..bbbd7b6f1ee 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/page.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/earnings/page.tsx @@ -6,7 +6,7 @@ import { EarningsTablePartner } from "./earnings-table"; export default function ProgramEarning() { return ( - + diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/page-client.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/page-client.tsx index 81ab4ab4204..ea4aea10f68 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/page-client.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/[programSlug]/(enrolled)/links/page-client.tsx @@ -86,7 +86,7 @@ export function ProgramLinksPageClient() { !showDetailedAnalytics || displayOption === "cards"; return ( -
+
{!!showDetailedAnalytics && (
@@ -247,7 +247,7 @@ export default function ProgramPageClient() { }} > -
+
@@ -270,7 +270,7 @@ export default function ProgramPageClient() {
-
+

Recent earnings diff --git a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/page-client.tsx b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/page-client.tsx index 9cb484a2c51..4eba39b79cf 100644 --- a/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/page-client.tsx +++ b/apps/web/app/(ee)/partners.dub.co/(dashboard)/programs/marketplace/page-client.tsx @@ -48,7 +48,7 @@ export function ProgramMarketplacePageClient() { } = useProgramNetworkFilters(); return ( -
+
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/page-client.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/page-client.tsx index 4f883e37123..735c5dfaa94 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/page-client.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/analytics/page-client.tsx @@ -107,7 +107,7 @@ export function ProgramAnalyticsPageClient() { ); return ( -
+
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/page.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/page.tsx index 37727d02d10..42064dc29b6 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/page.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/commissions/page.tsx @@ -25,7 +25,7 @@ export default function ProgramCommissions() { > -
+
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-group-table.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-group-table.tsx index 3fa9f5f9b9c..b4989b29f29 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-group-table.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/fraud/fraud-group-table.tsx @@ -312,7 +312,7 @@ export function FraudGroupTable() { }, [fraudGroups, detailsSheetState.groupId]); return ( -
+
{detailsSheetState.groupId && currentFraudGroup && ( diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/groups-table.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/groups-table.tsx index f61c61c09f0..4b3f03259ce 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/groups-table.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/groups/groups-table.tsx @@ -214,7 +214,7 @@ export function GroupsTable() { }); return ( -
+
+
{detailsSheetState.partnerId && currentPartner && ( )} + {variant !== "ignored" && ( -
+
{tabs.map((tab) => { const isActive = status === tab.id; @@ -187,7 +188,7 @@ export function ProgramPartnerNetworkPageClient({ )} {status === "discover" && ( -
+
-
- {activeFilters.length > 0 && ( -
- -
- )} -
+ {activeFilters.length > 0 && ( +
+ +
+ )}
)} @@ -234,7 +233,7 @@ export function ProgramPartnerNetworkPageClient({ Failed to load partners
) : !partners || partners?.length ? ( -
+
+
+
{detailsSheetState.partnerId && currentPartner && ( +
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/page-client.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/page-client.tsx index a1a4d411f59..2ca1ec86a8e 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/page-client.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/page-client.tsx @@ -7,7 +7,7 @@ export function ProgramPayoutsPageClient() { return ( <> -
+
diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-table.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-table.tsx index e6dc966ceb7..ccc6969d995 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-table.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/(ee)/program/payouts/payout-table.tsx @@ -343,7 +343,7 @@ export function PayoutTable() { }); return ( -
+
{payouts?.length !== 0 ? (

diff --git a/apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/page-client.tsx b/apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/page-client.tsx index a0a33f9609c..9880362fd8a 100644 --- a/apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/page-client.tsx +++ b/apps/web/app/app.dub.co/(dashboard)/[slug]/links/folders/page-client.tsx @@ -41,7 +41,7 @@ export const FoldersPageClient = () => { return (
-
+
- +
{!workspace.isMegaWorkspace && ( @@ -243,18 +243,22 @@ function WorkspaceLinks() { )}
- + {activeFilters.length > 0 && ( +
+ +
+ )}
-
+
<>} /> @@ -389,7 +393,7 @@ const MoreLinkOptions = () => {