import { Project, sanitize } from "../models/project"; import { useState } from "react"; import { ProjectStorageKeyPrefix } from "../util/storage"; export function loadStoredProjects(): Project[] { const projects: Project[] = []; Object.keys(window.localStorage).forEach(key => { if (key.startsWith(ProjectStorageKeyPrefix)) { try { const data = window.localStorage.getItem(key); if (data) { const project: Project = JSON.parse(data); sanitize(project) projects.push(project); } } catch (err) { console.error(err); } } }); return projects } export function useStoredProjectList(): [Project[], () => void] { const [projects, setProjects] = useState(() => { return loadStoredProjects(); }); const refresh = () => { setProjects(loadStoredProjects()); }; return [projects, refresh]; }