diff --git a/frontend/coverage/lcov-report/src/article-root.jsx.html b/frontend/coverage/lcov-report/src/article-root.jsx.html new file mode 100644 index 00000000..3789b1e1 --- /dev/null +++ b/frontend/coverage/lcov-report/src/article-root.jsx.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/article-root.jsx + + + + + + + + + +
+
+

All files / src article-root.jsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react'
+import { Outlet } from 'react-router-dom'
+ 
+export default function ArticleRoot() {
+  return (
+    <>
+ 
+      <Outlet />
+    </>
+  )
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/components/carrosel/index.html b/frontend/coverage/lcov-report/src/components/carrosel/index.html new file mode 100644 index 00000000..dd167e91 --- /dev/null +++ b/frontend/coverage/lcov-report/src/components/carrosel/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/components/carrosel + + + + + + + + + +
+
+

All files src/components/carrosel

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.jsx +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/components/carrosel/index.jsx.html b/frontend/coverage/lcov-report/src/components/carrosel/index.jsx.html new file mode 100644 index 00000000..cb99554c --- /dev/null +++ b/frontend/coverage/lcov-report/src/components/carrosel/index.jsx.html @@ -0,0 +1,94 @@ + + + + + + Code coverage report for src/components/carrosel/index.jsx + + + + + + + + + +
+
+

All files / src/components/carrosel index.jsx

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4  +  +  + 
import React from 'react';
+import style from '../carrosel/style.module.css'
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/components/sidebar-responsive/index.html b/frontend/coverage/lcov-report/src/components/sidebar-responsive/index.html new file mode 100644 index 00000000..259efd98 --- /dev/null +++ b/frontend/coverage/lcov-report/src/components/sidebar-responsive/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/components/sidebar-responsive + + + + + + + + + +
+
+

All files src/components/sidebar-responsive

+
+ +
+ 9.09% + Statements + 1/11 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 9.09% + Functions + 1/11 +
+ + +
+ 16.66% + Lines + 1/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.jsx +
+
9.09%1/1150%1/29.09%1/1116.66%1/6
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/components/sidebar-responsive/index.jsx.html b/frontend/coverage/lcov-report/src/components/sidebar-responsive/index.jsx.html new file mode 100644 index 00000000..56f41ec7 --- /dev/null +++ b/frontend/coverage/lcov-report/src/components/sidebar-responsive/index.jsx.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for src/components/sidebar-responsive/index.jsx + + + + + + + + + +
+
+

All files / src/components/sidebar-responsive index.jsx

+
+ +
+ 9.09% + Statements + 1/11 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 9.09% + Functions + 1/11 +
+ + +
+ 16.66% + Lines + 1/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37  +  +  +  +  +19x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import styles from './style.module.css'
+import { Link } from 'react-router-dom';
+ 
+export default function SidebarResponsive({showSidebar, setShowSidebar}) {
+  return (
+    <section style={{display: showSidebar ? 'flex' : 'none'}}>
+      <div className={styles.sidebarContainer} onClick={() => setShowSidebar((prev) => !prev)}>
+      </div>
+      <div className={styles.sidebar}>
+        <ul>
+          <li>
+            <a href="/licitacoes" onClick={() => setShowSidebar((prev) => !prev)}>
+              Licitações
+            </a>
+          </li>
+          <li>
+            <a href="/artigos" onClick={() => setShowSidebar((prev) => !prev)}>
+              Conheça o Projeto
+            </a>
+          </li>
+          <li>
+            <a href="/sobrenos" onClick={() => setShowSidebar((prev) => !prev)}>
+              Sobre Nós
+            </a>
+          </li>
+          <li>
+            <a href="/graficos" onClick={() => setShowSidebar((prev) => !prev)}>
+              Gráficos
+            </a>
+          </li>
+        </ul>
+      </div>
+    </section>
+  )
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/pages/about-licitaBSB/index.html b/frontend/coverage/lcov-report/src/pages/about-licitaBSB/index.html new file mode 100644 index 00000000..6decd61b --- /dev/null +++ b/frontend/coverage/lcov-report/src/pages/about-licitaBSB/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/pages/about-licitaBSB + + + + + + + + + +
+
+

All files src/pages/about-licitaBSB

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.jsx +
+
100%1/1100%0/0100%1/1100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/pages/about-licitaBSB/index.jsx.html b/frontend/coverage/lcov-report/src/pages/about-licitaBSB/index.jsx.html new file mode 100644 index 00000000..a6238d50 --- /dev/null +++ b/frontend/coverage/lcov-report/src/pages/about-licitaBSB/index.jsx.html @@ -0,0 +1,463 @@ + + + + + + Code coverage report for src/pages/about-licitaBSB/index.jsx + + + + + + + + + +
+
+

All files / src/pages/about-licitaBSB index.jsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import style from './style.module.css';
+import image from '../../../assets/articles/logo-licita.jpg';
+ 
+export default function AboutLicitaBSB() {
+  return (
+    <main className={style.mainContext}>
+      <div data-testid="main-container-text" className={style.cardAboutContext}>
+        <span className={style.paragraph1Context}>
+          <div>
+            <h1 className={style.cardAboutTitle}>
+              Licita BSB: Facilitando o Acesso às Licitações em Brasília
+            </h1>
+            <p className={style.cardAboutTextP}>
+              No mundo atual, a transparência e o acesso à informação são mais
+              cruciais do que nunca. Nesse contexto, o *Licita BSB* se destaca
+              como uma ferramenta essencial para a gestão e acompanhamento das
+              licitações em Brasília. O projeto visa proporcionar um acesso
+              descomplicado e eficiente às informações sobre processos
+              licitatórios, promovendo maior clareza e participação cidadã.
+            </p>
+          </div>
+        </span>
+ 
+        <span className={style.imageContext}>
+          <div className={style.divImageContext}>
+            <h2 className={style.cardAboutSubtitle}>O Que é o Licita BSB?</h2>
+            <p className={style.cardAboutTextP}>
+              <br />
+              O Licita BSB é um portal online inovador que centraliza as
+              licitações realizadas em Brasília, oferecendo uma plataforma onde
+              qualquer pessoa pode acessar informações detalhadas sobre essas
+              oportunidades. A ideia é simplificar o acesso a dados
+              frequentemente dispersos e difíceis de encontrar, permitindo que
+              tanto empresas quanto cidadãos interessados possam encontrar
+              facilmente os detalhes das licitações em um único lugar.
+              <br />
+              <br />
+              Com uma interface amigável e fácil de usar, o portal permite que
+              os usuários filtrem e busquem informações específicas, tornando o
+              processo de consulta muito mais ágil e eficiente. A plataforma é
+              ideal para empresas que desejam acompanhar oportunidades de
+              negócios e para cidadãos que buscam entender melhor como os
+              recursos públicos estão sendo alocados e administrados.
+            </p>
+          </div>
+          <img className={style.imagem1} src={image} />
+        </span>
+ 
+        <span>
+          <h2 className={style.cardAboutSubtitle}>
+            O Impacto da Transparência
+          </h2>
+          <p className={style.cardAboutTextP}>
+            <br />A transparência é um dos pilares fundamentais da administração
+            pública e, com o Licita BSB, esse princípio ganha uma nova dimensão.
+            Ao disponibilizar as licitações de forma clara e acessível, o
+            projeto não só facilita o acompanhamento dos processos, mas também
+            fortalece a confiança pública na gestão governamental. Cidadãos
+            informados têm mais capacidade de fiscalizar e participar ativamente
+            dos processos que afetam a sua comunidade.
+          </p>
+        </span>
+ 
+        <span>
+          <h2 className={style.cardAboutSubtitle}>
+            A Tecnologia a Favor da Comunicação
+          </h2>
+          <p className={style.cardAboutTextP}>
+            <br />
+            Para complementar o portal, o Licita BSB também se destaca pelo uso
+            de tecnologia para melhorar a comunicação. Através de um bot
+            integrado à rede social X (antigo Twitter), o projeto garante que as
+            informações sobre as licitações mais recentes sejam compartilhadas
+            automaticamente. Esse bot, acessível pelo{' '}
+            <a target="_blank" href="https://x.com/LicitaBSB">
+              perfil @LicitaBSB
+            </a>
+            , proporciona uma maneira prática e imediata de receber atualizações
+            sobre as novas oportunidades e processos em andamento.
+            <br />
+            <br />
+            Essa abordagem não só amplia o alcance das informações, como também
+            se adapta aos hábitos de consumo de notícias e atualizações dos
+            usuários modernos. A combinação do portal com o bot social cria um
+            ecossistema de informação acessível e eficiente, promovendo uma
+            maior participação e engajamento da comunidade.
+          </p>
+        </span>
+ 
+        <span>
+          <h2 className={style.cardAboutSubtitle}>
+            Um Projeto Acadêmico com Repercussão Social
+          </h2>
+          <p className={style.cardAboutTextP}>
+            <br />O Licita BSB foi desenvolvido como parte da disciplina de
+            Métodos de Desenvolvimento de Software da Universidade de Brasília,
+            no primeiro semestre de 2024. O projeto não apenas demonstra a
+            capacidade técnica dos estudantes envolvidos, mas também ilustra a
+            aplicação prática dos conceitos aprendidos em sala de aula para
+            resolver problemas reais e contribuir para a sociedade.
+          </p>
+        </span>
+ 
+        <span>
+          <h2 className={style.cardAboutSubtitle}>Conclusão</h2>
+          <p className={style.cardAboutTextP}>
+            <br />O Licita BSB é mais do que uma plataforma de acesso a
+            licitações; é uma ferramenta poderosa para a transparência e a
+            participação cidadã. Com um portal intuitivo e um bot eficiente no
+            Twitter, o projeto oferece uma solução moderna para a disseminação
+            de informações públicas, promovendo uma gestão mais transparente e
+            acessível. Visite o{' '}
+            <a target="_blank" href="https://licitabsb.netlify.app">
+              portal Licita BSB
+            </a>{' '}
+            e acompanhe as atualizações através do{' '}
+            <a target="_blank" href="https://x.com/LicitaBSB">
+              bot no X
+            </a>{' '}
+            para ficar sempre informado sobre as licitações em Brasília.
+          </p>
+        </span>
+      </div>
+    </main>
+  );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/pages/articles/article-card/index.html b/frontend/coverage/lcov-report/src/pages/articles/article-card/index.html new file mode 100644 index 00000000..f672b858 --- /dev/null +++ b/frontend/coverage/lcov-report/src/pages/articles/article-card/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/pages/articles/article-card + + + + + + + + + +
+
+

All files src/pages/articles/article-card

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.jsx +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/pages/articles/article-card/index.jsx.html b/frontend/coverage/lcov-report/src/pages/articles/article-card/index.jsx.html new file mode 100644 index 00000000..9ca2ab15 --- /dev/null +++ b/frontend/coverage/lcov-report/src/pages/articles/article-card/index.jsx.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/pages/articles/article-card/index.jsx + + + + + + + + + +
+
+

All files / src/pages/articles/article-card index.jsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import styles from "./style.module.css"
+import { Link } from 'react-router-dom';
+ 
+ 
+export default function ArticleCard({img, title, text, path}) {
+  return (
+    <div className={styles.cardWrapper}>
+      <img
+        src={img}
+        className={styles.articleImage}
+      />
+      <div className={styles.articleText}>
+        <h4 className={styles.articleTitle}>{title}</h4>
+        <p>{text}</p>
+        <Link to={path}>Continue lendo...</Link>
+      </div>
+    </div>
+  )
+}
+ 
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/pages/articles/index.html b/frontend/coverage/lcov-report/src/pages/articles/index.html new file mode 100644 index 00000000..483e120e --- /dev/null +++ b/frontend/coverage/lcov-report/src/pages/articles/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/pages/articles + + + + + + + + + +
+
+

All files src/pages/articles

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.jsx +
+
0%0/1100%0/00%0/10%0/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/pages/articles/index.jsx.html b/frontend/coverage/lcov-report/src/pages/articles/index.jsx.html new file mode 100644 index 00000000..e2032732 --- /dev/null +++ b/frontend/coverage/lcov-report/src/pages/articles/index.jsx.html @@ -0,0 +1,259 @@ + + + + + + Code coverage report for src/pages/articles/index.jsx + + + + + + + + + +
+
+

All files / src/pages/articles index.jsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import ArticleCard from './article-card';
+ 
+import botImg from '../../../assets/articles/imagem-bot.png';
+import licitImg from '../../../assets/articles/imagem-licitacao.png';
+import dispensaImg from '../../../assets/articles/imagem-dispensa.png';
+import projetoImage from '../../../assets/articles/logo-licita.jpg';
+ 
+import styles from "./style.module.css"
+ 
+export default function Articles() {
+  return (
+    <main>
+      <h3 className={styles.title}>Veja um pouco mais sobre o nosso projeto:</h3>
+      <section className={styles.articlesWrapper}>
+        <ArticleCard
+          img={projetoImage}
+          title="Licita BSB: Facilitando o Acesso às Licitações em Brasília"
+          text="No mundo atual, a transparência e o acesso à informação são mais
+          cruciais do que nunca. Nesse contexto, o *Licita BSB* se destaca
+          como uma ferramenta essencial para a gestão e acompanhamento das
+          licitações em Brasília. O projeto visa proporcionar um acesso
+          descomplicado e eficiente às informações sobre processos
+          licitatórios, promovendo maior clareza e participação cidadã."
+          path="sobrelicitabsb"
+        />
+        <ArticleCard
+          img={botImg}
+          title="Sobre o Bot: Automatização de Postagens na Rede Social X (antigo Twitter)"
+          text="Um 'bot de Twitter' é um software automatizado que interage com a plataforma X (Twitter). Esses bots podem realizar diversas funções automaticamente, como: Postar tweets, Retweetar, Seguir contas, Responder a tweets e Enviar mensagens diretas."
+          path="sobrebot"
+        />
+        <ArticleCard
+          img={licitImg}
+          title="Licitações: Conceito e Termos Relevantes"
+          text="A licitação é um procedimento administrativo formal utilizado por
+          órgãos públicos para a contratação de serviços, aquisição de bens ou
+          execução de obras. Esse processo visa garantir a igualdade de
+          condições entre os concorrentes e promover a transparência nas
+          contratações públicas, assegurando que a proposta mais vantajosa seja
+          escolhida."
+          path="sobrelicitacao"
+        />
+        <ArticleCard
+          img={dispensaImg}
+          title="Dispensa de Licitação: Entendendo os Procedimentos e as Situações"
+          text="A licitação é um processo administrativo formal que visa garantir a
+          isonomia e a melhor proposta para a administração pública na
+          contratação de bens e serviços. No entanto, há situações específicas
+          previstas na legislação brasileira em que a realização do processo
+          licitatório pode ser dispensada. Esses casos são conhecidos como
+          'dispensa de licitação'."
+          path="sobredispensadelicitacao"
+        />
+      </section>
+    </main>
+  )
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/frontend/coverage/lcov-report/src/root.jsx.html b/frontend/coverage/lcov-report/src/root.jsx.html new file mode 100644 index 00000000..377e3de1 --- /dev/null +++ b/frontend/coverage/lcov-report/src/root.jsx.html @@ -0,0 +1,127 @@ + + + + + + Code coverage report for src/root.jsx + + + + + + + + + +
+
+

All files / src root.jsx

+
+ +
+ 0% + Statements + 0/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react'
+import { Outlet } from 'react-router-dom'
+import Header from './components/header'
+import Footer from './components/footer'
+ 
+export default function Root() {
+  return (
+    <>
+      <Header />
+      <Outlet />
+      <Footer />
+    </>
+  )
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file