@@ -330,7 +330,8 @@ export function DashboardContainer() {
330330 useEffect ( ( ) => {
331331 if ( ! user ) return ;
332332 setHasSolvedChallenge ( ! ! ( user as any ) . hasSolvedChallenge ) ;
333- setHasSolvedTwintro ( ! ! ( user as any ) . twintroChallengeSolved ) ;
333+ const twintroSolved = ! ! ( user as any ) . twintroChallengeSolved ;
334+ setHasSolvedTwintro ( twintroSolved ) ;
334335
335336 const profileFields = [
336337 { key : "name" , label : "Name" } ,
@@ -354,7 +355,11 @@ export function DashboardContainer() {
354355 if ( value && value !== null && value !== "" ) completed ++ ;
355356 else missing . push ( field . label ) ;
356357 } ) ;
357- setProfileCompleteness ( Math . round ( ( completed / profileFields . length ) * 100 ) ) ;
358+
359+ if ( ! twintroSolved ) missing . push ( "Prerequisite Challenge" ) ;
360+ const totalItems = profileFields . length + 1 ;
361+ const completedItems = completed + ( twintroSolved ? 1 : 0 ) ;
362+ setProfileCompleteness ( Math . round ( ( completedItems / totalItems ) * 100 ) ) ;
358363 setMissingFields ( missing ) ;
359364 } , [ user ] ) ;
360365
@@ -1157,7 +1162,7 @@ export function DashboardContainer() {
11571162 < span > mandatory.prerequisite</ span >
11581163 </ div >
11591164 < p className = "text-[13.5px] leading-relaxed text-ink font-body" >
1160- You need to complete a new challenge to finish your registration .
1165+ You must solve the new challenge to be eligible for the event. This is mandatory, unlike the optional warm-up flag .
11611166 </ p >
11621167 </ div >
11631168
@@ -1175,7 +1180,7 @@ export function DashboardContainer() {
11751180 < span > verification.complete</ span >
11761181 </ div >
11771182 < p className = "text-[13.5px] leading-relaxed text-ink font-body" >
1178- Challenge cracked.
1183+ Challenge cracked. You're confirmed eligible for the event.
11791184 </ p >
11801185 </ div >
11811186 ) }
0 commit comments