Files
Portfolio/src/app/shared/cta-row/cta-row.ts
Antonio Ledebuhr d954361724 content: replace scaffolding with bilingual pages and case studies
Ship the final German and English copy, compose every route from shared page primitives, and cover claims, parity and contact briefing in tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 17:34:04 +02:00

22 lines
706 B
TypeScript

import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';
import { RouterLink } from '@angular/router';
import { type CtaCopy } from '../../core/content/content.contracts';
import { NavigationService } from '../../core/navigation/navigation.service';
@Component({
selector: 'app-cta-row',
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [RouterLink],
templateUrl: './cta-row.html',
styleUrl: './cta-row.scss',
})
export class CtaRow {
readonly ctas = input<readonly CtaCopy[]>([]);
private readonly navigation = inject(NavigationService);
protected link(cta: CtaCopy): unknown[] {
return cta.routeId ? this.navigation.link(cta.routeId) : [];
}
}