From 4be0b395c64ccb8bd94eaa17c0d243c9fea0f2ac Mon Sep 17 00:00:00 2001 From: AnasInaam Date: Tue, 1 Oct 2024 02:02:42 +0530 Subject: [PATCH] Fixed localStorage usage --- app/page.js | 131 +++++++++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 63 deletions(-) diff --git a/app/page.js b/app/page.js index 2b654c9..d305d50 100644 --- a/app/page.js +++ b/app/page.js @@ -7,13 +7,17 @@ import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd"; const Page = () => { const [title, setTitle] = useState(""); const [desc, setDesc] = useState(""); - const [mainTask, setMainTask] = useState(() => { - // Retrieve tasks from localStorage if available - const savedTasks = localStorage.getItem("tasks"); - return savedTasks ? JSON.parse(savedTasks) : []; - }); + const [mainTask, setMainTask] = useState([]); const [darkMode, setDarkMode] = useState(false); + // Load tasks from localStorage on the client side + useEffect(() => { + const savedTasks = localStorage.getItem("tasks"); + if (savedTasks) { + setMainTask(JSON.parse(savedTasks)); + } + }, []); + // Save tasks to localStorage whenever mainTask changes useEffect(() => { localStorage.setItem("tasks", JSON.stringify(mainTask)); @@ -22,7 +26,7 @@ const Page = () => { const submitHandler = (e) => { e.preventDefault(); if (title && desc) { - setMainTask([...mainTask, { title, desc, completed: false }]); // Adding completed state + setMainTask([...mainTask, { title, desc, completed: false }]); setTitle(""); setDesc(""); } @@ -66,61 +70,62 @@ const Page = () => { ref={provided.innerRef} > {mainTask.map((t, i) => ( - + {(provided) => ( -
  • -
    -
    - {t.title} -
    -
    - {t.desc} -
    -
    - - {/* Right-aligned Buttons */} -
    - {/* Complete Task Button */} - - - {/* Delete Button */} - -
    -
  • - +
  • +
    +
    + {t.title} +
    +
    + {t.desc} +
    +
    + + {/* Right-aligned Buttons */} +
    + {/* Complete Task Button */} + + + {/* Delete Button */} + +
    +
  • )}
    ))} @@ -137,9 +142,9 @@ const Page = () => {
    {/* Header */}
    -
    -

    Task Manager

    -
    +
    +

    Task Manager

    +