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:
sdarbinyan
2026-07-26 12:01:26 +04:00
parent 53343fa711
commit 59855b0fab
5 changed files with 17 additions and 1 deletions

View File

@@ -29,7 +29,7 @@
<h4>{{ 'footer.payment' | translate }}</h4>
<div class="app-footer__payments">
@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>

View File

@@ -6,6 +6,7 @@ import { UiRuntimeFacade } from '../../facades/runtime/ui-runtime.facade';
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
import { FooterPaymentIcon, FooterResolvedGroup, FooterResolverService } from '../../core/config/footer-resolver.service';
import { ConfigService } from '../../core/config/config.service';
import { onImageError } from '../../utils/item.utils';
@Component({
selector: 'app-footer',
@@ -15,6 +16,8 @@ import { ConfigService } from '../../core/config/config.service';
changeDetection: ChangeDetectionStrategy.OnPush
})
export class FooterComponent {
readonly onImageError = onImageError;
readonly footerGroups = signal<FooterResolvedGroup[]>([]);
readonly paymentIcons = signal<FooterPaymentIcon[]>([]);
readonly copyrightText = signal('');

View 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

View 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

View 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