diff --git a/src/app/components/back-button/back-button.component.ts b/src/app/components/back-button/back-button.component.ts index 9db8137..afd18ea 100644 --- a/src/app/components/back-button/back-button.component.ts +++ b/src/app/components/back-button/back-button.component.ts @@ -1,19 +1,16 @@ import { Component, ChangeDetectionStrategy, inject } from '@angular/core'; import { Location } from '@angular/common'; import { TranslateService } from '../../i18n/translate.service'; -import { UiRuntimeFacade } from '../../facades/runtime/ui-runtime.facade'; @Component({ selector: 'app-back-button', template: ` - @if (!isMarketplaceNovo) { - - } + `, styles: [` .dexar-back-btn { @@ -62,13 +59,8 @@ import { UiRuntimeFacade } from '../../facades/runtime/ui-runtime.facade'; changeDetection: ChangeDetectionStrategy.OnPush }) export class BackButtonComponent { - private readonly uiRuntime = inject(UiRuntimeFacade); i18n = inject(TranslateService); - get isMarketplaceNovo(): boolean { - return this.uiRuntime.isMarketplaceVariant('novo'); - } - constructor(private location: Location) {} goBack(): void { diff --git a/src/app/components/footer/footer.component.html b/src/app/components/footer/footer.component.html index 6219e2f..1f15d27 100644 --- a/src/app/components/footer/footer.component.html +++ b/src/app/components/footer/footer.component.html @@ -1,123 +1,41 @@ - -@if (isMarketplaceNovo) { - - diff --git a/src/app/components/footer/footer.component.scss b/src/app/components/footer/footer.component.scss index 2ccf900..e5f2943 100644 --- a/src/app/components/footer/footer.component.scss +++ b/src/app/components/footer/footer.component.scss @@ -1,560 +1,108 @@ -:host { +:host { display: block; width: 100%; + margin-top: auto; +} + +.app-footer { + background: var(--text-primary, #1e3c38); + color: #fff; +} + +.app-footer__container { + width: 100%; } -// ========== LAVERO FOOTER STYLES ========== -.lavero-footer { - background: linear-gradient(135deg, #1a1208 0%, #2d1a00 100%); - color: white; - margin-top: auto; - padding: 3rem 0 0; - border-top: 3px solid var(--primary-color, #FD7300); -} - -.lavero-footer-container { - max-width: 1400px; - margin: 0 auto; - padding: 0 2rem; -} - -.lavero-footer-top { +.app-footer__top { display: grid; - grid-template-columns: 2fr 1fr 1fr 1fr; - gap: 3rem; - padding-bottom: 3rem; - border-bottom: 1px solid rgba(253, 115, 0, 0.2); -} - -.lavero-footer-brand { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.lavero-footer-logo { - width: 140px; - height: 48px; - - app-logo { - display: block; - width: 100%; - height: 100%; - } -} - -.lavero-footer-col { - h4 { - font-size: 1.1rem; - font-weight: 600; - margin-bottom: 1.25rem; - color: var(--primary-color, #FD7300); - } - - .lavero-footer-desc { - color: rgba(255, 255, 255, 0.65); - line-height: 1.6; - font-size: 0.9rem; - } -} - -.lavero-footer-links { - list-style: none; - padding: 0; - margin: 0; - - li { - margin-bottom: 0.75rem; - - a { - color: rgba(255, 255, 255, 0.7); - text-decoration: none; - font-size: 0.9rem; - transition: color 0.2s, transform 0.2s; - display: inline-block; - - &:hover { - color: var(--primary-color, #FD7300); - transform: translateX(4px); - } - } - } -} - -.lavero-footer-bottom { - display: flex; - justify-content: space-between; - align-items: center; - padding: 1.5rem 0; -} - -.lavero-copyright { - p { - color: rgba(255, 255, 255, 0.5); - font-size: 0.85rem; - margin: 0; - } -} - -.lavero-payment-icons { - display: flex; - gap: 0.75rem; - align-items: center; - - img { - height: 26px; - width: auto; - background: white; - padding: 0.25rem 0.5rem; - border-radius: 5px; - opacity: 0.85; - transition: opacity 0.2s; - - &:hover { - opacity: 1; - } - } -} - -@media (max-width: 968px) { - .lavero-footer-top { - grid-template-columns: 1fr 1fr; - gap: 2rem; - } -} - -@media (max-width: 600px) { - .lavero-footer { - padding: 2rem 0 0; - } - - .lavero-footer-container { - padding: 0 1rem; - } - - .lavero-footer-top { - grid-template-columns: 1fr; - gap: 1.5rem; - padding-bottom: 1.5rem; - } - - .lavero-footer-bottom { - flex-direction: column; - gap: 1rem; - padding: 1rem 0; - text-align: center; - } -} - -.footer { - background-color: #1a1a1a; - color: #ffffff; - margin-top: auto; - padding: 3rem 0 1rem; - border-top: 1px solid #333; - - .footer-container { - max-width: 1200px; - margin: 0 auto; - padding: 0 2rem; - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 2rem; - } - - .footer-section { - h3 { - font-size: 1.1rem; - font-weight: 600; - margin-bottom: 1rem; - color: #ffffff; - } - - ul { - list-style: none; - padding: 0; - margin: 0; - - li { - margin-bottom: 0.5rem; - - a { - color: #b0b0b0; - text-decoration: none; - transition: color 0.2s ease; - font-size: 0.95rem; - - &:hover { - color: #ffffff; - } - } - } - } - - &.payment-systems { - .payment-logos { - display: flex; - gap: 1rem; - align-items: center; - flex-wrap: wrap; - - .payment-logo { - height: 40px; - width: auto; - background: white; - padding: 0.5rem; - border-radius: 4px; - } - } - } - } - - .footer-bottom { - max-width: 1200px; - margin: 0 auto; - padding: 2rem 2rem 0; - margin-top: 2rem; - border-top: 1px solid #333; - text-align: center; - - p { - color: #808080; - font-size: 0.9rem; - margin: 0; - } - } - - @media (max-width: 768px) { - padding: 2rem 0 1rem; - - .footer-container { - grid-template-columns: 1fr; - gap: 1.5rem; - padding: 0 1rem; - } - - .footer-section { - h3 { - font-size: 1rem; - } - } - } -} - -// ========== novo FOOTER STYLES ========== -.novo-footer { - background: var(--text-primary); - color: white; - margin-top: auto; - padding: 3rem 0 0; -} - -.novo-footer-container { - max-width: 1400px; - margin: 0 auto; - padding: 0 2rem; -} - -.novo-footer-top { - display: grid; - grid-template-columns: 2fr 1fr 1fr 1fr; - gap: 3rem; - padding-bottom: 3rem; - border-bottom: 1px solid rgba(255, 255, 255, 0.1); -} - -.novo-footer-col { - h4 { - font-size: 1.1rem; - font-weight: 600; - margin-bottom: 1.25rem; - color: white; - } - - .novo-footer-desc { - color: rgba(255, 255, 255, 0.7); - line-height: 1.6; - font-size: 0.95rem; - } -} - -.novo-footer-links { - list-style: none; - padding: 0; - margin: 0; - - li { - margin-bottom: 0.75rem; - - a { - color: rgba(255, 255, 255, 0.7); - text-decoration: none; - font-size: 0.95rem; - transition: all 0.3s; - display: inline-block; - - &:hover { - color: white; - transform: translateX(4px); - } - } - } -} - -.novo-footer-bottom { - display: flex; - justify-content: space-between; - align-items: center; - padding: 1.5rem 0; -} - -.novo-copyright { - p { - color: rgba(255, 255, 255, 0.6); - font-size: 0.9rem; - margin: 0; - } -} - -.novo-payment-icons { - display: flex; - gap: 0.75rem; - align-items: center; - - img { - height: 28px; - width: auto; - background: white; - padding: 0.25rem 0.5rem; - border-radius: 6px; - opacity: 0.9; - transition: opacity 0.3s; - - &:hover { - opacity: 1; - } - } -} - -@media (max-width: 968px) { - .novo-footer-top { - grid-template-columns: 1fr 1fr; - gap: 2rem; - } -} - -@media (max-width: 600px) { - .novo-footer { - padding: 2rem 0 0; - } - - .novo-footer-container { - padding: 0 1rem; - } - - .novo-footer-top { - grid-template-columns: 1fr; - gap: 2rem; - padding-bottom: 2rem; - } - - .novo-footer-bottom { - flex-direction: column; - gap: 1rem; - padding: 1rem 0; - text-align: center; - } -} - -// ========== DEXAR FOOTER STYLES ========== -.dexar-footer { - margin-top: auto; -} - -.dexar-footer-bg { - background-image: url('/assets/images/footer_bg.webp'); - background-size: cover; - background-position: center; - background-repeat: no-repeat; - position: relative; - overflow: hidden; - - &::before { - content: ''; - position: absolute; - inset: 0; - background: rgba(30, 60, 56, 0.85); - } -} - -.dexar-footer-container { - position: relative; - z-index: 1; - max-width: 1440px; - margin: 0 auto; - padding: 48px 40px 24px; -} - -.dexar-footer-top { - display: flex; - gap: 48px; - padding-bottom: 32px; + grid-template-columns: 2fr repeat(3, minmax(160px, 1fr)); + gap: 1.5rem; + padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.15); } -.dexar-footer-logo { - flex-shrink: 0; - display: flex; - align-items: flex-start; - padding-top: 4px; - - .dexar-footer-logo-desktop { - display: block; - height: 40px; - width: auto; - filter: brightness(0) invert(1); - } - - .dexar-footer-logo-mobile { - display: none; - height: 32px; - width: auto; - filter: brightness(0) invert(1); - } -} - -.dexar-footer-columns { - flex: 1; +.app-footer__brand { display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 32px; + gap: 0.75rem; + + p { + margin: 0; + color: rgba(255, 255, 255, 0.8); + line-height: 1.5; + } } -.dexar-footer-col { +.app-footer__group { h4 { - font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; - font-size: 15px; - font-weight: 600; - color: #ffffff; - margin: 0 0 16px 0; + margin: 0 0 0.75rem; + font-size: 0.95rem; + color: #fff; } ul { list-style: none; - padding: 0; margin: 0; - - li { - margin-bottom: 10px; - - a { - font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; - font-size: 13px; - font-weight: 400; - color: rgba(255, 255, 255, 0.7); - text-decoration: none; - transition: color 0.2s ease; - - &:hover { - color: #ffffff; - } - } - } + padding: 0; + display: grid; + gap: 0.5rem; } -} -.dexar-payment-logos { - display: flex; - gap: 10px; - flex-wrap: wrap; - align-items: center; - - img { - height: 28px; - max-height: 28px; - width: auto; - max-width: 60px; - background: rgba(255, 255, 255, 0.9); - padding: 4px 8px; - border-radius: 4px; - transition: opacity 0.2s; - object-fit: contain; + a { + color: rgba(255, 255, 255, 0.8); + text-decoration: none; &:hover { - opacity: 0.85; + color: #fff; } } } -.dexar-footer-bottom { - padding: 20px 0 0; - text-align: center; +.app-footer__payments { + display: flex; + gap: 0.5rem; + flex-wrap: wrap; + + img { + border-radius: 4px; + background: #fff; + padding: 2px 6px; + } +} + +.app-footer__bottom { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; + padding-top: 1rem; + padding-bottom: 0.5rem; p { - font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; - font-size: 12px; - color: rgba(255, 255, 255, 0.5); margin: 0; + color: rgba(255, 255, 255, 0.7); + font-size: 0.85rem; + } + + a { + color: rgba(255, 255, 255, 0.85); + text-decoration: none; + font-size: 0.85rem; } } -// Responsive -@media (max-width: 992px) { - .dexar-footer-container { - padding: 40px 32px 20px; +@media (max-width: 960px) { + .app-footer__top { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (max-width: 640px) { + .app-footer__top { + grid-template-columns: 1fr; } - .dexar-footer-top { + .app-footer__bottom { flex-direction: column; - gap: 32px; - } - - .dexar-footer-columns { - grid-template-columns: repeat(2, 1fr); - } -} - -@media (max-width: 768px) { - .dexar-footer-bg { - background-image: url('/assets/images/footer_bg_mobile.webp'); - } - - .dexar-footer-container { - padding: 32px 20px 16px; - } - - .dexar-footer-logo { - .dexar-footer-logo-desktop { - display: none; - } - - .dexar-footer-logo-mobile { - display: block; - } - } - - .dexar-footer-columns { - grid-template-columns: repeat(2, 1fr); - gap: 24px; - } - - .dexar-footer-col h4 { - font-size: 14px; - margin-bottom: 12px; - } - - .dexar-footer-col ul li a { - font-size: 12px; - } -} - -@media (max-width: 480px) { - .dexar-footer-container { - padding: 24px 16px 12px; - } - - .dexar-footer-columns { - grid-template-columns: repeat(2, 1fr); - gap: 16px; + align-items: flex-start; } } diff --git a/src/app/components/footer/footer.component.ts b/src/app/components/footer/footer.component.ts index 8ed4238..26a6f2d 100644 --- a/src/app/components/footer/footer.component.ts +++ b/src/app/components/footer/footer.component.ts @@ -58,14 +58,6 @@ export class FooterComponent { return this.uiRuntime.contactEmail(); } - get isMarketplaceNovo(): boolean { - return this.uiRuntime.isMarketplaceVariant('novo'); - } - - get isMarketplaceLavero(): boolean { - return this.uiRuntime.isMarketplaceVariant('lavero'); - } - private resolveFooterGroups(bootstrap: BootstrapConfig): FooterResolvedGroup[] { const footer = bootstrap.navigation?.footer ?? []; const lang = this.languageService.currentLanguage(); diff --git a/src/app/components/header/header.component.html b/src/app/components/header/header.component.html index 796a153..07c1db5 100644 --- a/src/app/components/header/header.component.html +++ b/src/app/components/header/header.component.html @@ -1,60 +1,3 @@ - -@if (isMarketplaceNovo) { -
-
- - - - - -
-
-} @else {
@@ -171,4 +114,3 @@
-} diff --git a/src/app/components/header/header.component.ts b/src/app/components/header/header.component.ts index 2919f68..ae9c30e 100644 --- a/src/app/components/header/header.component.ts +++ b/src/app/components/header/header.component.ts @@ -39,10 +39,6 @@ export class HeaderComponent { return this.uiRuntime.logoUrl(); } - get isMarketplaceNovo(): boolean { - return this.uiRuntime.isMarketplaceVariant('novo'); - } - get homeUrl(): string { return `/${this.langService.currentLanguage()}`; } diff --git a/src/app/components/items-carousel/items-carousel.component.html b/src/app/components/items-carousel/items-carousel.component.html index 7a57445..b5cd63c 100644 --- a/src/app/components/items-carousel/items-carousel.component.html +++ b/src/app/components/items-carousel/items-carousel.component.html @@ -1,4 +1,4 @@ -