Skip to content

Commit 5f89c80

Browse files
committed
Merge branch 'dev' into fix/challenge-page-padding
2 parents bc944ff + 45d5cbb commit 5f89c80

File tree

28 files changed

+214
-76
lines changed

28 files changed

+214
-76
lines changed

public/locales/bg/common.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,5 +383,8 @@
383383
"kyc.default.button": "Start verification",
384384
"kyc.default.button.completed": "Go to profile",
385385
"kyc.payout.reason": "To cashout, you need to verify your identity first.",
386-
"kyc.payout.button.completed": "Proceed to cashout"
386+
"kyc.payout.button.completed": "Proceed to cashout",
387+
"job.offers.title": "Работни оферти",
388+
"job.offers.description": "Заинтересовани ли сте относно потенциални работни възможности? Попълнете този Google формуляр и ние ще се свържем с вас относно подходящите позиции.",
389+
"job.offers.button.next": "Cледващ"
387390
}

public/locales/en/common.json

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,14 @@
119119
"communities.overview.challenge.certificate": "Certificate",
120120
"communities.overview.challenge.subtitle": "Upon successful completion",
121121
"communities.overview.challenge.expiry": "Challenge expiry date:",
122-
"communities.overview.challenge.take.challenge":"Take the challenge",
122+
"communities.overview.challenge.take.challenge": "Take the challenge",
123123
"communities.overview.challenge.see.challenge": "See the challenge",
124-
"communities.overview.challenge.for.certificate":"for the certificate",
125-
"communities.overview.challenge.for.feedback":"for every feedback",
126-
"communities.overview.challenge.unlock.certificate":"Unlock with Certificate",
127-
"communities.overview.challenge.participate":"Participate in {{token}} hackathons",
124+
"communities.overview.challenge.for.certificate": "for the certificate",
125+
"communities.overview.challenge.for.feedback": "for every feedback",
126+
"communities.overview.challenge.unlock.certificate": "Unlock with Certificate",
127+
"communities.overview.challenge.participate": "Participate in {{token}} hackathons",
128128
"communities.overview.challenge.learning.modules.included": "Learning modules included",
129-
"communities.overview.challenge.no.learning.modules":"No learning modules included",
129+
"communities.overview.challenge.no.learning.modules": "No learning modules included",
130130
"communities.overview.challenge.learning.title": "The following learning materials will equip you with the technical expertise required to successfully address the challenge.",
131131
"communities.overview.challenge.learning.start": "Start now",
132132
"communities.overview.challenge.team.setup.title": "Form your team",
@@ -203,7 +203,7 @@
203203
"course.challenge.reward": "REWARD",
204204
"course.challenge.reward.description": "By completing the challenge in this course you can earn {{amount}} {{token}}",
205205
"course.challenge.reward.stable.description": "By completing the challenge in this course you can earn {{currency}}{{amount}} in {{token}}",
206-
"course.challenge.reward.certificate.description":"Complete the course to achieve the certificate and unlock new opportunities",
206+
"course.challenge.reward.certificate.description": "Complete the course to achieve the certificate and unlock new opportunities",
207207
"course.challenge.certificate": "CERTIFICATE",
208208
"course.challenge.certificate.description": "By completing the challenge in this course you can earn a certificate.",
209209
"course.scoreboard.button": "Load more",
@@ -222,8 +222,8 @@
222222
"testimonials.text": "Dacade is really encouraging, I didn't realize the little that I know would matter. Thank you for making us learn more and to make research too.",
223223
"footer.text": "Dacade is an open-sourced platform and is created in collaboration with multiple contributors. Go to the <a href=\"https://github.com/dacadeorg/dacade-frontend-app\"> repository </a> to start contributing.",
224224
"footer.privacy-policy": "Impressum & Privacy Policy",
225-
"footer.open.source" : "Dacade is an open-sourced platform.",
226-
"footer.open.source.contribute":"Become one of our contributors",
225+
"footer.open.source": "Dacade is an open-sourced platform.",
226+
"footer.open.source.contribute": "Become one of our contributors",
227227
"feedback.bounty": "Feedback bounty",
228228
"feedback.issued": "Issued",
229229
"feedback.ends": "ending in ",
@@ -441,5 +441,8 @@
441441
"kyc.default.button": "Start verification",
442442
"kyc.default.button.completed": "Go to profile",
443443
"kyc.payout.reason": "To cashout, you need to verify your identity first.",
444-
"kyc.payout.button.completed": "Proceed to cashout"
444+
"kyc.payout.button.completed": "Proceed to cashout",
445+
"job.offers.title": "Job offers",
446+
"job.offers.description": "Interested in potential job opportunities? Fill in this google form and we’ll contact you for relevant roles.",
447+
"job.offers.button.next": "Next"
445448
}

