diff --git a/package-lock.json b/package-lock.json index 44583bd..b91f267 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "todo-list", "version": "0.0.0", "dependencies": { + "@heroicons/react": "^2.0.18", "@reduxjs/toolkit": "^1.9.5", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -462,6 +463,14 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@heroicons/react": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", + "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", + "peerDependencies": { + "react": ">= 16" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", diff --git a/package.json b/package.json index 5b6fad2..f57a426 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,13 @@ "type": "module", "scripts": { "dev": "vite", + "dev-host": "vite --host", "build": "tsc && vite build", "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { + "@heroicons/react": "^2.0.18", "@reduxjs/toolkit": "^1.9.5", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index c5c5918..6847ba5 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -2,7 +2,7 @@ export default function Footer() { return ( ) diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index 7e42fb3..aa86577 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -1,7 +1,13 @@ +import clsx from 'clsx'; + export default function Navbar() { return ( -
- +
+
- ) + ); } \ No newline at end of file diff --git a/src/components/todo/TodoAddItemForm.tsx b/src/components/todo/TodoAddItemForm.tsx index 653b14a..44925ee 100644 --- a/src/components/todo/TodoAddItemForm.tsx +++ b/src/components/todo/TodoAddItemForm.tsx @@ -1,6 +1,7 @@ import {FormEvent, useState} from 'react'; import {useDispatch} from 'react-redux'; import {addTodo} from '../../features/todo/todoSlice.ts'; +import {PlusIcon} from '@heroicons/react/24/outline'; export default function TodoAddItemForm() { const [name, setName] = useState(''); @@ -17,20 +18,12 @@ export default function TodoAddItemForm() {
- setName(evt.target.value)} - /> + onChange={evt => setName(evt.target.value)}/>
diff --git a/src/components/todo/TodoCardFooter.tsx b/src/components/todo/TodoCardFooter.tsx index eeb272e..3eaa717 100644 --- a/src/components/todo/TodoCardFooter.tsx +++ b/src/components/todo/TodoCardFooter.tsx @@ -6,7 +6,11 @@ import TodoState from '../../models/TodoState.ts'; export default function TodoCardFooter() { const dispatch = useDispatch(); - const selectedTodosCount: number = useSelector((state: RootState) => state.todo.filter((todo: TodoState) => !todo.checked).length); + const selectedTodosCount: number = useSelector( + (state: RootState) => state.todo.filter( + (todo: TodoState) => !todo.checked + ).length + ); const handleDelete = () => dispatch(deleteSelectedTodos()); diff --git a/src/components/todo/TodoItem.tsx b/src/components/todo/TodoItem.tsx index 487b49f..9ff3234 100644 --- a/src/components/todo/TodoItem.tsx +++ b/src/components/todo/TodoItem.tsx @@ -14,7 +14,8 @@ export default function TodoItem({todo}: Props) { return (