import { useEffect, useRef, useState } from "react"; import NuevaCoord from "./NuevaCoord"; import EditarIcon from "./EditarIcon"; import ShareIcon from "./ShareIcon"; import RemoveIcon from "./RemoveIcon"; import StaticModal from "./StaticModal"; import EditarModal from "./EditarModal"; import TimedToast from "./TimedToast"; function Modall({ show, CloseModal, Coord, Coords, EliminarCoord, tipo }) { if (show === true && Coord !== null) { return ( { const nuevasCoords = Coords.filter((c) => c !== Coord); localStorage.setItem(tipo, JSON.stringify(nuevasCoords)); EliminarCoord(nuevasCoords); }} /> ); } return null; } export default function Keeper({ tipo }) { const [coords, setCoords] = useState( JSON.parse(localStorage.getItem(tipo) || "[]"), ); const collapseRef = useRef(null); const [showModal, setModal] = useState(false); const [showEditar, setEditar] = useState(false); const [showToast, setShowToast] = useState(false); const [selCoord, setCoord] = useState(null); useEffect(() => { const storedCoords = JSON.parse(localStorage.getItem(tipo) || "[]"); console.log(storedCoords); if (storedCoords) { setCoords(storedCoords); } }, [tipo]); const Editar = (coord) => { setCoord(coord); setEditar(true); }; const Compartir = (coord) => { setCoord(coord); const textToCopy = `- ${coord.descripcion}, X: ${coord.x}${coord.y ? ` Y: ${coord.y}` : ""} Z: ${coord.z}`; navigator.clipboard.writeText(textToCopy); setShowToast(true); }; const Remover = (coord) => { setCoord(coord); setModal(true); }; const collapseAccordion = () => { if (collapseRef.current) { const bsCollapse = new window.bootstrap.Collapse(collapseRef.current, { toggle: false, }); bsCollapse.hide(); } }; return ( <> setModal(false)} Coord={selCoord} Coords={coords} EliminarCoord={setCoords} tipo={tipo} /> setEditar(false)} tipo={tipo} coord={selCoord} setCoords={setCoords} />


{coords.length == 0 && (

No hay Coordenadas que Mostrar.

)} {coords.length != 0 && coords.map((x) => ( ))}
# X: Y: Z: Descripcion
{x.num} {x.x} {x.y !== null && `Y: ${x.y}`} {x.z} {x.descripcion}
); }