feat: enhance footer layout for improved responsiveness and structure
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<footer class="store-layout__footer mt-auto text-light">
|
<footer class="store-layout__footer mt-auto text-light">
|
||||||
<div class="container-xl px-3 px-md-4 py-4 py-md-5">
|
<div class="container-xl px-3 px-md-4 py-4 py-md-5 store-layout__footer-content">
|
||||||
<div class="row g-4">
|
<div class="row g-4 store-layout__footer-grid">
|
||||||
<div class="col-12">
|
<div class="col-12 store-layout__brand-column">
|
||||||
<div
|
<div
|
||||||
class="store-layout__brand-slot d-inline-flex align-items-center gap-3"
|
class="store-layout__brand-slot d-inline-flex align-items-center gap-3"
|
||||||
data-testid="store-footer-brand-slot"
|
data-testid="store-footer-brand-slot"
|
||||||
@@ -17,30 +17,29 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12 col-md-6 col-xl-5 d-grid gap-3 align-content-start">
|
<div class="col-12 col-md-6 col-xl-5 d-grid gap-3 align-content-start store-layout__contact">
|
||||||
<div class="d-grid gap-2">
|
<div class="d-grid gap-2 store-layout__contact-details">
|
||||||
<div class="d-flex align-items-center gap-2 ">
|
<div class="d-flex align-items-center gap-2">
|
||||||
<i class="fa-solid fa-location-dot" aria-hidden="true"></i>
|
<i class="fa-solid fa-location-dot" aria-hidden="true"></i>
|
||||||
<span>Av. San Lorenzo 1542, Rosario</span>
|
<span>Av. San Lorenzo 1542, Rosario</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex align-items-center gap-2 ">
|
<div class="d-flex align-items-center gap-2">
|
||||||
<i class="fa-solid fa-phone" aria-hidden="true"></i>
|
<i class="fa-solid fa-phone" aria-hidden="true"></i>
|
||||||
<span>54 9 (0341) 6658247</span>
|
<span>54 9 (0341) 6658247</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="mb-0 small store-layout__muted-text">Copyright © {{ currentYear }} - {{ storeName || 'Sonder' }}</p>
|
<p class="mb-0 small store-layout__muted-text store-layout__copyright">
|
||||||
|
Copyright © {{ currentYear }} - {{ storeName || 'Sonder' }}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@for (section of footerSections; track section.heading) {
|
@for (section of footerSections; track section.heading) {
|
||||||
<div class="col-12 col-md-6 col-xl-2 d-grid align-content-start">
|
<div class="col-12 col-md-6 col-xl-2 d-grid align-content-start store-layout__links-column">
|
||||||
<div class="d-grid gap-2">
|
<div class="d-grid gap-2">
|
||||||
@for (link of section.links; track link.label) {
|
@for (link of section.links; track link.label) {
|
||||||
@if (link.routerLink) {
|
@if (link.routerLink) {
|
||||||
<a
|
<a class="store-layout__footer-link" [routerLink]="link.routerLink">
|
||||||
class="store-layout__footer-link"
|
|
||||||
[routerLink]="link.routerLink"
|
|
||||||
>
|
|
||||||
{{ link.label }}
|
{{ link.label }}
|
||||||
</a>
|
</a>
|
||||||
} @else if (link.action === 'logout') {
|
} @else if (link.action === 'logout') {
|
||||||
@@ -59,8 +58,10 @@
|
|||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
<div class="col-12 col-md-6 col-xl-3 d-grid align-content-start">
|
<div class="store-layout__mobile-divider" aria-hidden="true"></div>
|
||||||
<div class="d-flex align-items-center gap-3">
|
|
||||||
|
<div class="col-12 col-md-6 col-xl-3 d-grid align-content-start store-layout__social-column">
|
||||||
|
<div class="d-flex align-items-center gap-3 store-layout__social-list">
|
||||||
@for (social of socialMedia; track social.code) {
|
@for (social of socialMedia; track social.code) {
|
||||||
<app-social-media
|
<app-social-media
|
||||||
class="text-white"
|
class="text-white"
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
background-color: var(--tenant-footer-bg);
|
background-color: var(--tenant-footer-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.store-layout__mobile-divider {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.store-layout__brand-slot {
|
.store-layout__brand-slot {
|
||||||
width: min(100%, 12rem);
|
width: min(100%, 12rem);
|
||||||
min-width: 10rem;
|
min-width: 10rem;
|
||||||
@@ -92,11 +96,98 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 767.98px) {
|
@media (max-width: 767.98px) {
|
||||||
|
.store-layout__footer-content {
|
||||||
|
padding: 1.45rem 2.5rem 1.8rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__footer-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
gap: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__footer-grid > * {
|
||||||
|
margin-top: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__links-column {
|
||||||
|
order: 1;
|
||||||
|
width: auto;
|
||||||
|
padding-bottom: 1.65rem;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
line-height: 1.25;
|
||||||
|
|
||||||
|
&:nth-of-type(even) {
|
||||||
|
padding-left: 0.65rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
> div {
|
||||||
|
gap: 0.5rem !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__mobile-divider {
|
||||||
|
display: block;
|
||||||
|
order: 2;
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
width: 100vw;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__brand-column,
|
||||||
|
.store-layout__social-column {
|
||||||
|
order: 3;
|
||||||
|
width: auto;
|
||||||
|
padding-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
.store-layout__brand-slot {
|
.store-layout__brand-slot {
|
||||||
|
width: min(100%, 7.75rem);
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.store-layout__brand-logo {
|
||||||
|
max-height: 2.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__brand-logo-shell {
|
||||||
|
width: min(100%, 7.75rem);
|
||||||
|
height: 2.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.store-layout__brand-text {
|
.store-layout__brand-text {
|
||||||
font-size: 1.45rem;
|
font-size: 1.45rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.store-layout__social-column {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__social-list {
|
||||||
|
justify-content: flex-end;
|
||||||
|
gap: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__contact {
|
||||||
|
order: 4;
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
width: auto;
|
||||||
|
gap: 1.25rem !important;
|
||||||
|
padding-top: 0.9rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__contact-details {
|
||||||
|
justify-items: center;
|
||||||
|
gap: 0.4rem !important;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.store-layout__copyright {
|
||||||
|
font-size: 0.6rem;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user