Skip to content

Commit 8940b58

Browse files
Empty state customer referral logos (dubinc#3636)
Co-authored-by: Steven Tey <stevensteel97@gmail.com>
1 parent d3e0687 commit 8940b58

2 files changed

Lines changed: 57 additions & 34 deletions

File tree

apps/web/ui/referrals/partner-profile-referrals-empty-state.tsx

Lines changed: 56 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import useProgramEnrollment from "@/lib/swr/use-program-enrollment";
44
import { referralFormSchema } from "@/lib/zod/schemas/referral-form";
5-
import { PROGRAM_MARKETPLACE_LOGO_COUNT } from "@/ui/partners/program-marketplace/program-marketplace-logos";
65
import { SubmitReferralSheet } from "@/ui/referrals/submit-referral-sheet";
76
import { AnimatedEmptyState } from "@/ui/shared/animated-empty-state";
87
import { Button } from "@dub/ui";
@@ -12,25 +11,60 @@ import * as z from "zod/v4";
1211

1312
const EMPTY_STATE_CARDS = [
1413
{
15-
logo: 2,
16-
programName: "Tella",
17-
name: "John Doe",
14+
logoSrc: "https://assets.dub.co/cms/logo-nvidia.svg",
15+
programName: "Nvidia",
16+
name: "Noah Thompson",
17+
status: "New",
18+
statusClassName: "bg-blue-100 text-blue-700",
19+
},
20+
{
21+
logoSrc: "https://assets.dub.co/cms/logo-openai.svg",
22+
programName: "OpenAI",
23+
name: "Ava Robinson",
1824
status: "Qualified",
19-
statusClassName: "text-violet-700 bg-violet-100",
25+
statusClassName: "bg-violet-100 text-violet-700",
2026
},
2127
{
22-
logo: 7,
23-
programName: "Fillout",
24-
name: "John Doe",
28+
logoSrc: "https://assets.dub.co/cms/logo-google.svg",
29+
programName: "Google",
30+
name: "Sophie Carter",
31+
status: "New",
32+
statusClassName: "bg-blue-100 text-blue-700",
33+
},
34+
{
35+
logoSrc: "https://assets.dub.co/cms/logo-microsoft.svg",
36+
programName: "Microsoft",
37+
name: "Chloe Scott",
2538
status: "Closed won",
26-
statusClassName: "text-green-700 bg-green-100",
39+
statusClassName: "bg-green-100 text-green-700",
40+
},
41+
{
42+
logoSrc: "https://assets.dub.co/cms/logo-meta.svg",
43+
programName: "Meta",
44+
name: "Liam Johnson",
45+
status: "Qualified",
46+
statusClassName: "bg-violet-100 text-violet-700",
2747
},
2848
{
29-
logo: 11,
30-
programName: "Granola",
31-
name: "John Doe",
49+
logoSrc: "https://assets.dub.co/cms/logo-slack.svg",
50+
programName: "Slack",
51+
name: "Oliver Green",
3252
status: "New",
33-
statusClassName: "text-blue-700 bg-blue-100",
53+
statusClassName: "bg-blue-100 text-blue-700",
54+
},
55+
{
56+
logoSrc: "https://assets.dub.co/cms/logo-netflix.svg",
57+
programName: "Netflix",
58+
name: "Ella Martinez",
59+
status: "Closed won",
60+
statusClassName: "bg-green-100 text-green-700",
61+
},
62+
{
63+
logoSrc: "https://assets.dub.co/cms/logo-apple.svg",
64+
programName: "Apple",
65+
name: "Amelia Adams",
66+
status: "Qualified",
67+
statusClassName: "bg-violet-100 text-violet-700",
3468
},
3569
];
3670

@@ -67,12 +101,7 @@ export function PartnerProfileReferralsEmptyState() {
67101
? "Submit leads and track their progress through the sales process."
68102
: "You can still earn from regular referrals using your links and codes."
69103
}
70-
// TODO: Add "learn more" URLs
71-
learnMoreHref={
72-
submittedReferralsEnabled
73-
? "https://dub.co/help/article/partner-rewards"
74-
: "https://dub.co/help/article/partner-rewards"
75-
}
104+
learnMoreHref="https://dub.co/help/article/submitted-referrals"
76105
addButton={
77106
submittedReferralsEnabled ? (
78107
<Button
@@ -83,25 +112,19 @@ export function PartnerProfileReferralsEmptyState() {
83112
/>
84113
) : undefined
85114
}
86-
cardCount={3}
115+
cardCount={EMPTY_STATE_CARDS.length}
87116
cardContent={(index) => {
88117
const card = EMPTY_STATE_CARDS[index];
89118
return (
90119
<div className="flex grow items-center justify-between gap-4">
91120
<div className="flex items-center gap-4">
92-
<div
93-
className="size-8"
94-
style={{
95-
backgroundImage:
96-
"url(https://assets.dub.co/misc/program-marketplace-logos.png)",
97-
backgroundSize: `${PROGRAM_MARKETPLACE_LOGO_COUNT * 100}%`,
98-
backgroundPositionX:
99-
(PROGRAM_MARKETPLACE_LOGO_COUNT -
100-
(card.logo % PROGRAM_MARKETPLACE_LOGO_COUNT)) *
101-
100 +
102-
"%",
103-
}}
104-
/>
121+
<div className="flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-full border border-neutral-200 bg-white">
122+
<img
123+
alt={`${card.programName} logo`}
124+
src={card.logoSrc}
125+
className="size-full object-contain"
126+
/>
127+
</div>
105128
<div className="flex flex-col">
106129
<div className="text-content-default text-sm font-semibold">
107130
{card.programName}

apps/web/ui/shared/animated-empty-state.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export function AnimatedEmptyState({
4949
>
5050
<div
5151
style={{ "--scroll": "-50%" } as CSSProperties}
52-
className="animate-infinite-scroll-y flex flex-col [animation-duration:10s]"
52+
className="animate-infinite-scroll-y flex flex-col [animation-duration:40s]"
5353
>
5454
{[...Array(cardCount * 2)].map((_, idx) => (
5555
<Card key={idx} className={cardClassName}>

0 commit comments

Comments
 (0)