@@ -27,30 +27,28 @@ export default function ChallengeCard({ data, community, isCourseEnd }: Challeng
27
27
const link = `/communities/${ community . slug } /challenges/${ data . id } ` ;
28
28
const expiresAt = useMemo ( ( ) => ( data . expiresAt ? new Date ( data . expiresAt ) . toLocaleDateString ( ) : null ) , [ data . expiresAt ] ) ;
29
29
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
31
31
32
32
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" >
35
35
< 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 >
48
46
</ 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" >
54
52
< Link href = { link } >
55
53
< ArrowButton communityStyles = { true } variant = "outline-primary" >
56
54
{ 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
60
58
</ div >
61
59
</ div >
62
60
</ 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 />
66
64
</ div >
67
65
< 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 } />
70
68
</ 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 > }
72
70
</ div >
73
71
</ div >
74
72
) ;
0 commit comments