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>
This commit is contained in:
21
src/app/shared/case-study/case-study.ts
Normal file
21
src/app/shared/case-study/case-study.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
||||
import { type CaseStudyCopy } from '../../core/content/content.contracts';
|
||||
import { MetricList } from '../metric-list/metric-list';
|
||||
|
||||
@Component({
|
||||
selector: 'app-case-study',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
imports: [MetricList],
|
||||
templateUrl: './case-study.html',
|
||||
styleUrl: './case-study.scss',
|
||||
})
|
||||
export class CaseStudy {
|
||||
readonly caseStudy = input.required<CaseStudyCopy>();
|
||||
readonly situationLabel = input.required<string>();
|
||||
readonly approachLabel = input.required<string>();
|
||||
readonly outcomeLabel = input.required<string>();
|
||||
readonly stackLabel = input.required<string>();
|
||||
|
||||
protected readonly headingId = computed(() => `case-heading-${this.caseStudy().id}`);
|
||||
protected readonly metricsLabelId = computed(() => `case-metrics-${this.caseStudy().id}`);
|
||||
}
|
||||
Reference in New Issue
Block a user