Skip to content

Commit cfa25b6

Browse files
committed
Filled out implementation of TaskList
1 parent e6cc9d2 commit cfa25b6

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

src/components/TaskList.tsx

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,45 @@ export default function TaskList({
2323
onPinTask,
2424
onArchiveTask,
2525
};
26-
26+
const LoadingRow = (
27+
<div className="loading-item">
28+
<span className="glow-checkbox" />
29+
<span className="glow-text">
30+
<span>Loading</span> <span>cool</span> <span>state</span>
31+
</span>
32+
</div>
33+
);
2734
if (loading) {
28-
return <div className="list-items">loading</div>;
35+
return (
36+
<div className="list-items" data-testid="loading" key={"loading"}>
37+
{LoadingRow}
38+
{LoadingRow}
39+
{LoadingRow}
40+
{LoadingRow}
41+
{LoadingRow}
42+
{LoadingRow}
43+
</div>
44+
);
2945
}
30-
3146
if (tasks.length === 0) {
32-
return <div className="list-items">empty</div>;
47+
return (
48+
<div className="list-items" key={"empty"} data-testid="empty">
49+
<div className="wrapper-message">
50+
<span className="icon-check" />
51+
<p className="title-message">You have no tasks</p>
52+
<p className="subtitle-message">Sit back and relax</p>
53+
</div>
54+
</div>
55+
);
3356
}
3457

58+
const tasksInOrder = [
59+
...tasks.filter((t) => t.state === "TASK_PINNED"),
60+
...tasks.filter((t) => t.state !== "TASK_PINNED"),
61+
];
3562
return (
3663
<div className="list-items">
37-
{tasks.map((task) => (
64+
{tasksInOrder.map((task) => (
3865
<Task key={task.id} task={task} {...events} />
3966
))}
4067
</div>

0 commit comments

Comments
 (0)