import Icons from "@/icons"; import PropTypes from "prop-types"; import IfRole from "../auth/IfRole"; import { CONSTANTS } from "@/constants"; import AnimatedDropdown from "../util/AnimatedDropdown"; import FileUpload from '@/components/inputs/FileUpload'; import { useState } from "react"; const Mod = ({ mod, isNew, fileRef, onCreate, onUpdate, onDelete, onSelectFiles, onCancel, onClearError }) => { const isActive = mod?.status === 1; const [editMode, setEditMode] = useState(isNew); const [modData, setModData] = useState({ name: mod?.name || "Mod nuevo", url: mod?.url || "no", status: mod?.status ?? 1, }); const createMode = isNew; const handleChange = (K, V) => { setModData((prev) => ({ ...prev, [K]: V })) } const handleDelete = () => typeof onDelete === "function" && onDelete(mod.mod_id); const handleSave = () => { const data = { ...mod, ...modData }; if (createMode && onCreate) onCreate(data); else if (onUpdate) onUpdate(data, mod.mod_id); } const handleEdit = () => { if (onClearError) onClearError(); setEditMode(true); }; const handleCancel = () => { if (onClearError) onClearError(); if (createMode && typeof onCancel === 'function') return onCancel(); setEditMode(false); }; if (editMode) { return (