import React, { useEffect, useState } from "react"; import Object from "./Object"; import { MonitorSmartphone } from "lucide-react"; import { ALL_ITEMS_UPDATED_EVENT } from "../utils/fetchData"; const Sidebar: React.FC = () => { const [items, setItems] = useState( JSON.parse(localStorage.getItem("allItems") || "[]") ); useEffect(() => { const handler = () => { const next = JSON.parse(localStorage.getItem("allItems") || "[]"); setItems(next); }; handler(); window.addEventListener(ALL_ITEMS_UPDATED_EVENT, handler); return () => window.removeEventListener(ALL_ITEMS_UPDATED_EVENT, handler); }, []); const outCount = items.reduce((n, it) => n + (it.inSafe ? 0 : 1), 0); const sorted = [...items].sort((a, b) => Number(a.inSafe) - Number(b.inSafe)); return (