Skip to content

Commit b7db9f5

Browse files
committed
add functionality to in-progress button in FilterBar
1 parent f66dfc3 commit b7db9f5

File tree

4 files changed

+30
-5
lines changed

4 files changed

+30
-5
lines changed

src/App/TodoList/Item/index.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ const Item: React.FC<Props> = ({ todo }) => {
6262
// search clicked item by id...
6363
if (t.id === id) {
6464
// change complated status only clicked item
65-
return { ...t, completed: !t.completed }
65+
return { ...t, completed: !t.completed, inProgress: false }
6666
// return other item without any changes
6767
} else {
6868
return t
@@ -140,7 +140,15 @@ const Item: React.FC<Props> = ({ todo }) => {
140140
className="inProgressBadeg"
141141
onClick={() => setInprogress(todo.id)}
142142
>
143-
In Progress
143+
Backlog
144+
</span>
145+
)}
146+
{todo.completed && !todo.inProgress && (
147+
<span
148+
className="completedBadeg"
149+
onClick={() => setInprogress(todo.id)}
150+
>
151+
Completed
144152
</span>
145153
)}
146154
{/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */}

src/App/TodoList/Item/style.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,15 @@ export const Layout = styled.div`
139139
margin-right: 70px;
140140
cursor: pointer;
141141
}
142+
143+
.completedBadeg {
144+
padding: 3px 5px;
145+
border-radius: 3px;
146+
font-size: 0.5em;
147+
background-color: #2ecc71;
148+
color: white;
149+
font-weight: 600;
150+
margin-right: 70px;
151+
cursor: pointer;
152+
}
142153
`

src/App/TodoList/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ const TodoList: React.FC = () => {
4646
case '/':
4747
return true
4848
case '/backlog':
49-
return t.completed === false
49+
return t.completed === false && t.inProgress === false
50+
case '/in-progress':
51+
return t.inProgress === true
5052
case '/completed':
5153
return t.completed === true
5254
default:

src/App/UnderBar/index.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@ import { Layout } from './style'
99

1010
const UnderBar: React.FC = () => {
1111
const [appState, setAppState] = useRecoilState<AppState>(recoilState)
12-
const completed: number = appState.todoList.filter(t => t.completed === true).length /* eslint-disable-line prettier/prettier */
13-
const backlog: number = appState.todoList.filter(t => t.completed === false).length /* eslint-disable-line prettier/prettier */
12+
const completed: number = appState.todoList.filter(
13+
(t) => t.completed
14+
).length /* eslint-disable-line prettier/prettier */
15+
const backlog: number = appState.todoList.filter(
16+
(t) => t.completed === false
17+
).length /* eslint-disable-line prettier/prettier */
1418

1519
function clearCompleted(): void {
1620
setAppState({

0 commit comments

Comments
 (0)