+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/css/aboutus.scss b/assets/css/aboutus.scss index 2c1a6237..06e3a877 100644 --- a/assets/css/aboutus.scss +++ b/assets/css/aboutus.scss @@ -6,22 +6,23 @@ } } -.lighter-banner { +.lighter-banner{ display: flex; flex-direction: column; text-align: center; justify-content: center; gap: 20px; height: 260px; + width: 100vw; margin-bottom: 20px; background: #0064c8b0; background-blend-mode: multiply; .banner-img { - z-index: -1; - position: absolute; - width: 100vw; - height: 260px; + z-index: -1; + position: absolute; + width: 100vw; + height: 260px; } } @@ -221,7 +222,7 @@ } img { - order: 2; + order: 2; width: 100%; } diff --git a/assets/css/app.scss b/assets/css/app.scss index b9818372..5ed5c542 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -178,12 +178,17 @@ footer { @import "./noticias.scss"; @import "./cooperativas.scss"; @import "./sedes.scss"; +@import "./pgtr.scss"; +@import "./pgtr.scss"; + @import "./agenda.scss"; @import "./contact.scss"; @import "./article.scss"; @import "./boletins.scss"; @import "./noticias.scss"; @import "./cards.scss"; +@import "./article.scss"; +@import "./boletins.scss"; // Com autenticação @import "./pages/app/researcher/profile.scss"; @@ -193,4 +198,4 @@ footer { @import "./pages/app/researcher/pesquisador"; // Páginas de Erros -@import "./errors/404.scss"; \ No newline at end of file +@import "./errors/404.scss"; diff --git a/assets/css/landing.scss b/assets/css/landing.scss index e6fa9391..99f1f610 100644 --- a/assets/css/landing.scss +++ b/assets/css/landing.scss @@ -422,6 +422,8 @@ display: flex; flex-direction: column; align-items: center; + width: 100%; + width: 100%; .publications-main-text { margin: 5rem 30rem; @@ -632,12 +634,15 @@ justify-content: center; border-radius: 50%; overflow: hidden; + overflow: hidden; width: 3.75rem; height: 3.75rem; img { width: 100%; object-fit: cover; + width: 100%; + object-fit: cover; } } @@ -688,3 +693,223 @@ width: 1360px; } } + +@media (min-width: 530px) and (max-width: 770px){ + .links-landing { + @apply flex flex-col justify-center items-center ; + width: 100%; + + .links-item { + @apply flex flex-col justify-start items-start m-8; + width: 60%; + height: 16rem; + border-radius: 8px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(16, 16, 16, 0) 0%, #101010 100%); + + a { + @apply flex flex-col mt-auto; + } + + img { + border-radius: 8px; + width: inherit; + height: inherit; + @apply absolute; + z-index: -10; + } + + h3 { + padding-left: 1rem; + } + + p { + text-wrap: wrap; + margin-top: 0.5rem; + padding: 0 1rem 1.5rem 1rem; + } + + button { + width: 100%; + padding: 0 1rem 1.5rem 0; + background-color: transparent; + + p { + display: inline-flex; + width: inherit; + + &:hover { + text-decoration: underline; + } + } + } + } + } + +} + +@media (min-width: 350px) and (max-width: 529px){ + + + + .links-landing { + @apply flex flex-col justify-center items-center; + width: 100%; + + .links-item { + @apply flex flex-col justify-start items-start m-8; + width: 70%; + height: 13rem; + border-radius: 8px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(16, 16, 16, 0) 0%, #101010 100%); + + a { + @apply flex flex-col mt-auto; + } + + img { + border-radius: 8px; + width: inherit; + height: inherit; + @apply absolute; + z-index: -10; + } + + h3 { + padding-left: 1rem; + } + + p { + text-wrap: wrap; + margin-top: 0.5rem; + padding: 0 1rem 1.5rem 1rem; + } + + button { + width: 100%; + padding: 0 1rem 1.5rem 0; + background-color: transparent; + + p { + display: inline-flex; + width: inherit; + + &:hover { + text-decoration: underline; + } + } + } + } + } +} + +@media (min-width: 530px) and (max-width: 770px){ + .links-landing { + @apply flex flex-col justify-center items-center ; + width: 100%; + + .links-item { + @apply flex flex-col justify-start items-start m-8; + width: 60%; + height: 16rem; + border-radius: 8px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(16, 16, 16, 0) 0%, #101010 100%); + + a { + @apply flex flex-col mt-auto; + } + + img { + border-radius: 8px; + width: inherit; + height: inherit; + @apply absolute; + z-index: -10; + } + + h3 { + padding-left: 1rem; + } + + p { + text-wrap: wrap; + margin-top: 0.5rem; + padding: 0 1rem 1.5rem 1rem; + } + + button { + width: 100%; + padding: 0 1rem 1.5rem 0; + background-color: transparent; + + p { + display: inline-flex; + width: inherit; + + &:hover { + text-decoration: underline; + } + } + } + } + } + +} + +@media (min-width: 350px) and (max-width: 529px){ + + + + .links-landing { + @apply flex flex-col justify-center items-center; + width: 100%; + + .links-item { + @apply flex flex-col justify-start items-start m-8; + width: 70%; + height: 13rem; + border-radius: 8px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(16, 16, 16, 0) 0%, #101010 100%); + + a { + @apply flex flex-col mt-auto; + } + + img { + border-radius: 8px; + width: inherit; + height: inherit; + @apply absolute; + z-index: -10; + } + + h3 { + padding-left: 1rem; + } + + p { + text-wrap: wrap; + margin-top: 0.5rem; + padding: 0 1rem 1.5rem 1rem; + } + + button { + width: 100%; + padding: 0 1rem 1.5rem 0; + background-color: transparent; + + p { + display: inline-flex; + width: inherit; + + &:hover { + text-decoration: underline; + } + } + } + } + } +} diff --git a/assets/css/pgtr.scss b/assets/css/pgtr.scss new file mode 100644 index 00000000..aa473961 --- /dev/null +++ b/assets/css/pgtr.scss @@ -0,0 +1,215 @@ +.get-to-know-pgtr{ + display: flex; + align-items: center; + justify-content: center; + gap: 56px; + padding: 80px 40px; + width: 100vw; + + img { + object-fit: cover; + width: 50%; + max-width: 668px; + max-height: 440px; + border-radius: 16px; + } + + .content-pgtr { + display: flex; + flex-direction: column; + width: 50%; + gap: 20px; + + h2 { + margin-bottom: 20px; + } + } + + @media (min-width: 328px) and (max-width: 1024px) { + flex-direction: column; + align-items: center; + justify-content: center; + padding: 40px 20px; + gap: 28px; + + img { + width: 100vw; + } + + .content-pgtr { + width: 100vw; + padding: 0px 20px; + margin-top: 40px; + } + } +} + +.production-units { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + max-width: 100vw; + + h3 { + margin-bottom: 20px; + } + + .units-accordions { + display: grid; + grid-template-columns: repeat(2, 1fr); + align-items: start; + justify-content: center; + + .accordion { + display: flex; + flex-direction: column; + gap: 20px 40px; + width: 100%; + padding: 60px 40px; + + .accordion-bx { + display: flex; + flex-direction: column; + position: relative; + align-items: center; + margin-bottom: 20px; + background-color: #F3F3F3; + border-radius: 8px; + width: 600px; + min-height: 60px; + justify-content: center; + + .accordion-label { + display: flex; + width: 100%; + align-items: center; + justify-content: center; + cursor: pointer; + + .label-img { + margin-left: 15px; + } + + .text-blue-100 { + width: 24px; + height: 24px; + flex-shrink: 0; + margin-right: 20px; + transition: 0.5s; + } + } + + h4 { + padding: 10px 25px; + } + + .accordion-content { + position: relative; + height: 0; + overflow: hidden; + overflow-y: auto; + } + + } + + .accordion-bx.active { + + .accordion-label { + margin-top: 20px; + + .text-blue-100 { + transform: rotate(180deg); + } + } + .accordion-content { + display: flex; + flex-direction: column; + height: auto; + width: 100%; + gap: 20px; + padding: 10px 25px; + transition: max-height 0.3s ease-out; + + hr { + height: 1px; + border-top-width: 1px; + width: 100%; + color: #E7E7E7; + } + + .content-item { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + padding: 10px; + border-radius: 4px; + gap: 20px; + + .content-title { + font-weight: bold; + } + + h4 { + font-weight: bold; + padding: 0px; + } + + .status-pending { + background-color: #E7E7E7; + color: #404040; + padding: 6px 12px; + border-radius: 4px; + } + + .status-in-progress { + background-color: #00B464; + color: #FFFFFF; + padding: 6px 12px; + border-radius: 4px; + } + + .status-done{ + background-color: #EEB61F; + color: #FFFFFF; + padding: 6px 12px; + border-radius: 4px; + } + + .download-button { + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + padding: 16px 24px; + max-width: 225px; + height: 40px; + border-radius: 4px; + background-color: #0064C8; + cursor: pointer; + + .download-icon { + max-width: 16px; + max-height: 16px; + } + } + } + } + } + } + + @media (min-width: 320px) and (max-width: 1300px) { + grid-template-columns: 1fr; + max-width: 100vw; + + .accordion { + padding: 10px 40px; + + .accordion-bx { + width: auto; + } + } + } + } +} \ No newline at end of file diff --git a/assets/js/accordion.js b/assets/js/accordion.js index f5390eb2..2bfba0a5 100644 --- a/assets/js/accordion.js +++ b/assets/js/accordion.js @@ -1,4 +1,21 @@ const phases = document.querySelectorAll('.phases'); +const units = document.querySelectorAll('.units-accordions'); + +units.forEach(unit => { + const accordions = unit.getElementsByClassName('accordion-bx'); + + for (let i = 0; i < accordions.length; i++) { + const label = accordions[i].querySelector('.accordion-label'); + + label.addEventListener('click', function() { + if (!accordions[i].classList.contains('active')) { + accordions[i].classList.add('active'); + } else { + accordions[i].classList.remove('active'); + } + }); + } +}); phases.forEach(phase => { const accordions = phase.getElementsByClassName('accordion-bx'); @@ -31,4 +48,4 @@ phases.forEach(phase => { } }); } -}); +}); \ No newline at end of file diff --git a/lib/pescarte_web/controllers/pgtrs_controller.ex b/lib/pescarte_web/controllers/pgtrs_controller.ex new file mode 100644 index 00000000..677103da --- /dev/null +++ b/lib/pescarte_web/controllers/pgtrs_controller.ex @@ -0,0 +1,8 @@ +defmodule PescarteWeb.PGTRSController do + use PescarteWeb, :controller + + def show(conn, _params) do + current_path = conn.request_path + render(conn, :show, current_path: current_path, error_message: nil) + end +end diff --git a/lib/pescarte_web/router.ex b/lib/pescarte_web/router.ex index 68dfb3ec..ccbf4fa8 100644 --- a/lib/pescarte_web/router.ex +++ b/lib/pescarte_web/router.ex @@ -39,6 +39,7 @@ defmodule PescarteWeb.Router do get "/censo", CensoController, :show get "/confirmar", TokenController, :confirm get "/noticias", NoticiasController, :show + get "/pgtrs", PGTRSController, :show get "/pgtr", PGTRController, :show get "/sedes", SedesController, :show get "/aplicativos", AplicativosController, :show diff --git a/lib/pescarte_web/templates/agenda_html/show.html.heex b/lib/pescarte_web/templates/agenda_html/show.html.heex index 8c7ef04d..a8098e45 100644 --- a/lib/pescarte_web/templates/agenda_html/show.html.heex +++ b/lib/pescarte_web/templates/agenda_html/show.html.heex @@ -10,7 +10,7 @@