fix(storefront): create missing footer payment-icon assets
bootstrap.json's footer.paymentIcons referenced /assets/images/ mir-logo.svg, visa-logo.svg, mastercard-logo.svg - none of that directory's files existed until the RC-02 placeholder fix, and these three were still missing. Site-wide broken-image icons in every page footer. Added neutral labeled-badge SVGs (not reproductions of the actual trademarked logo artwork) at the exact referenced paths, plus an onerror fallback on the footer <img> for defense in depth.
This commit is contained in:
@@ -29,7 +29,7 @@
|
|||||||
<h4>{{ 'footer.payment' | translate }}</h4>
|
<h4>{{ 'footer.payment' | translate }}</h4>
|
||||||
<div class="app-footer__payments">
|
<div class="app-footer__payments">
|
||||||
@for (icon of paymentIcons(); track $index) {
|
@for (icon of paymentIcons(); track $index) {
|
||||||
<img [src]="icon.src" [alt]="icon.alt" loading="lazy" [width]="icon.width" [height]="icon.height" />
|
<img [src]="icon.src" [alt]="icon.alt" loading="lazy" [width]="icon.width" [height]="icon.height" (error)="onImageError($event)" />
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { UiRuntimeFacade } from '../../facades/runtime/ui-runtime.facade';
|
|||||||
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
||||||
import { FooterPaymentIcon, FooterResolvedGroup, FooterResolverService } from '../../core/config/footer-resolver.service';
|
import { FooterPaymentIcon, FooterResolvedGroup, FooterResolverService } from '../../core/config/footer-resolver.service';
|
||||||
import { ConfigService } from '../../core/config/config.service';
|
import { ConfigService } from '../../core/config/config.service';
|
||||||
|
import { onImageError } from '../../utils/item.utils';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-footer',
|
selector: 'app-footer',
|
||||||
@@ -15,6 +16,8 @@ import { ConfigService } from '../../core/config/config.service';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class FooterComponent {
|
export class FooterComponent {
|
||||||
|
readonly onImageError = onImageError;
|
||||||
|
|
||||||
readonly footerGroups = signal<FooterResolvedGroup[]>([]);
|
readonly footerGroups = signal<FooterResolvedGroup[]>([]);
|
||||||
readonly paymentIcons = signal<FooterPaymentIcon[]>([]);
|
readonly paymentIcons = signal<FooterPaymentIcon[]>([]);
|
||||||
readonly copyrightText = signal('');
|
readonly copyrightText = signal('');
|
||||||
|
|||||||
5
src/assets/images/mastercard-logo.svg
Normal file
5
src/assets/images/mastercard-logo.svg
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 28" role="img" aria-label="Mastercard">
|
||||||
|
<rect width="40" height="28" rx="4" fill="#f4f4f4"/>
|
||||||
|
<circle cx="17" cy="14" r="8" fill="#eb001b"/>
|
||||||
|
<circle cx="25" cy="14" r="8" fill="#f79e1b" fill-opacity="0.85"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 276 B |
4
src/assets/images/mir-logo.svg
Normal file
4
src/assets/images/mir-logo.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 28" role="img" aria-label="MIR">
|
||||||
|
<rect width="40" height="28" rx="4" fill="#0f754e"/>
|
||||||
|
<text x="20" y="18" text-anchor="middle" font-family="Arial, sans-serif" font-size="11" font-weight="700" fill="#ffffff">MIR</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 285 B |
4
src/assets/images/visa-logo.svg
Normal file
4
src/assets/images/visa-logo.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 28" role="img" aria-label="Visa">
|
||||||
|
<rect width="40" height="28" rx="4" fill="#1a1f71"/>
|
||||||
|
<text x="20" y="18" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" font-weight="700" font-style="italic" fill="#ffffff">VISA</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 307 B |
Reference in New Issue
Block a user