// AccountCard.jsx import { useEffect, useState } from "react"; import PropTypes from "prop-types"; import dayjs from "dayjs"; import { CONSTANTS } from "@/util/constants.js"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPen, faCheck, faXmark } from "@fortawesome/free-solid-svg-icons"; const getServiceName = (serviceId) => { switch (serviceId) { case CONSTANTS.CORE_ID: return "Miarma"; case CONSTANTS.HUERTOS_ID: return "Huertos Bellavista"; case CONSTANTS.MINECRAFT_ID: return "MiarmaCraft"; case CONSTANTS.CINE_ID: return "Huertos de Cine"; case CONSTANTS.MPASTE_ID: return "MPaste"; default: return "Desconocido"; } }; const AccountCard = ({ identity, onUpdate, onRequestStatusChange, confirmedStatusChange }) => { const [editMode, setEditMode] = useState(false); const [formData, setFormData] = useState({ username: identity.username, email: identity.email, status: identity.status }); useEffect(() => { if (!editMode) { setFormData({ username: identity.username, email: identity.email, status: identity.status }); } }, [identity, editMode]); // Aplica la desactivación confirmada useEffect(() => { if (confirmedStatusChange?.credentialId === identity.credentialId) { setFormData(prev => ({ ...prev, status: confirmedStatusChange.status })); } }, [confirmedStatusChange, identity.credentialId]); const handleChange = (field, value) => { setFormData(prev => ({ ...prev, [field]: value })); }; const handleSave = () => { onUpdate?.({ ...identity, ...formData }); setEditMode(false); }; const handleCancel = () => setEditMode(false); return (