File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed
components/LevelSelection/components Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change 1- import React from "react" ;
1+ import React , { useMemo } from "react" ;
22import { Link } from "react-router-dom" ;
33import Queen from "../../../components/Queen" ;
4- import { isLevelCompleted } from "../../../utils/localStorage" ;
4+ import { isLevelCompleted , isLevelInProgress } from "../../../utils/localStorage" ;
55
66const LevelButton = ( { level, disabled } ) => {
7- const completed = isLevelCompleted ( level ) ;
7+ const completed = useMemo ( ( ) => isLevelCompleted ( level ) , [ level ] ) ;
8+ const inProgress = useMemo ( ( ) => isLevelInProgress ( level ) , [ level ] ) ;
89
910 return (
1011 < Link to = { `/level/${ level } ` } key = { level } >
1112 < button
12- className = { `relative rounded p-2 w-full text-white bg-[#F96C51] ${
13+ className = { `relative rounded p-2 w-full text-white ${
1314 disabled ? "opacity-75" : ""
1415 } `}
16+ style = { { backgroundColor : inProgress ? "red" : "#F96C51" } }
1517 >
1618 { level }
1719 { completed && (
Original file line number Diff line number Diff line change @@ -87,6 +87,11 @@ export const isLevelCompleted = (levelNumber) => {
8787 return storedLevels [ levelNumber ] ?. completed ;
8888} ;
8989
90+ export const isLevelInProgress = ( levelNumber ) => {
91+ const storedLevels = getStoredLevels ( ) ;
92+ return storedLevels [ levelNumber ] ?. completed === false && storedLevels [ levelNumber ] ?. time > 0 ;
93+ }
94+
9095export const resetCompletedLevels = ( ) => {
9196 storeLevels ( JSON . stringify ( LOCAL_STORAGE . completedLevels . defaultValue ) ) ;
9297} ;
You can’t perform that action at this time.
0 commit comments