# 2° fase session monkchat REACTjs-responsivo **NOME** kevin ribeiro de andrade **numero** 27 **turma** INFOA ## COMPONENTS/CABECALHO ```jsx= import { Barra, Cabecalhocomp } from "./styled" export default function Cabecalho() { return ( <Cabecalhocomp> <div className="logo"><img src = "../assets/images/logoSITEmonk.png"/> </div> <Barra> <div className="barra"> <hr></hr> </div> </Barra> <div className="titulo"> MonkChatWeb </div> </Cabecalhocomp> ) } import styled from "styled-components"; const Barra = styled.div` .barra hr { transform: rotate(90deg); height: 1px; width: 70PX; } ` const Cabecalhocomp = styled.div` display: flex; flex-direction: row; align-items: center; margin-bottom: 3em; .titulo { font: 700 2.2em Montserrat; } ` export {Barra, Cabecalhocomp} ``` ## components/monkchat ```jsx= import Cabecalho from "../../components/cabecalho" import { containermonk, Containerconteudo, MonkButton, ChatInput, ChatText, SOS} from "./styled" export default function Monkchat() { return ( <SOS> <containermonk className = "f"> <Cabecalho /> <Containerconteudo> <div className="container-forms"> <div className="box-sala"> <div> <div className="label">sala:</div> <ChatInput /> </div> <div> <div className="label">Nick:</div> <ChatInput /> </div> <div> <MonkButton> Criar </MonkButton> <MonkButton> Entrar </MonkButton> </div> </div> <div className = "eu"> <div className="box-mensages"></div> <div className="label">mensage:</div> <ChatText /> <MonkButton className="btn-enviar"> Enviar </MonkButton> </div> </div> <div className="container-chat"> <img className="chat-atualizar" src="/assets/images/Vetor.png" alt="" /> <div className="chat"> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> <div className = "chat-mensage"> <div> (15:02:01) </div> <div><b>Brunex</b> fala para <b>Todos:</b> Oieeeee </div> </div> </div> </div> </Containerconteudo> </containermonk> </SOS> ) } import styled from "styled-components"; const containermonk = styled.div` display: flex; flex-direction: column; background-color: #583BBF; color: #ffffff; padding: 2em 5em 6em 5em; font-family: Montserrat; height: 100vh; ` const SOS = styled.div` .f { display: flex; flex-direction: column; background-color: #583BBF; color: #ffffff; padding: 2em 5em 6em 5em; font-family: Montserrat; height: 100vh; } ` const Containerconteudo = styled.div` display: flex; flex-direction: row; background: rgba(0, 0, 0, 0.12); padding: 3em 5em; height: 100%; .container-form { display: flex; flex-direction: column; justify-content: space-between; padding: 2em; } .box-sala { display: flex; flex-direction: column; } .box-sala > div { display: flex; flex-direction: row; justify-content: flex-end; align-items: center; margin: .2em; } .label { font-weight: 700; font-size: 1.2em; width: 4em; } .eu { display: flex; flex-direction: column; padding-top: 7em; } .box-mensagem { display: flex; flex-direction: column; } .btn-enviar { align-self: flex-end; } .container-chat { display: flex; flex-direction: column; flex-grow: 1; padding: 0em 2em 2em 2em; } .chat-atualizar { width: 1em; align-self: flex-end; margin: .4em; } .chat { display: flex; flex-direction: column; background: rgba(192, 65, 224, 0.19); border-radius: 3px; padding: 1.5em; height: 100%; overflow-y: auto; } .chat::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.6); background-color: #F5F5F5; border-radius: 10px; } .chat::-webkit-scrollbar { width: 6px; background-color: #F5F5F5; } .chat::-webkit-scrollbar-thumb { border-radius: 10px; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, rgb(0,0,128)), color-stop(0.72, rgb(75,0,130)), color-stop(0.86, rgb(139,0,139))); } .chat-mensage { display: flex; flex-direction: row; font-size: .9em; margin: .4em .2em; } ` const test = styled.div` .btn-enviar { align-self: flex-end; } ` const MonkButton = styled.button ` font-weight: 700; color: #fff; background: #50B4BF; border: none !important; border-radius: 20px; padding: .5em 1.5em; margin: .3em; cursor: pointer; &:hover { background-color: #299ca8; } ` const ChatInput = styled.input` border: none; background: #FFFF; border-radius: 5PX; outline: none; padding: .4em .5em; cursor: text; ` const ChatText =styled.textarea` border: none; background: #FFFF; border-radius: 5PX; outline: none; padding: .4em .5em; cursor: text; height: 12em; margin: .5em 0em; ` ``` ## responsividade ```jsx= const Responsividade = styled.div` @media (max-width: 800px) { .Container {min-width: auto; padding: 1em; height: auto;} .Cabecalho {flex-direction: column;} .Conteudo {flex-direction: column; padding: .2em; } .container-form { padding: 1em; justify-content: flex-start; } .container-form > div { margin-bottom: 2em;} .box-sala > div {justify-content: flex-start; } .box-sala > div::nth-of-type(3) { flex-direction: column; } .chat { overflow-y: unset; height: auto; } .chat-mensage { flex-direction: column; margin: 1em 0em; } .container-chat { height: auto; padding: 1em;} button { width: 100%; border-radius: .3em; height: 2.5em;} .label { width: 4em; } input { width: 100%;} .barra {display: none; } ```