public/locales/es/common.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,5 +397,8 @@
397397
"kyc.default.button": "Start verification",
398398
"kyc.default.button.completed": "Go to profile",
399399
"kyc.payout.reason": "To cashout, you need to verify your identity first.",
400-
"kyc.payout.button.completed": "Proceed to cashout"
400+
"kyc.payout.button.completed": "Proceed to cashout",
401+
"job.offers.title": "Ofertas de trabajo",
402+
"job.offers.description": "¿Interesado en oportunidades laborales potenciales? Completa este formulario de Google y nos pondremos en contacto contigo para roles relevantes.",
403+
"job.offers.button.next": "Siguiente"
401404
}

public/locales/hr/common.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,5 +383,8 @@
383383
"kyc.default.button": "Start verification",
384384
"kyc.default.button.completed": "Go to profile",
385385
"kyc.payout.reason": "To cashout, you need to verify your identity first.",
386-
"kyc.payout.button.completed": "Proceed to cashout"
386+
"kyc.payout.button.completed": "Proceed to cashout",
387+
"job.offers.title": "Poslovne ponude",
388+
"job.offers.description": "Zainteresirani za potencijalne poslovne prilike? Ispunite ovaj Google obrazac i kontaktirat ćemo vas za relevantne uloge.",
389+
"job.offers.button.next": "Sljedeći"
387390
}

