diff --git a/src/App.tsx b/src/App.tsx
index 4e1f04b..cce0cd3 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,25 +1,17 @@
import React from "react";
+import { Provider } from "react-redux";
import { Layout } from "./components/Layout";
import { TodoList } from "./components/TodoList";
import { AppBar } from "./components/AppBar";
-import { TaskItemT } from "./types";
import { AddTask } from "./components/AddTask";
-
-const tasks: TaskItemT[] = [
- { text: "test", done: false, id: 0 },
- { text: "Long, a bit tooooooo0000000000oooooo long test", done: true, id: 1 },
-];
+import store from "./store";
export const App = () => {
return (
- <>
- }
- title="My tasks"
- content={}
- />
+
+ } title="My tasks" content={} />
- >
+
);
};
diff --git a/src/components/TodoItem.tsx b/src/components/TodoItem.tsx
index e2f9704..19eda7b 100644
--- a/src/components/TodoItem.tsx
+++ b/src/components/TodoItem.tsx
@@ -9,17 +9,24 @@ import TextField from "@mui/material/TextField";
import DeleteOutlined from "@mui/icons-material/DeleteOutlined";
import { TaskItemT } from "../types";
+import { useAppDispatch } from "../hooks";
+import { markDone, remove } from "../store/slices/todo";
-export type TodoItemProps = { task: TaskItemT };
+export type TodoItemProps = { task: TaskItemT; index: number };
-export const TodoItem: React.FC = ({ task }) => {
+export const TodoItem: React.FC = ({ task, index }) => {
const { done, text } = task;
+ const dispatch = useAppDispatch();
+
const [editing, setEditing] = useState(false);
return (
-
+ dispatch(markDone({ index, value: !done }))}
+ />
{editing ? (
= ({ task }) => {
multiline
/>
) : (
- setEditing(true)} primary={text} />
+ setEditing(true)}
+ primary={text}
+ />
)}
-
+ dispatch(remove(index))}
+ >
diff --git a/src/components/TodoList.tsx b/src/components/TodoList.tsx
index f2eea3e..a04b964 100644
--- a/src/components/TodoList.tsx
+++ b/src/components/TodoList.tsx
@@ -4,18 +4,16 @@ import List from "@mui/material/List";
import Paper from "@mui/material/Paper";
import { TodoItem } from "./TodoItem";
-import { TaskItemT } from "../types";
+import { useAppSelector } from "../hooks";
-export type TodoListProps = {
- tasks: TaskItemT[];
-};
+export const TodoList: React.FC = () => {
+ const tasks = useAppSelector((state) => state.todo.tasks);
-export const TodoList: React.FC = ({ tasks }) => {
return (
- {tasks.map((task) => (
-
+ {tasks.map((task, index) => (
+
))}