Skip to content

Commit

Permalink
check if max per user is reached
Browse files Browse the repository at this point in the history
  • Loading branch information
Lamperoyge committed May 14, 2024
1 parent 7ba8102 commit 5768eab
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
14 changes: 12 additions & 2 deletions wondrous-bot-admin/src/components/Referral/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { BG_TYPES } from "utils/constants";
import { StyledLink } from "./styles";
import { useQuery } from "@apollo/client";
import { useLocation } from "react-router-dom";
import { GET_REFERRAL_CAMPAIGN_BY_EXTERNAL_ID, GET_REFERRAL_CODE_INFO } from "graphql/queries/referral";
import { GET_REFERRAL_CAMPAIGN_BY_EXTERNAL_ID, GET_REFERRAL_CODE_INFO, GET_REFERRAL_USER_LIMIT_REACHED } from "graphql/queries/referral";
import StartReferralQuests from "components/StartReferralQuests";

const StartReferralPage = () => {
Expand Down Expand Up @@ -41,6 +41,15 @@ const StartReferralPage = () => {
skip: !referralCampaignExternalId,
});

const {data: referralLimitReached, loading: referralLimitLoading} = useQuery(GET_REFERRAL_USER_LIMIT_REACHED, {
variables: {
referralCode
},
skip: !referralCode
});

const {hasReachedLimit = false} = referralLimitReached?.getReferralUserLimitReached || {};

return (
<>
<PageWrapper
Expand All @@ -64,10 +73,11 @@ const StartReferralPage = () => {
flexDirection="column"
flex="1"
>
{!data?.getReferralCampaignByReferralExternalId || loading ? (
{!data?.getReferralCampaignByReferralExternalId || loading || referralLimitLoading ? (
<PageSpinner color="#fee2ca" />
) : (
<StartReferralQuests
hasReachedLimit={hasReachedLimit}
referralCampaign={data?.getReferralCampaignByReferralExternalId}
referralCode={referralCode}
referralCodeInfo={referralCodeInfoData?.getReferralCodeInfo}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const TopBarMessage = ({ displayName, hasEnded, orgId }) => {
);
};

const StartReferralQuests = ({ referralCampaign, referralCode, referralCampaignExternalId, referralCodeInfo }) => {
const StartReferralQuests = ({ referralCampaign, referralCode, referralCampaignExternalId, referralCodeInfo, hasReachedLimit }) => {
const [infoModalQuestId, setInfoModalQuestId] = useState(null);
const discordUrlParams = {
referralCode,
Expand Down Expand Up @@ -84,7 +84,7 @@ const StartReferralQuests = ({ referralCampaign, referralCode, referralCampaignE
const endDate = referralCampaign?.endDate ? moment(referralCampaign?.endDate) : null;
const hasEnded =
referralCampaign?.status !== REFERRAL_STATUSES.ACTIVE ||
(endDate && endDate.isBefore(moment().utcOffset(0)?.endOf("day")?.toISOString()));
(endDate && endDate.isBefore(moment().utcOffset(0)?.endOf("day")?.toISOString())) || hasReachedLimit;

return (
<>
Expand Down
8 changes: 8 additions & 0 deletions wondrous-bot-admin/src/graphql/queries/referral.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,11 @@ export const GET_REFERRAL_CODE_INFO = gql`
}
}
`;

export const GET_REFERRAL_USER_LIMIT_REACHED = gql`
query getReferralUserLimitReached($referralCode: String!) {
getReferralUserLimitReached(referralCode: $referralCode) {
hasReachedLimit
}
}
`;

0 comments on commit 5768eab

Please sign in to comment.