Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Bug] Cor de fundo do card não está aplicando

Não estou conseguindo identificar o problema, pois não tem erro nenhum no console. A cor de fundo do card "Colaborador" não aplica! Verifiquei a lista de cores, e não tem problema algum por lá, inclusive o tema de fundo de cada time funciona bem, apenas no card não aplica.

Aqui está o index.js do componente Colaborador:

import "./Colaborador.css";

const Colaborador = ({ imagem, nome, cargo, corCard }) => {
  return (
    <div className="colaborador">
      <div className="cabecalho" style={{ backgroundColor: corCard }}>
        <img src={imagem} alt={nome} />
      </div>

      <div className="rodape">
        <h4>{nome}</h4>
        <h5>{cargo}</h5>
      </div>
    </div>
  );
};

export default Colaborador;

Aqui está o index.js do componente Times:

import Colaborador from "../Colaborador";
import "./Times.css";

const Times = (props) => {
  const css = { backgroundColor: props.corFundo };

  return props.colaboradores.length > 0 ? (
    <section className="times" style={css}>
      <h3 style={{ borderColor: props.corCard }}>{props.nome}</h3>
      <div className="colaboradores">
        {props.colaboradores.map((colaborador) => (
          <Colaborador
            corCard={props.corPrimaria}
            key={colaborador.nome}
            nome={colaborador.nome}
            cargo={colaborador.cargo}
            imagem={colaborador.imagem}
          />
        ))}
      </div>
    </section>
  ) : (
    ""
  );
};

export default Times;

Aqui está o bloco de renderização do componente App:

return (
    <div className="App">
      <Banner />
      <Formulario
        times={times.map((time) => time.nome)}
        aoColaboradorCadastrado={(colaborador) =>
          aoNovoColaboradorAdc(colaborador)
        }
      />
      {times.map((time) => (
        <Times
          key={time.nome}
          nome={time.nome}
          corCard={time.corPrimaria}
          corFundo={time.corSecundaria}
          colaboradores={colaboradores.filter(
            (colaborador) => colaborador.time === time.nome
          )}
        />
      ))}
    </div>
  );
4 respostas

Oi, Stefani, tudo bem?

Peço que você compartilhe o link do seu projeto no GitHub ou uma pasta com todos os arquivos que você utilizou no através do Google Drive. Dessa forma, conseguirei realizar os testes necessários e te ajudar de forma mais assertiva.

Lembre-se que, se enviar os arquivos por meio do Google Drive, é necessário conceder permissão para que eu possa ter acesso.

Fico no aguardo!

Estive tentando resolver o problema sozinha, mas realmente não consegui entender o que está errado. Então fiz hoje o commit e push para o Github, e aqui está o link: https://github.com/weberstefani/organo.git

solução!

Oi, Stefani, tudo bem?

O problema está no componente "Time". O React funciona passando as props para os componentes filhos e assim por diante. No caso temos como estrutura principal o arquivo "App.js" que passa a prop corCard com o valor definido pela cor primária em cada um dos times (time.corPrimaria) para o componente "Time", este componente está passando a prop corCard para o componente "Colaborador"da seguinte maneira:

corCard={props.corPrimaria}

Mas essa prop foi definida como corCard no "App.js", portanto, devemos passar a cor do card da seguinte forma:

corCard={props.corCard}

Com isso a cor será aplicada ao card corretamente.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Realmente, funcionou kkk Muito obrigada!