Sprint 8: add widget manifest and data source engine

This commit is contained in:
sdarbinyan
2026-07-05 02:08:15 +04:00
parent 91d9444875
commit c3d1153f0e
20 changed files with 867 additions and 375 deletions

View File

@@ -1,5 +1,7 @@
import { CommonModule } from '@angular/common';
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
import { SectionConfig } from '../../shared/models/config';
import { FooterWidgetData } from '../contracts/widget-data.contract';
export interface FooterNavigationLink {
id: string;
@@ -15,7 +17,7 @@ export interface FooterNavigationLink {
<footer class="footer-nav-widget">
<nav>
<ul>
@for (link of links; track link.id) {
@for (link of data?.links ?? []; track link.id) {
<li>
<button type="button" (click)="onLinkClick(link)">{{ link.label }}</button>
</li>
@@ -34,7 +36,8 @@ export interface FooterNavigationLink {
changeDetection: ChangeDetectionStrategy.OnPush
})
export class FooterNavigationWidgetComponent {
@Input() links: FooterNavigationLink[] = [];
@Input() section: SectionConfig | null = null;
@Input() data: FooterWidgetData | null = null;
@Output() linkSelected = new EventEmitter<FooterNavigationLink>();