@@ -5,44 +5,48 @@ import { GiFinishLine, GiCheckeredFlag } from "react-icons/gi";
55import { FaFlagCheckered } from "react-icons/fa" ;
66import { TiArrowRightThick } from "react-icons/ti" ;
77import Image from "next/image" ;
8+ import avatars from "../data/avatars.js" ;
89
910export default function LearnerOnboardingProgressBar ( {
1011 stepNumber,
1112 totalSteps,
13+ avatarNameInLocalStorage,
1214} ) {
13- // Don't forget the avatar!
14-
1515 const mySteps = [ ] ;
1616
1717 // We want to make a list for the total number of steps in the progress indicator.
1818 // So make a loop that counts from 0 to the total number of steps.
19- for ( let i = 1 ; i <= totalSteps ; i ++ ) {
19+ for ( let i = 0 ; i <= totalSteps ; i ++ ) {
2020 // If the loop counter is equal to the step that the user is on...
2121 if ( i === stepNumber && i !== totalSteps ) {
2222 // Then show their avatar in the
2323 mySteps . push (
2424 < >
25- < LearnerOnboardingProgressBarListItem >
26- { /* Avatar goes here */ }
25+ < LearnerOnboardingProgressBarListItem key = { i . toString ( ) } >
2726 < Image
28- src = "/avatars/ladybird .svg"
27+ src = { avatars [ avatarNameInLocalStorage ] || "/avatars/mystery .svg" }
2928 alt = "avatar"
3029 width = "100"
3130 height = "100"
3231 />
32+ { /* {i.toString()} */ }
3333 </ LearnerOnboardingProgressBarListItem >
34- < LearnerOnboardingProgressBarListItem >
34+ < LearnerOnboardingProgressBarListItem
35+ key = { ( totalSteps + i + 1 ) . toString ( ) }
36+ >
37+ { /* {(totalSteps + i + 1).toString()} */ }
3538 < TiArrowRightThick size = "5rem" />
3639 </ LearnerOnboardingProgressBarListItem >
3740 </ >
3841 ) ;
3942 } else if ( i === stepNumber && i === totalSteps ) {
4043 mySteps . push (
4144 < >
42- < LearnerOnboardingProgressBarListItemFinal >
45+ < LearnerOnboardingProgressBarListItemFinal key = { i . toString ( ) } >
46+ { /* {i.toString()} */ }
4347 < GiFinishLine size = "8rem" />
4448 < Image
45- src = "/avatars/ladybird .svg"
49+ src = { avatars [ avatarNameInLocalStorage ] || "/avatars/mystery .svg" }
4650 alt = "avatar"
4751 width = "100"
4852 height = "100"
@@ -52,7 +56,8 @@ export default function LearnerOnboardingProgressBar({
5256 ) ;
5357 } else if ( i === totalSteps ) {
5458 mySteps . push (
55- < LearnerOnboardingProgressBarListItemFinal >
59+ < LearnerOnboardingProgressBarListItemFinal key = { i . toString ( ) } >
60+ { /* {i.toString()} */ }
5661 < GiFinishLine size = "8rem" />
5762 { /* <GiCheckeredFlag size="5rem" /> */ }
5863 { /* <FaFlagCheckered size="5rem" /> */ }
@@ -61,8 +66,13 @@ export default function LearnerOnboardingProgressBar({
6166 } else {
6267 mySteps . push (
6368 < >
64- < LearnerOnboardingProgressBarListItem />
65- < LearnerOnboardingProgressBarListItem >
69+ < LearnerOnboardingProgressBarListItem key = { i . toString ( ) } >
70+ { /* {i.toString()} */ }
71+ </ LearnerOnboardingProgressBarListItem >
72+ < LearnerOnboardingProgressBarListItem
73+ key = { ( totalSteps + i + 1 ) . toString ( ) }
74+ >
75+ { /* {(totalSteps + i + 1).toString()} */ }
6676 < TiArrowRightThick size = "5rem" />
6777 </ LearnerOnboardingProgressBarListItem >
6878 </ >
0 commit comments