Now let's add data persistence support by creating a classes/storage.js file with the following content:

import { TodoList, TodoItem } from "./classes.js";

const todoList = TodoList.getInstance();

export const LocalStorage = {
    load() {
        if (localStorage.getItem("todos")) {
            for (let t of JSON.parse(localStorage.getItem("todos"))) {
                todoList.add(new TodoItem(t.text));
            }
        }
    },
    save() {
        console.log(todoList.items);
        const array = Array.from(todoList.items);
        localStorage.setItem("todos", JSON.stringify(array));
    }
}
todoList.addObserver(LocalStorage.save);

Finally, back in app.js add a LocalStorage.load() call in the DOMContentLoaded event.