diff --git a/TODO-LIST/src/pages/Home.jsx b/TODO-LIST/src/pages/Home.jsx index 74b9c24..91bb014 100644 --- a/TODO-LIST/src/pages/Home.jsx +++ b/TODO-LIST/src/pages/Home.jsx @@ -1,5 +1,5 @@ -import React,{useState,useEffect} from 'react' -import {nanoid} from 'nanoid' +import React, { useState, useEffect } from 'react' +import { nanoid } from 'nanoid' import Todo from '../components/Todo' const getTodos = () => { @@ -17,7 +17,7 @@ const Home = () => { const addTodo = (e) => { e.preventDefault() if (todo && todos.findIndex(t => t.text === todo) === -1) { - setTodos(prev => [...prev, {id:nanoid(),text:todo}]) + setTodos(prev => [...prev, { id: nanoid(), text: todo }]) setTodo('') } } @@ -45,31 +45,55 @@ const Home = () => { setTodos([...todos]) } } + + const editTodo = (id) => { + const todoToEdit = todos.find(t => t.id === id) + const newText = prompt("Edit your todo:", todoToEdit.text) + if (newText && newText.trim() !== "" && todos.findIndex(t => t.text === newText) === -1) { + setTodos(prev => prev.map(t => t.id === id ? { ...t, text: newText } : t)) + } + } + useEffect(() => { localStorage.setItem('todos', JSON.stringify(todos)) - },[todos]) + }, [todos]) return ( -
-
-
- setTodo(e.target.value)}/> - -
- { - todos.length? ( -
- { - todos.map((todo,index) => { - return - }) - } -
) :

No todo...

+
+
+
+ setTodo(e.target.value)} + /> + +
- } -
-
- ) + {todos.length ? ( +
+ {todos.map((todo, index) => ( + + ))} +
+ ) : ( +

+ No todo... +

+ )} +
+
+ ) } -export default Home \ No newline at end of file +export default Home