Skip to content

Commit eab71ed

Browse files
committed
a small fix
1 parent 2f10024 commit eab71ed

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

apps/web/ui/partners/add-edit-reward-sheet.tsx

+16-9
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { updateRewardAction } from "@/lib/actions/partners/update-reward";
66
import { handleMoneyInputChange, handleMoneyKeyDown } from "@/lib/form-utils";
77
import { mutatePrefix } from "@/lib/swr/mutate";
88
import useProgram from "@/lib/swr/use-program";
9+
import useRewardPartners from "@/lib/swr/use-reward-partners";
910
import useRewards from "@/lib/swr/use-rewards";
1011
import useWorkspace from "@/lib/swr/use-workspace";
1112
import { RewardProps } from "@/lib/types";
@@ -105,13 +106,6 @@ function RewardSheetContent({ setIsOpen, event, reward }: RewardSheetProps) {
105106
(reward) => reward.event === "sale" && reward.partnersCount === 0,
106107
);
107108

108-
// const { data: rewardPartners } = useRewardPartners({
109-
// query: {
110-
// rewardId,
111-
// },
112-
// enabled: Boolean(programId && rewardId),
113-
// });
114-
115109
useEffect(() => {
116110
if (reward) {
117111
setSelectedPartnerType(reward.partnersCount === 0 ? "all" : "specific");
@@ -132,6 +126,20 @@ function RewardSheetContent({ setIsOpen, event, reward }: RewardSheetProps) {
132126
hasProgramWideSaleReward,
133127
]);
134128

129+
const { data: rewardPartners, loading: isLoadingRewardPartners } =
130+
useRewardPartners({
131+
query: {
132+
rewardId: reward?.id,
133+
},
134+
enabled: Boolean(reward?.id && program?.id),
135+
});
136+
137+
useEffect(() => {
138+
if (rewardPartners && rewardPartners.length > 0) {
139+
setValue("partnerIds", rewardPartners);
140+
}
141+
}, [rewardPartners, setValue]);
142+
135143
const { executeAsync: createReward, isPending: isCreating } = useAction(
136144
createRewardAction,
137145
{
@@ -538,12 +546,11 @@ function RewardSheetContent({ setIsOpen, event, reward }: RewardSheetProps) {
538546

539547
{displayPartners && program?.id && (
540548
<RewardPartnersTable
541-
programId={program.id}
542-
rewardId={reward?.id}
543549
partnerIds={partnerIds || []}
544550
setPartners={(value: string[]) => {
545551
setValue("partnerIds", value);
546552
}}
553+
loading={isLoadingRewardPartners}
547554
/>
548555
)}
549556
</div>

apps/web/ui/partners/reward-partners-table.tsx

+4-5
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ import usePartners from "@/lib/swr/use-partners";
44
import { EnrolledPartnerProps } from "@/lib/types";
55
import { Combobox, Table, useTable } from "@dub/ui";
66
import { cn, DICEBEAR_AVATAR_URL, pluralize } from "@dub/utils";
7-
import { useEffect, useMemo, useState } from "react";
7+
import { useMemo, useState } from "react";
88
import { useDebounce } from "use-debounce";
99

1010
interface RewardPartnersTableProps {
11-
programId: string;
12-
rewardId?: string;
1311
partnerIds: string[];
1412
setPartners: (value: string[]) => void;
13+
loading: boolean;
1514
}
1615

1716
export function RewardPartnersTable({
18-
programId,
19-
rewardId,
2017
partnerIds,
2118
setPartners,
19+
loading,
2220
}: RewardPartnersTableProps) {
2321
const [search, setSearch] = useState("");
2422
const [debouncedSearch] = useDebounce(search, 500);
@@ -116,6 +114,7 @@ export function RewardPartnersTable({
116114
scrollWrapperClassName: "min-h-[40px]",
117115
resourceName: (p) => `eligible partner${p ? "s" : ""}`,
118116
getRowId: (row: EnrolledPartnerProps) => row.id,
117+
loading,
119118
});
120119

121120
return (

0 commit comments

Comments
 (0)