File tree Expand file tree Collapse file tree 1 file changed +6
-10
lines changed Expand file tree Collapse file tree 1 file changed +6
-10
lines changed Original file line number Diff line number Diff line change 1
1
import Tag from "@/components/ui/Tag" ;
2
2
import { Challenge } from "@/types/course" ;
3
- import { useEffect , useState } from "react" ;
3
+ import { useMemo } from "react" ;
4
4
import { useTranslation } from "react-i18next" ;
5
5
6
6
/**
@@ -19,20 +19,16 @@ interface BadgeProps {
19
19
}
20
20
export default function Badges ( { challenge, className, courseLevel } : BadgeProps ) {
21
21
const { t } = useTranslation ( ) ;
22
- const [ challengeLevel , setChallengeLevel ] = useState ( "" ) ;
23
22
24
- const level = challenge ?. level || courseLevel ;
25
-
26
- useEffect ( ( ) => {
27
- if ( level === 0 || level === 1 ) return setChallengeLevel ( "course.challenge.level-0" ) ;
28
- return setChallengeLevel ( "course.challenge.level-2" ) ;
29
- } , [ level ] ) ;
23
+ const level = useMemo ( ( ) => {
24
+ const value = challenge ?. level || courseLevel ;
25
+ return ( value === 0 || value === 1 ) ? "course.challenge.level-0" : "course.challenge.level-2" ;
26
+ } , [ challenge ?. level , courseLevel ] ) ;
30
27
31
28
if ( ! level && ! challenge ?. isTeamChallenge ) return < > </ > ;
32
-
33
29
return (
34
30
< div className = { `uppercase flex flex-wrap gap-2 mb-3 ${ className } ` } >
35
- { level && < Tag > { t ( challengeLevel ) } </ Tag > }
31
+ { level && < Tag > { t ( level ) } </ Tag > }
36
32
{ challenge ?. isTeamChallenge && < Tag type = "light" > { challenge ?. isHackathon ? "Hackathon" : "Team" } challenge</ Tag > }
37
33
</ div >
38
34
) ;
You can’t perform that action at this time.
0 commit comments