Skip to content

Commit f3526e7

Browse files
authored
Merge pull request #1181 from dacadeorg/fix/add-rewarding-currency
refactor: add fiat currency token on the rewards card
2 parents 6cfdf6e + 91bc144 commit f3526e7

File tree

8 files changed

+25
-3
lines changed

8 files changed

+25
-3
lines changed

public/locales/bg/common.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@
104104
"communities.overview.info.prerequisite.subtitle": "In order to complete this course you should:",
105105
"communities.overview.trailer.video": "Video",
106106
"communities.overview.reward.title": "Награди",
107+
"communities.overview.reward.fiat.prize.pool": "{{amount}} {{currency}} в {{token}} награден фонд",
108+
"communities.overview.reward.crypto.prize.pool": "{{amount}} {{token}} награден фонд",
107109
"communities.overview.challenge.title": "Вече сте готови да изпълните предизвикателството?",
108110
"communities.overview.challenge.objective.title": "Цели на предизвикателството",
109111
"communities.overview.reward.subtitle": "Какво може да получите в тази общност:",

public/locales/en/common.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@
102102
"communities.overview.info.prerequisite.subtitle": "In order to complete this course you should:",
103103
"communities.overview.trailer.video": "Video",
104104
"communities.overview.reward.title": "Rewards",
105+
"communities.overview.reward.fiat.prize.pool": "{{amount}} {{currency}} in {{token}} prize pool",
106+
"communities.overview.reward.crypto.prize.pool": "{{amount}} {{token}} prize pool",
105107
"communities.overview.challenge.objective.title": "Challenge objectives",
106108
"communities.overview.reward.subtitle": "What you can earn in this community:",
107109
"communities.chapter.objective.subtitle": "After completing this chapter, you will:",

public/locales/es/common.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@
102102
"communities.overview.info.prerequisite.subtitle": "Para completar este curso deberáIn order to complete this course you should:",
103103
"communities.overview.trailer.video": "Video",
104104
"communities.overview.reward.title": "Recompensas",
105+
"communities.overview.reward.fiat.prize.pool": "{{amount}} {{currency}} en {{token}} bolsa de premios",
106+
"communities.overview.reward.crypto.prize.pool": "{{amount}} {{token}} bolsa de premios",
105107
"communities.overview.challenge.objective.title": "Objetivos del desafío",
106108
"communities.overview.reward.subtitle": "Vea qué puede ganar en esta comunidad:",
107109
"communities.chapter.objective.subtitle": "Después de completar este capítulo, usetd:",

public/locales/hr/common.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@
104104
"communities.overview.info.prerequisite.subtitle": "In order to complete this course you should:",
105105
"communities.overview.trailer.video": "Video",
106106
"communities.overview.reward.title": "Nagrade",
107+
"communities.overview.reward.fiat.prize.pool": "{{amount}} {{currency}} u {{token}} fondu nagrada",
108+
"communities.overview.reward.crypto.prize.pool": "{{amount}} {{token}} fondu nagrada",
107109
"communities.overview.challenge.objective.title": "Ciljevi izazova",
108110
"communities.overview.reward.subtitle": "Što možete zaraditi u ovoj zajednici:",
109111
"communities.chapter.objective.subtitle": "After completing this chapter, you will:",

src/components/cards/challenge/Challenge.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default function ChallengeCard({ data, community, isCourseEnd }: Challeng
3030
const link = `/communities/${community.slug}/challenges/${data.id}`;
3131
const expiresAt = useMemo(() => (data.expiresAt ? new Date(data.expiresAt).toLocaleDateString() : null), [data.expiresAt]);
3232
const reward = isCourseEnd ? data?.rewards?.find((reward) => reward.type === "SUBMISSION") : data?.reward;
33-
const totalReward = data?.rewards?.reduce((acc, reward) => (acc += Number(reward.amount)), 0);
33+
const amount = shortenNumber(data?.rewards?.reduce((acc, reward) => (acc += Number(reward.amount)), 0));
3434

3535
return (
3636
<div className="border-solid border border-gray-200 bg-gray-50 rounded-3xl mb-5 group text-gray-700">
@@ -60,7 +60,12 @@ export default function ChallengeCard({ data, community, isCourseEnd }: Challeng
6060
<div className="md:pl-2 max-w-max">
6161
<div className="flex text-sm text-gray-700">
6262
<span className="block font-medium">
63-
{shortenNumber(totalReward)} {reward?.token} {` ${data?.isHackathon ? `Prize pool` : ""} rewards`}
63+
{data?.isHackathon ? <>{reward?.fiatCurrency ?
64+
t('communities.overview.reward.fiat.prize.pool', { amount, currency: reward.fiatCurrency, token: reward?.token }) :
65+
t('communities.overview.reward.crypto.prize.pool', { amount, token: reward?.token })
66+
} </> : <>{amount} {reward?.token} </>}
67+
68+
{t("communities.overview.reward.title")}
6469
</span>
6570
</div>
6671
<div className="text-gray-400 text-xs font-normal">{data?.isHackathon ? "Top projects win money prizes" : "For submission and feedback"}</div>

src/components/cards/challenge/Overview.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export default function Overview({ challenge, community }: Props) {
5555
<div className="text-sm md:pl-2 max-w-max">
5656
<div className="flex gap-1 text-gray-700 font-medium">
5757
<span>{shortenNumber(reward.amount)}</span>
58+
<span>{reward?.fiatCurrency ? `${reward?.fiatCurrency} in` : ''}</span>
5859
<span>{reward?.token}</span>
5960
<span>{t("communities.overview.challenge.rewards")}</span>
6061
</div>

src/components/sections/challenges/_partials/HackathonPrize.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import { Distribution, Reward } from "@/types/course";
22
import { shortenNumber } from "@/utilities";
3+
import { useTranslation } from "react-i18next";
34

45
export default function HackathonPrize({ reward, description }: { reward: Reward; description: string }) {
6+
const { t } = useTranslation()
57
const { first, second, third } = reward?.distribution || ({} as Distribution);
8+
const amount = shortenNumber(reward?.amount);
69
return (
710
<>
811
<div className="flex gap-1 text-gray-700 font-medium">
9-
<span>{`${shortenNumber(reward?.amount)} ${reward.token} Prize Pool`}</span>
12+
<span>
13+
{reward?.fiatCurrency ?
14+
t('communities.overview.reward.fiat.prize.pool', { amount, currency: reward.fiatCurrency, token: reward?.token }) :
15+
t('communities.overview.reward.crypto.prize.pool', { amount, token: reward?.token })}
16+
</span>
1017
<span>{description}</span>
1118
</div>
1219
<div className="text-gray-400 text-xs font-medium leading-3 mt-1 flex">

src/types/course.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ export type Reward = {
144144
community: string;
145145
token: string;
146146
stable: boolean;
147+
fiatCurrency?: string;
147148
amount: number;
148149
timestamp: number;
149150
distribution?: Distribution;

0 commit comments

Comments
 (0)