src/components/cards/Numbered.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ interface NumberedProps {
2727
*/
2828
export default function Numbered({ index = 1, title = "", text = "" }: NumberedProps): ReactElement {
2929
return (
30-
<div>
31-
<div className="hidden xl:block md:block">
32-
<div className="w-14 h-14 border border-solid border-gray-400 text-gray-400 font-medium rounded-full flex items-center justify-center">{index}</div>
30+
<div className="flex items-center md:flex-col md:items-start gap-2.5">
31+
<div className="block">
32+
<div className="w-9 h-9 md:w-14 md:h-14 border border-solid border-gray-400 text-gray-400 font-medium rounded-full flex items-center justify-center">{index}</div>
3333
</div>
34-
<div className="mt-2.5">
34+
<div>
3535
<span className="font-medium">{title}</span> <span>{text}</span>
3636
</div>
3737
</div>

src/components/cards/challenge/Badges.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,10 @@ export default function Badges({ challenge, className }: BadgeProps) {
2525
return setChallengeLevel("course.challenge.level-2");
2626
}, [challenge.level]);
2727

28+
if (!challenge?.level && !challenge?.isTeamChallenge) return <></>;
29+
2830
return (
29-
<div className={`uppercase flex flex-wrap gap-2 mb-6 ${className}`}>
31+
<div className={`uppercase flex flex-wrap gap-2 mb-3 ${className}`}>
3032
{challenge?.level && <Tag>{t(challengeLevel)}</Tag>}
3133
{challenge?.isTeamChallenge && <Tag type="light">{challenge?.isHackathon ? "Hackathon" : "Team"} challenge</Tag>}
3234
</div>

src/components/cards/challenge/Challenge.tsx

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,28 @@ export default function ChallengeCard({ data, community, isCourseEnd }: Challeng
2727
const link = `/communities/${community.slug}/challenges/${data.id}`;
2828
const expiresAt = useMemo(() => (data.expiresAt ? new Date(data.expiresAt).toLocaleDateString() : null), [data.expiresAt]);
2929
const reward = isCourseEnd ? data?.rewards?.find((reward) => reward.type === "SUBMISSION") : data?.reward;
30-
const learningModulesCount = data?.learningModules?.length || 0;
30+
const learningMaterialsCount = data?.learningModules?.length + data?.courses?.length
3131

3232
return (
33-
<div className="w-full justify-between- flex flex-col sm:flex-row md:flex-col lg:flex-row border-solid border border-gray-200 bg-gray-50 rounded-3xl mb-5 group text-gray-700">
34-
<div className="border-solid border-b border-gray-300 bg-white rounded-3xl sm:p-8 sm:pb-6 p-6 lg:w-2/3">
33+
<div className="w-full flex flex-col sm:flex-row md:flex-col lg:flex-row border-solid border border-gray-200 bg-gray-50 rounded-3xl mb-5 group text-gray-700">
34+
<div className="border-solid border -m-px border-gray-200 bg-white rounded-3xl sm:p-8 sm:pb-6 p-6 sm:w-2/3 md:w-auto lg:w-2/3">
3535
<div className="flex flex-col mb-1">
36-
<div className="lg:pr-20 lg:w-3/5-">
37-
<div className="text-gray-400 lg:w-2/3 text-sm font-normal mb-6 lg:mb-0">
38-
{expiresAt && (
39-
<>
40-
<span>{t("communities.overview.challenge.deadline")}</span>
41-
<span className="font-medium pl-1">{expiresAt}</span>
42-
</>
43-
)}
44-
</div>
45-
<div className="text-lg text-gray-900 font-medium leading-normal mb-6">{data.name}</div>
46-
<Badges challenge={data} className="" />
47-
<div className="text-sm pb-2 text-gray-700">{data.description}</div>
36+
<div className="lg:pr-20">
37+
{expiresAt && (
38+
<div className="text-gray-400 text-sm font-normal mb-4.5 md:mb-6">
39+
<span>{t("communities.overview.challenge.deadline")}</span>
40+
<span className="font-medium pl-1">{expiresAt}</span>
41+
</div>
42+
)}
43+
<div className="text-lg text-gray-900 font-medium leading-normal mb-3">{data.name}</div>
44+
<Badges challenge={data} />
45+
<div className="text-sm text-gray-700">{data.description}</div>
4846
</div>
49-
<div className="divide-y-2 divide-gray-200 divide-dotted flex flex-col mt-3">
50-
<p className="pb-6">
51-
{learningModulesCount ? `${learningModulesCount} learning ${learningModulesCount === 1 ? "module" : "modules"} included` : "No learning modules included"}
52-
</p>
53-
<div className="lg:flex lg:flex-row flex-col justify-between pt-6 items-center">
47+
<div className="divide-y-2 divide-gray-200 divide-dotted flex flex-col mt-8">
48+
{learningMaterialsCount && (
49+
<p className="pb-3 md:pb-4 text-sm font-medium text-gray-400">{`${learningMaterialsCount} Learning ${learningMaterialsCount === 1 ? "material" : "materials"} included`}</p>
50+
)}
51+
<div className="lg:flex lg:flex-row flex-col justify-between pt-3 md:pt-4 items-center">
5452
<Link href={link}>
5553
<ArrowButton communityStyles={true} variant="outline-primary">
5654
{isCourseEnd ? t("communities.overview.challenge.take.challenge") : t("communities.overview.challenge.see.challenge")}
@@ -60,15 +58,15 @@ export default function ChallengeCard({ data, community, isCourseEnd }: Challeng
6058
</div>
6159
</div>
6260
</div>
63-
<div className="p-6">
64-
<div className={"mx-auto relative rounded-full mb-5 w-[147px] h-[184px]"}>
65-
<Image src={data?.certificateData?.icon} alt="achievement" fill />
61+
<div className="p-6 lg:flex-1">
62+
<div className="mx-auto relative rounded-full mb-5 w-[147px] h-[184px]">
63+
<Image src={data?.certificateData?.icon} alt="achievement" fill priority />
6664
</div>
6765
<div className="">
68-
<h1 className="font-bold text-gray-400 text-xs uppercase pb-2">{t("communities.overview.challenge.unlock.certificate")}</h1>
69-
<RewardCertificate rewards={data?.rewards}/>
66+
<h1 className="font-bold text-gray-400 text-xs uppercase pb-3">{t("communities.overview.challenge.unlock.certificate")}</h1>
67+
<RewardCertificate rewards={data?.rewards} />
7068
</div>
71-
{data?.isHackathon && <p className="py-2 border-t border-gray-200 text-sm">{t("communities.overview.challenge.participate", { token: reward?.token })}</p>}
69+
{data?.isHackathon && <p className="py-1.5 border-t border-gray-200 text-sm">{t("communities.overview.challenge.participate", { token: reward?.token })}</p>}
7270
</div>
7371
</div>
7472
);

src/components/cards/challenge/RewardCertificate.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ export default function RewardCertificate({ rewards, isReward }: RewardCertifica
2626
<div
2727
key={reward.id}
2828
className={classNames(
29-
"flex items-center gap-1 border-gray-200 pb-2",
30-
{ "pt-2": index !== 0 },
29+
"flex items-center gap-1 border-gray-200 pb-1.5",
30+
{ "pt-1.5": index !== 0 },
3131
{ "border-b": (index !== rewards.length - 1 && isReward) || (rewards.length === 1 && isReward) || index !== rewards.length - 1 }
3232
)}
3333
>

src/components/cards/community/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ export default function CommunityCard({ showRewards = true, community }: Communi
5959
}, [colors]);
6060

6161
return (
62-
<ThemeWrapper colors={community.colors}>
62+
<ThemeWrapper colors={community.colors} className="mt-2 md:mt-0">
6363
<div onClick={() => router.push(path)} className="block h-full hover:cursor-pointer">
64-
<div className="flex flex-col h-full p-6 pb-3 space-y-5 divide-y-2 group bg-theme-primary text-theme-text divide-dotted divide-theme-accent">
64+
<div className="flex flex-col h-full p-6 space-y-5 divide-y-2 group bg-theme-primary text-theme-text divide-dotted divide-theme-accent">
6565
<div className="flex-grow">
6666
<div className="flex flex-col justify-between space-y-5 sm:flex-row lg:flex-col 2xl:flex-row">
6767
<div className="text-.5xl md:text-2xl max-w-sm min-h-2xs md:min-h-3xs lg:min-h-2xs xl:min-h-2xs font-medium pb-5">

src/components/layout/Footer.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ const socialLinks = [
3131
url: "https://www.youtube.com/channel/UC08wXfDvuqBJvuZfNZkv3xQ",
3232
icon: "youtube",
3333
},
34+
{
35+
title: "LinkedIn",
36+
url: "https://www.linkedin.com/company/dacade-org/",
37+
icon: "linkedin",
38+
},
3439
];
3540

3641
/**

0 commit comments

Comments
 (0)