Skip to content

Commit

Permalink
fix(web): fix auction offer end date issues (#210)
Browse files Browse the repository at this point in the history
  • Loading branch information
gershon authored Dec 6, 2024
1 parent 506cd9f commit cf36e29
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ export default function TokenActionsMakeBid({
tokenMarketData,
small,
}: TokenActionsMakeBidProps) {
const { account, address } = useAccount();
const { account, address, isConnected } = useAccount();
const [isOpen, setIsOpen] = useState(false);
const config = useConfig();
const { createOffer, status } = useCreateOffer();
Expand Down Expand Up @@ -103,8 +103,8 @@ export default function TokenActionsMakeBid({
resolver: zodResolver(formSchema),
defaultValues: {
startAmount: formatEther(BigInt(tokenMarketData.listing.start_amount)),
duration: "719",
endDateTime: moment().add(1, "month").toDate(),
duration: "168",
endDateTime: undefined,
},
});

Expand Down Expand Up @@ -152,15 +152,20 @@ export default function TokenActionsMakeBid({
return;
}

const now = moment();
const endDate = values.endDateTime
? moment(values.endDateTime).isBefore(now)
? now.add(2, "minutes").unix()
: moment(values.endDateTime).unix()
: now.add(values.duration, "hours").unix();

const processedValues = {
brokerId: env.NEXT_PUBLIC_BROKER_ID,
currencyAddress: config?.starknetCurrencyContract,
tokenAddress: token.collection_address,
tokenId: BigInt(token.token_id),
startAmount: parseEther(values.startAmount),
endDate: values.endDateTime
? moment(values.endDateTime).unix()
: moment().add(values.duration, "hours").unix(),
endDate,
};

await createOffer({
Expand All @@ -170,8 +175,7 @@ export default function TokenActionsMakeBid({
}

const isLoading = status === "loading";
const isDisabled =
!form.formState.isValid || form.formState.isSubmitting || isLoading;
const isDisabled = !form.formState.isValid || isLoading;
const startAmount = form.watch("startAmount");
const formattedStartAmount = formatAmount(startAmount);
const price = formatEther(BigInt(tokenMarketData.listing.start_amount));
Expand All @@ -186,6 +190,7 @@ export default function TokenActionsMakeBid({
className={cn(small ?? "relative w-full lg:max-w-[50%]")}
size={small ? "xl" : "xxl"}
variant="secondary"
disabled={!isConnected}
onClick={ensureConnect}
>
<ActivityOffer />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ interface TokenActionsMakeOfferProps {
}

function TokenActionsMakeOffer({ token, small }: TokenActionsMakeOfferProps) {
const { account, address } = useAccount();
const { account, address, isConnected } = useAccount();
const [isOpen, setIsOpen] = useState(false);
const config = useConfig();
const { createOffer, status } = useCreateOffer();
Expand Down Expand Up @@ -100,7 +100,7 @@ function TokenActionsMakeOffer({ token, small }: TokenActionsMakeOfferProps) {
defaultValues: {
startAmount: "",
duration: "168",
endDateTime: moment().add(1, "month").toDate(),
endDateTime: undefined,
},
});

Expand Down Expand Up @@ -148,15 +148,20 @@ function TokenActionsMakeOffer({ token, small }: TokenActionsMakeOfferProps) {
return;
}

const now = moment();
const endDate = values.endDateTime
? moment(values.endDateTime).isBefore(now)
? now.add(2, "minutes").unix()
: moment(values.endDateTime).unix()
: now.add(values.duration, "hours").unix();

const processedValues = {
brokerId: env.NEXT_PUBLIC_BROKER_ID,
currencyAddress: config?.starknetCurrencyContract,
tokenAddress: token.collection_address,
tokenId: BigInt(token.token_id),
startAmount: parseEther(values.startAmount),
endDate: values.endDateTime
? moment(values.endDateTime).unix()
: moment().add(values.duration, "hours").unix(),
endDate,
};

await createOffer({
Expand All @@ -166,8 +171,7 @@ function TokenActionsMakeOffer({ token, small }: TokenActionsMakeOfferProps) {
}

const isLoading = status === "loading";
const isDisabled =
!form.formState.isValid || form.formState.isSubmitting || isLoading;
const isDisabled = !form.formState.isValid || isLoading;
const startAmount = form.watch("startAmount");
const formattedStartAmount = formatAmount(startAmount);

Expand All @@ -178,6 +182,7 @@ function TokenActionsMakeOffer({ token, small }: TokenActionsMakeOfferProps) {
className={cn(small ?? "relative w-full lg:max-w-[50%]")}
size={small ? "xl" : "xxl"}
variant="secondary"
disabled={!isConnected}
onClick={ensureConnect}
>
<ActivityOffer />
Expand Down

0 comments on commit cf36e29

Please sign in to comment.