+
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
>
diff --git a/src/components/Footer/Footer.scss b/src/components/Footer/Footer.scss
index bd6d2d4c..0081684a 100644
--- a/src/components/Footer/Footer.scss
+++ b/src/components/Footer/Footer.scss
@@ -3,13 +3,49 @@
.Footer {
background-color: $nav-footer-container;
padding: 24px 0px 34px;
+
+ &__Row {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(130px, 400px));
+ gap: 32px;
+ }
+
+ &__Col {
+ &__Subscription {
+ grid-column: 1/3;
+ }
+ }
+
+ @media (min-width: $breakpoint-md) {
+ &__Row {
+ width: 95%;
+ margin: 0 auto;
+ grid-template-columns: repeat(3, minmax(130px, 400px));
+ }
+
+ &__Col {
+ &__Subscription {
+ grid-column: 2/4;
+ }
+ }
+ }
+
+ @media (min-width: $breakpoint-xxl) {
+ &__Row {
+ grid-template-columns: repeat(5, minmax(130px, 250px));
+ justify-content: space-evenly;
+ }
+
+ &__Col {
+ &__Subscription {
+ grid-column: auto;
+ }
+ }
+ }
}
@media screen and (min-width: $breakpoint-xl) {
.Footer {
padding: 30px 50px;
- &__Col {
- padding-left: 20px;
- }
}
-}
+}
\ No newline at end of file
diff --git a/src/components/Footer/Location/location.scss b/src/components/Footer/Location/location.scss
index bfc6a75d..302d080a 100644
--- a/src/components/Footer/Location/location.scss
+++ b/src/components/Footer/Location/location.scss
@@ -1,20 +1,22 @@
@import "../../../styles/global.scss";
-@media screen and (min-width: $breakpoint-xl) {
- .ContactData__Item {
- &__location {
- display: block;
- color: $white;
+.ContactData__Item {
+ margin: 0px !important;
- p {
- font-size: 18px;
- width: 80%;
- }
- .icon-text {
- svg {
- margin-right: 10px;
- }
+ &__location {
+ display: block;
+ color: $white;
+
+ p {
+ font-size: 18px;
+ }
+
+ .icon-text {
+ align-items: center;
+
+ svg {
+ margin-right: 10px;
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/components/Footer/Navegation/navegation.js b/src/components/Footer/Navegation/navegation.js
index 25bfe2b1..6364ba45 100644
--- a/src/components/Footer/Navegation/navegation.js
+++ b/src/components/Footer/Navegation/navegation.js
@@ -35,7 +35,7 @@ export default function Navegation() {
})
return (
-
+
{dataFooter.navegation?.title}
{navegationItems}
diff --git a/src/components/Footer/Sites/Sites.js b/src/components/Footer/Sites/Sites.js
new file mode 100644
index 00000000..3da32981
--- /dev/null
+++ b/src/components/Footer/Sites/Sites.js
@@ -0,0 +1,45 @@
+import React from "react";
+import { useFooter } from '../../../hooks';
+import { getImage, GatsbyImage } from "gatsby-plugin-image";
+import './Sites.scss'
+
+const Sites = () => {
+ const sitesData = useFooter()?.allStrapiLayout?.nodes[0]?.Sites
+
+ const websitesItems = sitesData?.websites?.map(website => {
+ const image = website?.icon?.localFile?.childImageSharp?.gatsbyImageData
+ ? getImage(website?.icon?.localFile?.childImageSharp?.gatsbyImageData)
+ : undefined;
+
+ return (
+
+ )
+ })
+
+ return (
+
+ {sitesData?.title &&
{sitesData.title}
}
+
+ {websitesItems}
+
+
+ )
+}
+
+export default Sites;
\ No newline at end of file
diff --git a/src/components/Footer/Sites/Sites.scss b/src/components/Footer/Sites/Sites.scss
new file mode 100644
index 00000000..d305d813
--- /dev/null
+++ b/src/components/Footer/Sites/Sites.scss
@@ -0,0 +1,35 @@
+@import "../../../styles/global.scss";
+
+.Sites {
+ flex-direction: column;
+
+ h6 {
+ color: $white;
+ margin-bottom: 16px;
+ font-size: 22px;
+
+ @media (min-width: $breakpoint-xxl) {
+ font-size: 20px;
+ }
+ }
+
+ &__items {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ gap: 8px;
+
+ a {
+ color: $white;
+ font-size: 18px;
+ font-weight: $normal;
+ }
+
+ img {
+ width: 30px;
+ height: 15px;
+ object-fit: cover;
+ margin-right: 8px;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/components/Footer/SocialLinks/socialLinks.js b/src/components/Footer/SocialLinks/socialLinks.js
index af944166..c59e526b 100644
--- a/src/components/Footer/SocialLinks/socialLinks.js
+++ b/src/components/Footer/SocialLinks/socialLinks.js
@@ -20,6 +20,7 @@ export default function SocialLinks() {
target="_blank"
className={`btn-social m-2 btn-social-icon btn-${item.icon?.name}`}
rel="noreferrer"
+ aria-label={`Link externo a ${item?.name}`}
>
@@ -33,11 +34,16 @@ export default function SocialLinks() {
{socialMedia}
-
-
-
-
-
+ {logo && (
+
+
+
+
+
+ )}
)
diff --git a/src/components/Footer/Subscription/subscription.scss b/src/components/Footer/Subscription/subscription.scss
index ab8e3bb0..2cd3f187 100644
--- a/src/components/Footer/Subscription/subscription.scss
+++ b/src/components/Footer/Subscription/subscription.scss
@@ -4,6 +4,7 @@
h6 {
font-size: unset;
}
+
&__Item {
form {
@@ -20,33 +21,39 @@
height: 30px;
width: 95%;
}
+
button {
@include primaryBtn;
box-shadow: 0px 2px 10px rgba(63, 107, 232, 0.5);
padding: 5px !important;
width: 30%;
+
a {
color: inherit;
}
}
}
}
+
@media screen and (min-width: $breakpoint-md) {
- .contactData-mobile_button{
+ .contactData-mobile_button {
display: none;
}
+
.ContactData {
&__Item {
.titleSubscription {
display: block;
}
}
+
&__Form {
input {
margin-bottom: 10px;
width: 270px;
height: 40px;
}
+
button {
width: 136px;
height: 48px;
@@ -72,26 +79,30 @@
input {
width: 75%;
}
+
button:not(.contactData-mobile_button) {
width: 70%;
display: none;
}
}
}
+
.titleSubscription {
display: none;
}
- .contactData-mobile_button{
+
+ .contactData-mobile_button {
@include primaryBtn;
width: auto;
max-width: 100%;
- margin-top: 3em;
+
a {
color: inherit;
}
}
- .contactData-container{
+
+ .contactData-container {
display: flex;
justify-content: center;
}
-}
+}
\ No newline at end of file
diff --git a/src/hooks/useFooter.js b/src/hooks/useFooter.js
index 2827a39b..49a5d00b 100644
--- a/src/hooks/useFooter.js
+++ b/src/hooks/useFooter.js
@@ -23,6 +23,23 @@ const useFooter = () => {
}
}
}
+ Sites {
+ title
+ websites {
+ id
+ name
+ url
+ icon {
+ alternativeText
+ url
+ localFile {
+ childImageSharp {
+ gatsbyImageData
+ }
+ }
+ }
+ }
+ }
footer {
contact {
title
diff --git a/src/schema/layoutSchema.js b/src/schema/layoutSchema.js
index c68bbd6a..1f8f85b9 100644
--- a/src/schema/layoutSchema.js
+++ b/src/schema/layoutSchema.js
@@ -483,6 +483,19 @@ type StrapiLayoutNavbarNavButtonLanding_page {
locale: String
): Date
}
+
+ type StrapiLayoutSites {
+ id: Int
+ title: String
+ websites: [StrapiLayoutSitesWebsites]
+ }
+
+ type StrapiLayoutSitesWebsites {
+ id: Int
+ name: String
+ url: String!
+ icon: LocalFile
+ }
type StrapiLayout implements Node {
id: ID!
@@ -512,6 +525,7 @@ type StrapiLayoutNavbarNavButtonLanding_page {
footer: StrapiLayoutFooter
navbar: StrapiLayoutNavbar
menu: [StrapiLayoutMenu]
+ Sites: StrapiLayoutSites
strapiId: Int
}