const CourseCard = ({ classes, id, status, image, name, summary, progress, price }) => { // Nova variável para armazenar só o comportamento const actions = []; // removido a variável renderActions let posExtraClass, posLabel; if (status === "ACTIVE") { if (progress && progress.length > 0) { const progressTotal = progress.length; const progressCount = progress.filter(p => p.status === "DONE").length; if (progressCount === progressTotal) { posLabel = "Concluído"; } else if (progressCount === 0) { posLabel = "Não iniciado"; } else { const progressPercent = Math.floor( (progressCount * 100) / progressTotal ); posLabel = `Progresso: ${progressPercent}%`; } // alterado de renderActions para actions actions.push({ label: progressCount === 0 ? "Começar" : "Continuar" }); } else { posLabel = price ? `Preço: R$ ${price}` : "Grátis"; posExtraClass = classes.posHighlight; // alterado de renderActions para actions actions.push({ label: "Saber mais" }); actions.push( price ? { label: "Comprar", link: `/payment/course/${id}` } : { label: "Começar" } ); } } else { posLabel = "Em breve..."; // alterado de renderActions para actions actions.push({ label: "Saber mais" }); } return ( {name} {posLabel && ( {posLabel} )} {summary} {/* Mapeia cada ação para a camada de apresentação */} {actions.map(action => ( ))} ); }; export default withStyles(styles)(CourseCard);