import { useEffect, useState } from "react"; import mecredApi from "@/axiosConfig"; import Title from "./Title"; import Image from "next/image"; import packageInfo from "../../../package.json"; import Link from "next/link"; import { Accordion, Button, AccordionDetails, AccordionSummary } from "@mui/material"; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; import { Carousel } from "./AboutCarousel"; import { ActorsCarousel } from "./ActorsCarousel"; import { FunctionalitiesCarousel } from "./FunctionalitiesCarousel"; import AccountCircleRoundedIcon from '@mui/icons-material/AccountCircleRounded'; /** * * @returns tela de sobre */ export default function AboutComponent() { const [statistics, setStatistics] = useState({}); useEffect(() => { mecredApi .get("/statistics") .then(({ data }) => { setStatistics(data); }) .catch((error) => console.error(error)); }, []); const StatisticInfo = ({ name, data, color, icon }) => { return ( <div className="flex flex-col items-center text-center max-sm:flex-row"> <div className={`h-24 w-24 my-5 mx-10 pt-5 flex justify-center rounded-full ${color["bg"]}`} > <Image className={`rounded-lg w-14 h-14 invertIcon-HC-black`} style={{}} alt={name} src={icon} width={10} height={10} /> </div> <div> <h1 className={`text-xl mb-1 font-bold max-sm:text-left ${color["text"]}`}>{data}</h1> <h2 className={`text-base leading-tight font-bold max-sm:text-left ${color["text"]}`}>{name}</h2> </div> </div> ); }; const Statistics = () => { return ( <div className="flex max-sm:flex-col mb-10 gap-x-[60px]"> <StatisticInfo name={<p>Recursos Disponíveis</p>} data={statistics["count"]} color={{ text: "text-darkGray-HC-white", bg: "bg-orange-HC-white" }} icon="/redigitais.svg" /> <StatisticInfo name={<p>Recursos Acessados <br /> por mês</p>} data={statistics["month_downloads"]} color={{ text: "text-darkGray-HC-white", bg: "bg-violet-HC-white" }} icon="/download.svg" /> <StatisticInfo name={<p>Usuários Cadastrados </p>} data={statistics["unique_users"]} color={{ text: "text-darkGray-HC-white", bg: "bg-pink-HC-white" }} icon="/seguir.svg" /> </div> ); }; const ActorInfo = ({ name, description, nameImage }) => { return ( <div className={`flex flex-col justify-start w-full items-center rounded-md`}> <Image className="rounded-lg" alt={name} src={nameImage} width={500} height={10} /> <span className="text-light text-darkGray-HC-white mt-4 text-base text-left"> {description} </span> </div> ); }; const MecredStats = () => { return ( <div> <div className="mx-8 my-10"> <h1 className="flex justify-center font-bold text-2xl text-darkGray-HC-white mx-10"> A MEC RED é uma rede para você se conectar com pessoas interessadas em Educação! </h1> </div> <div> <h1 className="flex text-xl justify-center text-darkGray-HC-white text-wrap max-md:mx-10 mx-[100px] my-7"> Construa conosco a sua rede de conhecimentos, interagindo com pessoas envolvidas com experiência educacionais que ocorrem em todo o Brasil! </h1> </div> <div> <div className="flex flex-row justify-center"> < Statistics /> </div> </div> </div> ); } const Actors = () => { return ( <> <h1 className="text-2xl text-darkGray-HC-white font-bold mb-3 mt-10"> A quem se destina? </h1> <h1 className="flex text-xl text-balance text-darkGray-HC-white xl:w-[80%] mb-10"> A plataforma é aberta e destina-se a todos e todas que se interessam pela relação entre a escola e a Cultura Digital: </h1> <div className="w-full grid grid-rows-2 max-sm:grid-rows-4 grid-flow-col gap-10 justify-center mb-10 "> <ActorInfo name="Professores" description="Encontre recursos digitais que atendem aos objetivos das suas aulas! Aproveite para seguir outros professores, acessar coleções e conhecer novas experiências de uso!" nameImage="/images/prof.png" /> <ActorInfo name="Alunos" description="Você pode complementar seus estudos com recursos digitais que lhe interessem. Gostou de algum recurso? Recomende-o ao seu professor ou professora." nameImage="/images/aluno.png" /> <ActorInfo name="troca" description="Desenvolva, junto com o coletivo da escola, ações e projetos pedagógicos utilizando recursos digitais importantes para o seu contexto." nameImage="/images/gest.png" /> <ActorInfo name="Comunidade Acadêmica" description="Encontre recursos digitais e materiais de formação que contribuam para a aprendizagem e para práticas educativas na comunidade escolar." nameImage="/images/com_acad.png" /> </div> </> ); }; const FunctionalityInfo = ({ title, description, color, icon }) => { return ( <div className="flex max-xl:flex-col max-xl:items-center my-5"> <div> <div className={`flex h-24 w-24 my-2 mx-10 rounded-full items-center justify-center ${color}`} > <Image className={` invertIcon-HC-black rounded-lg w-12 h-12 bg-${color} ${title === "Publicar o seu Recurso" && `rotate-180`}`} alt={title} src={icon} width={10} height={10} /> </div> </div> <div className="flex flex-col"> <h1 className="pb-1 max-xl:mb-3 text-start max-xl:text-center text-lg font-bold text-darkGray-HC-white"> {title} </h1> <span className=" text-darkGray-HC-white text-base text-left max-xl:text-center w-full"> {description} </span> </div> </div> ); }; const Functionalities = () => { return ( <> <h1 className="text-2xl text-darkGray-HC-white font-bold mb-3 mt-5"> O que você pode fazer aqui? </h1> <div className="grid grid-cols-2 my-5 ml-6 mr-10 gap-x-4"> <FunctionalityInfo title="Buscar e Baixar Recursos" color="bg-turquoise-HC-white" description="São mais de 20 mil recursos educacionais à sua disposição, provenientes de portais parceiros do MEC e de professores que, como você, atuam na Educação Básica!" icon="/pesquisa.svg" /> <FunctionalityInfo title="Colecionar Recursos" color="bg-pink-HC-white" description="Guarde e organize em coleções os recursos que você considera interessantes para elaborar a sua aula. Aproveite para indicá-los aos colegas pelas redes sociais ou e-mail." icon="/colecionar.svg" /> <FunctionalityInfo title="Encontrar Materiais de Formação" color="bg-orange-HC-white" description="A plataforma disponibiliza um conjunto de materiais de formação recomendados pelo Ministério da Educação com diversidade de temas e recursos educacionais." icon="/verificado.svg" /> <FunctionalityInfo title="Compartilhar suas Experiências" color="bg-turquoise-HC-white" description="Você pode relatar suas experiências sobre o uso de recursos no seu cotidiano escolar. Aproveite esse espaço para sugerir e conhecer novos usos para um mesmo recurso." icon="/compartilhar.svg" /> <FunctionalityInfo title="Publicar o seu Recurso" color="bg-violet-HC-white" description="Colabore e ajude a fortalecer a plataforma publicando um recurso educacional desenvolvido por você ou pelo coletivo da escola do qual faz parte. Compartilhe seu conhecimento e dê visibilidade ao seu recurso, torne-o público enriquecendo o conhecimento partilhado!" icon="/download.svg" /> <FunctionalityInfo title="Faça novos Amigos" color="bg-orange-HC-white" description="Você vai descobrir pessoas interessadas nos mesmos assuntos que você. Aproveite para explorar a rede de usuários da MEC RED para fazer novos amigos e enriquecer suas relações." icon="/seguir.svg" /> </div> </> ); }; const DifferencesInfo = ({ title, description }) => { return ( <div> <h1 className="text-base text-darkGray-HC-white text-start font-semibold mb-3 mt-5 max-sm:hidden "> {title} </h1> <h1 className="text-base text-start text-darkGray-HC-white mb-5 max-sm:hidden"> {description} </h1> {/*Mobile: */} <Accordion className="sm:hidden text-base"> <AccordionSummary expandIcon={<ExpandMoreIcon />} aria-controls="panel1-content" id="panel1-header" className="text-gray-500 font-semibold text-left" > {title} </AccordionSummary> <AccordionDetails className="text-darkGray-HC-white-underline text-left"> {description} </AccordionDetails> </Accordion> </div> ); }; const Differences = () => { return ( <> <h1 className="text-xl tracking-tight text-darkGray-HC-white font-bold mb-2 mt-10 max-sm:py-2"> O que nos faz diferentes? </h1> <div> <div className="flex w-full align-middle px-16 max-sm:px-0 mt-4 mb-10 justify-center max-xl:flex-col max-xl:items-center space-x-2"> <div className="w-64 grid grid-cols-1 place-content-center xl:mr-4"> <Image className={` -mt-4 rounded-lg`} alt="imagem" src="/images/aluna.png" width={260} height={10} /> </div> <div className="w-[60%] pb-8 pt-2 max-sm:w-[80%]"> <DifferencesInfo title="Espaço construído por e para professores" description="São mais de 20 mil recursos educacionais à sua disposição. São recursos de portais parceiros do MEC e de professores que, como você, atuam na Educação Básica!" /> <DifferencesInfo title="Ambiente de colaboração" description="A Plataforma é um espaço onde você pode colaborar ao publicar seus recursos e compartilhar os de outros autores. Além disso, pode contribuir relatando suas experiências de uso com os Recursos disponíveis. Participe desta rede colaborativa!" /> <DifferencesInfo title="Todos os recursos em um só lugar" description="Aqui você consegue otimizar o seu tempo! A plataforma integra os Recursos Educacionais Digitais dos principais portais abertos." /> </div> </div> </div> </> ); }; const DevelopmentInfo = ({ title, description, link, access }) => { return ( <div className="flex flex-col"> <h1 className="pb-1 max-xl:mb-3 text-start text-lg font-bold text-darkGray-HC-white"> {title} </h1> <span className=" text-darkGray-HC-white text-base text-left w-full"> {description} </span> <a href={link} className="text-turquoise-HC-white-underline text-base text-left w-full mt-4">{access}</a> </div> ) } const Development = () => { return ( <> <h1 className="text-xl tracking-tight text-darkGray-HC-white font-bold mb-6 mt-10 max-sm:py-2 max-md:px-4"> Desenvolvimento da Plataforma </h1> <h1 className="flex text-xl text-balance text-darkGray-HC-white xl:w-[80%] mb-10 max-md:px-4"> A MEC RED é construída de forma colaborativa por uma comunidade, seguindo os princípios do software livre, com atualizações frequentes e licenciada sob GNU AGP. </h1> <div className="grid grid-cols-2 mx-24 gap-x-16 gap-y-8 mb-16 mt-4 max-md:grid-cols-1 max-md:ml-10 max-md:mr-4 max-md:mt-0"> <DevelopmentInfo title="Software Livre" description="A MEC RED é um software livre, permitindo acesso, modificação e distribuição do código. Isso promove transparência, colaboração e inovação aberta. Com essa abordagem, a plataforma cresce de forma coletiva e acessível." access="Clique aqui para acessar o código fonte." link="https://gitlab.c3sl.ufpr.br/mecred/source" /> <DevelopmentInfo title="Licenças GPL 3.0" description="A Licença GPL 3.0 (GNU General Public License, versão 3) é um modelo de licenciamento de software livre que garante que qualquer pessoa possa usar, modificar e distribuir um programa sem restrições, desde que mantenha essas mesmas liberdades para os outros." access="Clique aqui para ler mais sobre essa licença." link=" https://www.gnu.org/licenses/quick-guide-gplv3.pt-br.html" /> <DevelopmentInfo title="Versão" description="A MEC RED está em constante evolução! Atualizações frequentes trazem novas funcionalidades, melhorias de desempenho e correções, sempre priorizando a melhor experiência para os usuários." access="Clique aqui para acessar o histórico de atualizações" link="https://gitlab.c3sl.ufpr.br/mecred/frontend-mecred/-/blob/develop/CHANGELOG.md?ref_type=heads" /> <DevelopmentInfo title="Desenvolvedores" description="A plataforma é desenvolvida por uma comunidade de bolsistas, professores e estudantes que trabalham juntos para criar e aprimorar soluções educacionais acessíveis e eficientes." access="Clique aqui para conhecer o time de desenvolvimento." link="/equipe" /> </div> </> ) } return ( <> <div className="overflow-y-auto scrollbar-none"> <div className="flex max-lg:col-span-3 col-span-2"> <div className="flex flex-col px-3 w-full"> <Carousel /> <div className="flex flex-col text-center items-center rounded-lg bg-white-HC-dark outline outline-1 outline-ice-HC-white "> <div> <Title /> </div> </div> <div className="flex flex-col mt-12 text-center items-center rounded-lg bg-white-HC-dark outline outline-1 outline-ice-HC-white "> <MecredStats /> </div> <div className="flex flex-col text-center items-center mt-12 rounded-lg bg-white-HC-dark max-sm:hidden outline outline-1 outline-ice-HC-white"> <Actors /> </div> <div className="flex flex-col w-full text-center items-center mt-12 rounded-lg bg-white-HC-dark sm:hidden"> <ActorsCarousel /> </div> <div className="flex flex-col text-center items-center mt-12 rounded-lg bg-white-HC-dark max-sm:hidden outline outline-1 outline-ice-HC-white"> <Functionalities /> </div> <div className="flex flex-col z-0 text-center items-center mt-12 rounded-lg bg-white-HC-dark sm:hidden"> <FunctionalitiesCarousel /> </div> <div className="flex flex-col text-center items-center mt-12 rounded-lg bg-white-HC-dark outline outline-1 outline-ice-HC-white"> <Differences /> </div> <div className="flex flex-col text-center items-center mt-12 rounded-lg bg-white-HC-dark outline outline-1 outline-ice-HC-white"> <Development /> </div> <div className="flex justify-center flex-col items-center mt-8 max-md:mt-0 max-md:mb-8"> <div className="text-darkGray-HC-white mt-5 text-2xl font-bold">Quer saber mais?</div> <div className="text-darkGray-HC-white text-lg mt-4 ml-3">Acesse a página de Ajuda e Suporte!</div> <a href="/ajuda" className="mt-4 bg-turquoise-HC-white text-lg text-white-HC-dark-underline p-2 px-4 rounded-lg hover:bg-darkTurquoise-HC-dark hover:text-white outline outline-1">Ir para a página de Ajuda</a> </div> <h6 className="text-center pt-5 text-darkGray-HC-white pb-[100px]"> Versão {packageInfo.version} </h6> </div> </div> </div> <div className="max-xl:hidden col-span-1 my-3 "> <div className="flex flex-col items-center gap-6 bg-white-HC-dark text-darkGray-HC-white rounded-xl px-10 py-7 mx-20 outline outline-1 outline-ice-HC-white"> <p className="font-bold text-3xl w-full text-center">Tudo certo?</p> <p className="text-base text-darkGray-HC-white tracking-tight text-justify"> Ao terminar de ler sobre a Plataforma MEC RED você pode clicar no botão abaixo para continuar navegando e explorar as ferramentas disponíveis. </p> <Button href="/busca?page=LearningObject" className="bg-turquoise-HC-white mt-2 text-xl text-white-HC-dark-underline py-4 w-full text-center rounded-lg hover:bg-darkTurquoise-HC-dark hover:text-white font-bold normal-case outline outline-1 outline-white" > Continuar </Button> </div> </div> </> ); }