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>
20 lines
710 B
TypeScript
20 lines
710 B
TypeScript
import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
|
|
import { RouterLink } from '@angular/router';
|
|
import { type CaseStudyCopy } from '../../core/content/content.contracts';
|
|
import { NavigationService } from '../../core/navigation/navigation.service';
|
|
|
|
@Component({
|
|
selector: 'app-case-card',
|
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
imports: [RouterLink],
|
|
templateUrl: './case-card.html',
|
|
styleUrl: './case-card.scss',
|
|
})
|
|
export class CaseCard {
|
|
readonly caseStudy = input.required<CaseStudyCopy>();
|
|
|
|
private readonly navigation = inject(NavigationService);
|
|
|
|
protected readonly projectsLink = computed(() => this.navigation.link('projects'));
|
|
}
|