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:
@@ -1,13 +1,35 @@
|
||||
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
||||
import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
|
||||
import { ContentService } from '../../core/content/content.service';
|
||||
import { PagePlaceholder } from '../../shared/page-placeholder/page-placeholder';
|
||||
import { CaseStudy } from '../../shared/case-study/case-study';
|
||||
import { ContentSection } from '../../shared/content-section/content-section';
|
||||
import { PageHero } from '../../shared/page-hero/page-hero';
|
||||
|
||||
const INTRO_SECTION_IDS = new Set(['selection', 'reading']);
|
||||
|
||||
@Component({
|
||||
selector: 'app-projects-page',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
imports: [PagePlaceholder],
|
||||
imports: [PageHero, ContentSection, CaseStudy],
|
||||
templateUrl: './projects.html',
|
||||
styleUrl: '../../shared/page-shell.scss',
|
||||
})
|
||||
export class ProjectsPage {
|
||||
protected readonly page = inject(ContentService).page('projects');
|
||||
private readonly content = inject(ContentService);
|
||||
|
||||
protected readonly page = this.content.page('projects');
|
||||
protected readonly cases = this.content.cases();
|
||||
protected readonly introSections = computed(() =>
|
||||
this.page().sections.filter((section) => INTRO_SECTION_IDS.has(section.id)),
|
||||
);
|
||||
protected readonly caseLabels = computed(() => {
|
||||
const headlines = new Map(
|
||||
this.page().sections.map((section) => [section.id, section.headline] as const),
|
||||
);
|
||||
return {
|
||||
situation: headlines.get('situation') ?? '',
|
||||
approach: headlines.get('approach') ?? '',
|
||||
outcome: headlines.get('outcome') ?? '',
|
||||
stack: headlines.get('stack') ?? '',
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user