Skip to content

Commit cc86268

Browse files
committed
add background color for LevelButton when is in progress
1 parent 73f7297 commit cc86268

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/components/LevelSelection/components/LevelButton.jsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
import React from "react";
1+
import React, { useMemo } from "react";
22
import { Link } from "react-router-dom";
33
import Queen from "../../../components/Queen";
4-
import { isLevelCompleted } from "../../../utils/localStorage";
4+
import { isLevelCompleted, isLevelInProgress } from "../../../utils/localStorage";
55

66
const 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 && (

src/utils/localStorage.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
9095
export const resetCompletedLevels = () => {
9196
storeLevels(JSON.stringify(LOCAL_STORAGE.completedLevels.defaultValue));
9297
};

0 commit comments

Comments
 (0)