2
respostas

Titulo não fica o fundo cinza

O meu não aparece com o quadrado cinza ao redor do titulo Área Administrativa como na tela da instrutora, podem ajudar por favor?

Titulo

import avaliacao from './assets/avaliacao.png';
import grafico from './assets/grafico.png';
import consulta from './assets/consulta.png';
import styled from 'styled-components';

interface Props {
    imagem?: string,
    children?: React.ReactNode
}

interface IImagens {
    avaliacao: string,
    grafico: string,
    consulta: string
}

const SpanEstilizado = styled.span<Props>`
background-repeat: no-repeat;
background-position: center;
background-size: cover;
width: 25px;
height: 25px;
background-image: ${props => props.imagem ? `url(${props.imagem})` : 'none'}
`

const TituloEstilizado = styled.h2`
 color: var(--azul-claro);
`

const ContainerEstilizado = styled.div`
 display: flex;
 align-items: center;
`

function Titulo({imagem, children} : Props) {

    const listaDeImagens: IImagens = {
        avaliacao: avaliacao,
        grafico: grafico,
        consulta: consulta
    }

    return (
        <ContainerEstilizado>
            {imagem && <SpanEstilizado imagem={listaDeImagens[imagem as keyof IImagens]} />}
            <TituloEstilizado>{children}</TituloEstilizado>
        </ContainerEstilizado>
    )
}

export default Titulo;

Container

import styled from "styled-components";

const Container = styled.section`
    background-color: var(--cinza-claro);
    margin: 4em;
    border-radius: 16px;
    padding: 2em;
    height: 100%;   
`

export default Container;

App.tsx

import { Container } from '@mui/material';
import './App.css';
import Cabecalho from './components/Cabecalho';
import Titulo from './components/Titulo';

function App() {
  return (
    <>
      <Cabecalho />
      <Container>
        <Titulo>Área Administrativa</Titulo>
      </Container>
      
    </>
  );
}

export default App;

O meu: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Da aula: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Oi!

Parece que o componente Titulo utiliza os estilos corretamente. No entanto, para que o título fique com o quadrado cinza ao redor, é importante garantir que o componente Titulo tenha uma cor de fundo (background) que corresponda à cor cinza que você deseja.

Verifique se a classe TituloEstilizado no Styled Components possui a propriedade background-color definida como cinza. Caso contrário, você pode adicioná-la da seguinte forma:

const TituloEstilizado = styled.h2`
    color: var(--azul-claro);
    background-color: var(--seu-cinza); // Substitua 'seu-cinza' pela cor de cinza desejada
`

Lembre-se de substituir 'seu-cinza' pela cor de cinza que você deseja usar. Certifique-se de que a variável --seu-cinza esteja definida nas variáveis de estilo do seu projeto.

Além disso, é importante verificar se as variáveis de estilo, como --azul-claro e --seu-cinza, estão definidas corretamente em seu projeto. Certifique-se de que essas variáveis estejam declaradas no escopo apropriado, geralmente no arquivo de estilos globais ou em um arquivo de tema, e que as cores correspondam às que você deseja usar.

Se você seguir essas orientações e ajustar as estilizações do componente Titulo, o título "Área Administrativa" deve exibir o quadrado cinza ao redor, conforme desejado. .

Obrigado pela ajuda, conferi tudo o que você me disse e pareceu estar bem.

Inclusive tenho os estilos declarados no index.css com as cores que estou querendo definir.

Mas consegui descobrir o problema, no App.tsx estava fazendo o import errado do meu Container.

Tinha o esse: import { Container } from '@mui/material';

Quando na verdade precisava ter importado esse: import Container from './components/Container';

Corrigi isso e já funcionou.

Obrigado.